只是为了澄清...例如,在此文档中:
钩子是一个Lisp变量,其中包含一个函数列表,在某些明确定义的情况下将调用该函数。(这称为运行挂钩。)列表中的各个功能称为挂钩的挂钩功能。例如,挂钩
kill-emacs-hook
在退出Emacs之前运行。
我认为这是说有一个变量(符号)kill-emacs-hook
,该变量代表一组“挂钩函数”的列表,这些挂钩函数将在kill-emacs-hook
评估时运行,从而执行这些功能。正确?然后
(add-hook 'text-mode-hook 'auto-fill-mode)
除了已存在的内容外,还会添加auto-fill-mode
到该列表text-mode-hook
中。好。现在这个
(defcustom text-mode-hook nil
"Normal hook run when entering Text mode and many related modes."
:type 'hook
:options '(turn-on-auto-fill flyspell-mode)
:group 'wp)
似乎我们正在创建或更改text-mode-hook
。我现在对钩子的性质及其与钩子的关系感到困惑defcustom
。我的逻辑选择是,此代码创建的变量text-mode-hook
是“类型”(不知道elisp中的类型是什么意思)hook
。确实,这是否应该是钩子的最初创建text-mode-hook
?如果是这样,“选项”是怎么回事?是那些所谓的钩子函数,还是其他?