我的代码中包含以下代码.emacs:
(dolist (mode '(scheme emacs-lisp lisp clojure))
(add-hook
(intern (concat (symbol-name mode) "-mode-hook"))
(lambda ()
(progn
(run-programming-hook)
(message "%s" (concat (symbol-name mode) "-mode")))
Run Code Online (Sandbox Code Playgroud)
显然,mode当lambda执行时,该变量是无效的.问题是我如何mode以这样的方式评估它不是作为变量进入lambda而是作为该变量中的值进入?换句话说,我希望在运行钩子时打印消息.
Tre*_*son 10
您可以使用的是反引号:
(dolist (mode '(scheme emacs-lisp lisp clojure))
(add-hook
(intern (concat (symbol-name mode) "-mode-hook"))
`(lambda ()
(run-programming-hook)
(message "%s" ,(concat (symbol-name mode) "-mode")))))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
342 次 |
| 最近记录: |