Elispコードの検証/リンティング


8

現在私は使用しています:

(checkdoc)
(byte-compile-file (buffer-file-name))
(package-buffer-info)

Elispコードを検証します。これは私にいくつかの愚かなエラーを取り、それらを解決するのは簡単です。

C-x h C-M-\ C-x C-s M-x vc-diffVCSの下にあるifファイルを介して、意図するコードをチェックできます。

一般的なエラーについてElispコードを検証するには、どの方法を使用すればよいですか?

回答:


6

他にもいくつかのオプションがあります。

  • elint-defunelint-fileビルトインされているのEmacsに、そして友人。elintは主に、未定義の変数、スペルミス、誤った関数呼び出しを探します。今日ではバイトコンパイラーがこれらのエラーのほとんど(すべてではないにしても)をキャッチするため、ほとんど役に立たないことがわかりました。また、すべての依存ライブラリも分析するため、非常に遅くなり、さらに悪いことに、マクロを定期的に窒息させます。たとえば、elintを多用するコードに適用すると、非常にpcase多くの誤検知が発生します。
  • flycheck-packageは、バイトコンパイラとcheckdocを超えたいくつかの素晴らしいリントを提供します。MELPAメンテナーは、私の知る限り、提出されたパッケージをチェックするためにそれを使用します。また、私は自分のパッケージでそれを使用して、パッケージヘッダーのフォーマットの欠陥から保護します。

ただし、それ以外には、Emacs Lispのリンティングテーブルには何もありません。特に、慣用的なコード、誤ったAPIの使用、欠落しているものなどをキャッチするリンターはありません。たとえば~/.emacs.d、Elispコード内の参照をに置き換えuser-emacs-directoryたり、それよりも優れていることを通知したりlocate-user-emacs-file、またはdefcustoms に関する警告を欠落:typeまたは:group、など

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.