使用 eval-after-load 时经常犯的错误是忘记引用表单:
(eval-after-load 'dired
(progn
...
...))
(eval-after-load "foo" (let ...))
我怎样才能突出这些错误?也许画这个词
eval-after-load
表格未引用时显示为红色?
最佳答案
我所知道的最直接的方法是添加 font-lock 关键字:
(font-lock-add-keywords 'lisp-mode
'(("(\\(eval-after-load\\)\s+[^\s]+\s+(" 1 'font-lock-warning-face t)
("(\\(setq\\)\s+'" 1 'font-lock-warning-face t)))
要在 lisp-mode 及其所有派生模式中应用这些关键字:
(add-hook 'lisp-mode
(lambda ()
(font-lock-add-keywords nil
'(("(\\(eval-after-load\\)\s+[^\s]+\s+(" 1 'font-lock-warning-face t)
("(\\(setq\\)\s+'" 1 'font-lock-warning-face t)))))
此解决方案不支持跨多行的错误(如您的第一个示例),但这是一个开始。
可在以下位置找到更多信息:
http://www.gnu.org/software/emacs/manual/html_node/elisp/Search_002dbased-Fontification.html#Search_002dbased-Fontification
关于emacs - 突出显示 eval-after-load 的错误使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17436098/