emacs elisp after-change-functions 什么都不做

Bru*_*off 3 emacs elisp

我不知道更改后功能不起作用的原因是什么;我会评价:

(defun test-hook (change-beg change-end prev-len)
   (message "changed!"))

(add-hook 'after-change-functions 'test-hook)
Run Code Online (Sandbox Code Playgroud)

然后改变什么也没做。

我正想问,但后来我想通了。仍然想在stackoverflow上留下答案。

Bru*_*off 5

事实证明,有一个名为 的变量inhibit-modification-hooks需要设置为nil,以防它不是:

(setq inhibit-modification-hooks nil)
Run Code Online (Sandbox Code Playgroud)

阅读手册

  • 最大的问题是为什么这个变量有一个非 nil 值开始......目的是让这个值始终为“nil”,除非执行修改钩子本身或诸如“font-lock”之类的包想要更改不应触发修改挂钩的内容。 (3认同)