Это потому, что Emacs довольно сложно сказать, что num
во втором выражении является переменной без полного синтаксического анализа буфера.Теоретически, Emacs способен сделать это (см., Например, здесь ), но большинство режимов используют регулярные выражения для выделения ключевых слов.Это подразумевает некоторые ограничения на то, что может быть достигнуто, но часто программисты режима предпочитают его простоту (ну, все относительно).
Вы можете считать это слабостью общего назначения текстРедактор , который Emacs, по сравнению с более специализированными IDE, которые часто выполняют полный анализ для предоставления интеллектуальных сообщений об ошибках, поддерживает гибкий просмотр кода и предлагает быстрые исправления ошибок.
Если вы хотите углубиться в Emacsвыделение синтаксиса, проверьте Font Lock и, в частности, font-lock-Keywords , но имейте в виду, что это сложный вопрос.