Existem algumas outras opções:
elint-defun
, elint-file
E amigos que são incorporados para Emacs. elint procura principalmente variáveis indefinidas, erros de ortografia e chamadas de funções incorretas. Eu achei isso de pouco uso, já que o compilador de bytes hoje em dia também captura a maioria (se não todos) desses erros. Também é dolorosamente lento, pois analisa todas as bibliotecas dependentes e, pior ainda, engasga regularmente com macros. Por exemplo, a aplicação de elint no código que faz uso pesado pcase
fornece uma enorme quantidade de falsos positivos.
- O flycheck-package fornece algumas dicas interessantes além do compilador de bytes e do checkdoc. Os mantenedores do MELPA o utilizam para verificar os pacotes enviados, tanto quanto eu sei, e eu mesmo os uso nos meus pacotes para proteger contra falhas de formatação nos cabeçalhos dos pacotes.
Fora isso, porém, não há nada na mesa para o Emacs Lisp. Em particular, sentimos falta de linters que capturam código unidiomatic, uso incorreto da API, coisas ausentes, etc. Por exemplo, não há nada que lhe diga que você deve substituir as referências ~/.emacs.d
no seu código Elisp por, user-emacs-directory
ou melhor ainda locate-user-emacs-file
, ou avisar sobre defcustom
s com falta :type
ou :group
, etc.