コマンド describe-variable および describe-function の補完中、Emacs
は補完対象のプレフィックスに一致する定義を含む可能性のあるファイルの読み込みを試みます。この処理を制御するのが変数 definition-prefixes と help-definition-prefixes です。definition-prefixes
はプレフィックスを対応する読み込み対象ファイルリストにマッピングするハッシュテーブルを保持し、help-definition-prefixes
は同様のマッピングを行うラディックスツリーを保持しています。補完機能を使用し Emacs
がファイルを読み込む際、ファイルを再読み込みする必要がないため、これらの変数からエントリが削除されます。
definition-prefixes のエントリは、loaddefs-generate によって生成される register-definition-prefixes の呼び出しによって追加されます(Autoload
を参照)。ロードする価値のある定義を一切含まないファイル(例えばテストファイルなど)は、ファイルローカル変数として autoload-compute-prefixes に nil を設定する必要があります。
該当するコマンドで補完機能を使い始めると、help-definition-prefixes
のエントリが definition-prefixes
のエントリから追加されます。将来的には、definition-prefixes
を基数木にするため、help-definition-prefixes が削除される可能性があります。