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_69b16e5c63840479270d32f58daea923fe725b90, commit:5e3f74b56ff47b5bcef2526c70f53f749bbd45f6 to check Japanese translation.