asdf2の設定ファイルのメモ
quicklispで 小さいプロジェクトを作成してみようとすると、ASDF2で asdファイルを検索するサーチパスを設定する必要があるらしい。そうなの?
~/quicklisp/local-project/でもいいんじゃないのと思うが、ここにしか置けないのは不自由だし、Zach BeaneがMaking a small Lisp project with quickproject and Quicklispそう書いているので従っておく。
では、ASDF2 の設定ファイルはというと、ASDFマニュアル4.1章 によると、設定ファイルをおくフォルダがこんなに深いところにあって、そこにconfという拡張子のファイルをおくらしい。この方法だと複数ファイルに分割しておける。
~/.config/common-lisp/source-registry.conf.d/
treeで指定すると指定フォルダ以下にある、asdファイル全て(再帰的)が指定になり、
directoryで指定すると、指定フォルダ内のasdファイルだけが指定できる(非再帰的)。
これは、~/lisp/以下全てをサーチパスに追加する設定
(:tree (:home "lisp" ))
こっちは ~/lisp/foo/だけつまり、fooプロジェクトだけサーチパスに追加する設定
(:directory (:home "lisp/foo/" ))
設定ファイルを書いたら、次に検索したときに自動的に反映されるとある。
すぐに設定したいときは、lispインタプリタから下を実行して登録する。
(asdf:INITIALIZE-SOURCE-REGISTRY)
これで、指定フォルダに置いた asdf が quickload で検索できるようになる。
リセットしたい場合は次になる。
(asdf:clear-source-registry)
ちなみに、デフォルトで、~/common-lisp/ が指定されているんだってさ。もうそれでいいんじゃないの?と思った。
詳しくは ASDFマニュアル8章を参照のこと。