”gosh” コマンドの引数で ”-I ”でパスを指定することができます。この方法で二つ以上を指定するとどうなるか?
$ gosh -I path1 -I path2
gosh> *load-path*
(“path2” “path1” “.” “/opt/local/share/gauche/site/lib” “/opt/local/share/gauche/0.8.13/lib”)
気づきましたか?指定したのとは逆順になります。このことはドキュメントにもきちんと書かれていました。gosh は引数を先頭から順番に処理します。そして ”-I ” オプションはロードパスの先頭に追加します。この仕様にしたがって順番にロードパスを指定すると上のようになります。やや直感に反する結果になるので注意しましょう。
以下のように指定して、Gauche に特化したライブラリが優先的に読み込まれるように指定したつもりなのに、実際には読み込まれなかったところで気づきました。
$ gosh -I $HOME/lib/gauche/scheme -I $HOME/lib/scheme