#aproposを改修しようと思ってるんですが、aproposに期待される挙動って、検索するのは可視な束縛だけですよね?っていうのと、横に表示されるモジュール名のところ、単に元のモジュール名を表示するのとimportの仕方(prefixとか)を表示するのと考えられると思うんですが、どっちがいいでしょう?あと束縛を検索する機能はline editで補完を実装するときにも使えますし、切り出してexportしたいと思っています。
#import側でrenameしたときの module-exports おかしくないですか?
#gosh> (use scheme.ilist :rename ((icar foo) (icdr bar)))
gosh> (module-exports (car (module-imports (current-module))))
(bar icar foo icdr)
#モジュールイントロスペクションに、モジュールの外から可視な束縛の一覧を得るのが欲しいですね
#思い出したタイミングでついでに書いちゃいますが、-fread-editでバックスペースやカーソル移動すると表示がめっちゃチラチラします。Terminal.appです。
#チラチラ: 最小限の描画プリミティブで描いてるので、毎回全部描き直してるのが原因ですね。cursesみたいに差分だけ描くようにすればいいはずで、そのためにtext.console.framebufferというのがあるんですが、まだ中途半端なところで止まってます。
#gosh> (autoload scheme.ilist icar)
#<undef>
gosh> icar
"load.c", line 1132 (ScmObj Scm_ResolveAutoload(ScmAutoload *, int)): Assertion failed: f != NULL
#ワーオ
#autoloadってimportはせずにそこに直接束縛を生やすんですね。(useするのかと勘違いしていた)
#$ gosh -q
gosh> (autoload scheme.base features)
#<undef>
gosh> features
#<closure (features)>
gosh> (module-imports (current-module))
()
gosh> (use gauche.interactive)
gosh> (apropos 'features)
features (user)