emacs 做了什么来应用主要模式?

What does emacs do to apply a major-mode?

我已经阅读了大部分手册,并且正在慢慢了解制作主要模式等所需的内容。我没有 运行 解释 loop/cycle Emacs 通过应用主模式(甚至次模式)。

例如:我在 go-mode 中键入 if,突然 if 成为语法高亮。我知道只输入普通字母相当于 self-insert-command。那么 emacs 如何对缓冲区中的更改做出反应,除非自插入命令触发和事件或只是更改缓冲区触发和事件?

W.r.t 语法高亮,无论使用哪个命令,都会由缓冲区的任何更改触发。为此,负责使突出显示保持最新的包(通常代表字体锁定的 jit-lock)使用 after-change-functions。请参阅 C-hv after-change-functions RET 并查看 Emacs Lisp 参考中的相应文档手册(可从 "Help" 菜单访问)。