只是为了澄清...例如,在此文档中:
钩子是一个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?如果是这样,“选项”是怎么回事?是那些所谓的钩子函数,还是其他?