Gauche > Archives > 2016/08/31

2016/08/31 07:31:02 UTCshiro
#
Gaucheのincludeは、相対パスならそのフォームを含むソースからの相対で探すんだけど、"./"と"../"で始まる場合だけ特別扱いしてカレントワーキングディレクトリからの相対になる、とドキュメントに書いてある(書いたの自分だけど)。何でそうしたんだっけ。
#
(…ソース読んだ)ああそうか、loadとファイル探索を共通化してて、loadの挙動が "./", "../" の場合に無条件にカレントワーキングディレクトリからの探索になるからか。
#
そうでない場合は*load-path*から探すんだけど、includeの方でソースのあるディレクトリを*load-path*に付け加えてfind-load-fileを呼ぶんで、"./"や"../"で始まらない相対パス名の場合はソースのあるディレクトリからの相対がヒットするようになってる。
#
includeでカレントディレクトリからの相対にしたい場合って無さそうだから、常にソース相対にした方がいいかなあ。