使用eval-after-load时经常犯的一个错误是忘记引用表单:
(eval-after-load 'dired
(progn
...
...))
(eval-after-load "foo" (let ...))我如何突出显示这样的错误?也许当表单没有被引用时,将单词eval-after-load涂成红色?
发布于 2013-07-03 13:27:19
据我所知,最直接的方法是添加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模式及其所有派生模式中应用这些关键字,请执行以下操作:
(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。
https://stackoverflow.com/questions/17436098
复制相似问题