前: Unloading, 上: Loading


14.8 ロード時のフック

eval-after-loadを呼び出すと、 特定のライブラリをロードする/してあるときに実行するコードを指定できます。

— 機能: eval-after-load library form

この関数は、ライブラリlibraryをロードする/してあるときに、 ライブラリlibraryのロードの最後にformを評価するように設定する。 libraryをすでにロードしてあると、 この関数はformをただちに評価する。

ライブラリ名libraryloadの引数に正確に一致する必要がある。 load-pathを探索してインストールするライブラリを探したときに 正しい結果を得るために、libraryにはディレクトリ名を含めないこと。

formでエラーが発生してもロード処理をもとに戻さないが、 formの残りは実行しない。

一般に、よく設計されたLispプログラムはこの機能を使うべきではありません。 Lispライブラリを見通しよくモジュール化して扱うには、 (1)ライブラリの(外部から使うことを意図した)変数を調べて設定し、 (2)ライブラリの関数を呼び出すことです。 (1)を行いたければ、すぐにしてかまいません。 ライブラリをロードするまで待つ必要はありません。 (2)を行うには、ライブラリをロードする必要があります (requireで行うことが好ましい)。

広く使われるプログラムに対する設計基準に合わなくても、 個人のカスタマイズでeval-after-loadを使うのはかまいません。

— 変数: after-load-alist

特定のライブラリをロードする/してあるときに評価する式の連想リスト。 各要素はつぎのとおり。

          (filename forms...)
     

関数loadは、eval-after-loadを実現するために after-load-alistを調べる。