使用 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)))))
此解决方案不支持多行错误(如您的第一个示例),但这是一个开始。