eval-after-load
を呼び出すと、
特定のライブラリをロードする/してあるときに実行するコードを指定できます。
この関数は、ライブラリlibraryをロードする/してあるときに、 ライブラリlibraryのロードの最後にformを評価するように設定する。 libraryをすでにロードしてあると、 この関数はformをただちに評価する。
ライブラリ名libraryは
load
の引数に正確に一致する必要がある。load-path
を探索してインストールするライブラリを探したときに 正しい結果を得るために、libraryにはディレクトリ名を含めないこと。formでエラーが発生してもロード処理をもとに戻さないが、 formの残りは実行しない。
一般に、よく設計されたLispプログラムはこの機能を使うべきではありません。
Lispライブラリを見通しよくモジュール化して扱うには、
(1)ライブラリの(外部から使うことを意図した)変数を調べて設定し、
(2)ライブラリの関数を呼び出すことです。
(1)を行いたければ、すぐにしてかまいません。
ライブラリをロードするまで待つ必要はありません。
(2)を行うには、ライブラリをロードする必要があります
(require
で行うことが好ましい)。
広く使われるプログラムに対する設計基準に合わなくても、
個人のカスタマイズでeval-after-load
を使うのはかまいません。