Next: , Previous: , Up: ASDFがシステムを探す場所を設定する   [Contents][Index]


8.10 ソースレジストリのAPI

次の関数はasdfパッケージからエクスポートされています。

関数: initialize-source-registry &optional (parameter *source-registry-parameter*)

設定を読み込み、すべての内部変数を初期化します。その際、引数を与えることで、環境変数や設定ファイルによる設定を上書きしたり拡張したりすることができます。parameternilの時は設定の上書きは起こりません。S式の時はS式によるDSLが適用されます。文字列の時はシェル向けのDSLが適用されます。パス名の時は対応する設定ファイル・設定ディレクトリから設定が読み込まれます。シンボルの時はfuncallされ、返ったオブジェクトの型に応じて同じ処理が適用されます。

関数: clear-source-registry

ソースレジストリの現在の設定と探索アルゴリズムによるキャッシュをすべて削除します。コアイメージのダンプをする際、そのイメージを別の(ソースレジストリの)設定で復元する予定であれば、その前にこの関数(あるいはclear-configuration)を呼んで、設定を空にしておく必要があるかもしれません。なお、この関数を呼んでも、現在のイメージにロードされているシステム定義は削除されないことに注意してください。消えるのは(まだシステム定義が読み込まれていない)システムを見つける際にどこを探すか、という情報だけです。

関数: ensure-source-registry &optional (parameter *source-registry-parameter*)

ソースレジストリが既にinitialize-source-registryで初期化されたかどうかチェックします。されていない場合はinitialize-source-registryを呼びます。

find-systemが呼ばれた時、(直接呼ばれたにせよ、operateload-systemなどから呼ばれたにせよ)ASDFは(ensure-source-registry nil)を実行します。つまり、find-systemが初めて呼ばれた時に、ソースレジストリは初期化されるわけです。また、設定ファイルを変更したあとは、明示的にinitialize-source-registryで初期化するか、あるいはclear-source-registryclear-configurationでソースレジストリをクリアし、次のfind-systemで初期化が行われるようにする必要があります。