16.5.2 autoloadを使用するケース ¶
本当に必要でなければautoloadコメントを追加しないでください。コードをautoloadすることは、それが常にグローバルに可視になることを意味しています。一度あるアイテムがautoloadされれば、autoload以前の状態(autoload後には明示的なロードなしで通常のように使用できる)に戻るための互換性のある手段はありません。
- autoloadするアイテムとしてもっとも一般的なライブラリーにたいするインタラクティブなエントリーポイント。たとえばPythonコードの編集用のメジャーモードを定義するライブラリーがpython.elなら、
python-mode関数の定義をautoloadすればユーザーは単にM-x
python-modeを使用してライブラリーをロードできる。
- 変数は通常はautoloadする必要はない。例外はライブラリー定義全体をロードしなくても変数自体が有用な場合(これの例としては
find-exec-terminatorのようなものが該当するだろう)。
- ユーザーがセットできるように、ユーザーオプションをautoloadしないこと。
- 別ファイルでのコンパイラー警告を抑制するためにautoloadのコメントを決して追加してはならない。警告の発生元となるファイルでは未定義の変数にたいする警告の抑制には
(defvar
foo)、未定義の関数にたいする警告の抑制にはdeclare-function (コンパイラーへの定義済み関数の指示を参照)を使用するか、あるいは使用する関連ライブラリーをrequireしたり明示的にautoloadの命令文を使用すること。
This page has generated for branch:work/emacs-30_8ac894e2246f25d2a2a97d866b10e6e0b0fede5a, commit:b7b3c5b81a7a4eec61faa3ed3d7c731d52d3987b to check Japanese translation.