我在Emacs中使用flymake来检查用几种语言编写的代码。然而,我看不到在elisp上使用flymake的任何方法。
我知道elint-current-buffer和byte-compile-file,它们都给出了有关未定义变量等的有用警告。奇怪的是,它们并不总是给出相同的错误:例如,(require 'cl)不会发出警告。我也尝试过auto-compile-mode (在MELPA上可用),但它仍然将警告写到一个单独的缓冲区中。
我真的希望我的elisp代码下划线时,我犯了错误,因为我输入。我该怎么做呢?我以前配置过flymake,但那是通过外部程序,而不是Emacs本身。
发布于 2013-04-02 22:42:23
Emacs wiki提供了关于emacs lisp的flymake的this,尽管它看起来不是很完整。
不过,flycheck“开箱即用”支持Emacs Lisp。
发布于 2013-04-03 03:24:59
Erefactor相当不错,可以从wiki和melpa获得:http://www.emacswiki.org/emacs/erefactor.el
我也喜欢在保存后运行checkdoc:
 (defun emagician/run-checkdoc () 
   "run checkdoc on save if it is an elisp file"
   (if (and (eq major-mode 'emacs-lisp-mode)
            (> (length buffer-file-name)
               (length package-user-dir))
            (not (string= (concat package-user-dir "/")
                          (substring buffer-file-name 0 (+ 1 (length package-user-dir))))))
       (checkdoc)))
 (add-hook 'after-save-hook 'emagician/run-checkdoc)发布于 2020-12-30 00:19:33
现在有了内置的flymake的elisp-flymake-byte-compile后端。
要启用add this To config,请执行以下操作:
(add-hook 'emacs-lisp-mode-hook #'flymake-mode)https://stackoverflow.com/questions/15765895
复制相似问题