当我使用以下内容打开源代码文件时,我想根据编程语言运行一个函数.我必须将特定str于语言的foo函数传递给函数.如何在add-hook声明中做到这一点?
(defun foo (str)
(blahblah...))
(add-hook 'prog-mode-hook 'foo)
Run Code Online (Sandbox Code Playgroud)
使用内置apply-partially:
(add-hook 'prog-mode-hook (apply-partially #'foo "spam with eggs"))
Run Code Online (Sandbox Code Playgroud)
这在手册中有所描述(Google首次点击"emacs add-hook"):
(add-hook 'prog-mode-hook (lambda () (foo "foobarbaz")))
Run Code Online (Sandbox Code Playgroud)