init-fileで古い変数を自動的に特定する


8

Emacsの新しいバージョンがリリースされると、通常、一部の変数/コマンド/関数が廃止されます。それらは通常、対応するドキュメントでそのようにマークされています。

turn-on-eldoc-mode別名であるeldoc-modeの中でeldoc.el。[...]

この関数は24.4以降廃止されましたeldoc-mode代わりに使用してください。

init-fileで古い変数を参照していないことを確認したいのですが、手動で全体をチェックすることも避けたいです。

だから私の質問は:init-file内のすべての廃止された変数を自動的に識別する方法はありますか?

回答:


12

ファイルをバイトコンパイルします。

一般に、initファイルをバイトコンパイルしないのが最善ですが、ここでは便利です。バイトコンパイラは、多くの悪い習慣について警告します。その中には、廃止された変数や関数の使用法があります。

  1. 呼び出しM-x byte-compile-fileてinitファイルを渡してください。

  2. その後、生成された.elcファイルを必ず削除してください。


2
好奇心から、initファイルをバイトコンパイルしない理由は何ですか?
ダン

4
@ダン利点はごくわずかです。その間、変更後に再コンパイルを忘れることがあり、変更が何の効果もないのか疑問に思われることがあります。
Malabarba 2014年

4
@Dan:Malabarbaが言ったことに加えて、特定のinitファイルが複数のEmacsバージョンで(しばしば)使用され、それをバイトコンパイルすると、この種の移植性が低下する可能性があります。
2014年

分かりにくい場合に備えて、バイトコンパイルして(警告などを表示するために)削除できます*.elc
2014年

6
そのため、関数の#'代わりに使用する必要'があります。(add-hook 'emacs-lisp-mode-hook #'turn-on-eldoc-mode)コンパイラで何かをコンパイルすると、警告が表示されます。
Malabarba 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.