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