Emacs 为什么addhook允许'hook';空虚?
从C-h f添加挂钩: 根据守则:Emacs 为什么addhook允许'hook';空虚?,emacs,elisp,Emacs,Elisp,从C-h f添加挂钩: 根据守则: (defun add-hook (hook function &optional append local) ... (or (boundp hook) (set hook nil)) (or (default-boundp hook) (set-default hook nil)) ... 这有什么用?我想它是有用的,否则它就不存在了。。。我就是想不出它有什么好用…它允许您在定义钩子变量的包加载之前设置钩子变量。mgalgs:注意,
(defun add-hook (hook function &optional append local)
...
(or (boundp hook) (set hook nil))
(or (default-boundp hook) (set-default hook nil))
...
这有什么用?我想它是有用的,否则它就不存在了。。。我就是想不出它有什么好用…它允许您在定义钩子变量的包加载之前设置钩子变量。mgalgs:注意,正是钩子变量的值被设置为
nil
(即空列表)。所以,只要在变量为空时初始化它就行了。否则,我们将在加载后进行eval
评估,或者必须非常小心地在init文件中进行排序。
(defun add-hook (hook function &optional append local)
...
(or (boundp hook) (set hook nil))
(or (default-boundp hook) (set-default hook nil))
...