#Gauche-tk 非常に良いです。単に2重になっているpathを色分けしてスクロールバーで表示するだけのプログラムですが、簡単に動きました。optionや、itemconfigureも動きます。
http://www.evernote.com/shard/s25/sh/21832122-3a72-4f4b-96f5-7f1e92aa1771/830ff5aa3ef367c5b82659a856d1282d
Tclの方が書きやすいところもあるので、-command の引数にλ式だけじゃなく、Tclの文字列("destory ."とか)が渡せるのがすごく使いやすいです。(tk-wm "iconbitmap" "." "gauche-logo.ico")でアイコンも変えられました。
#Linuxで kill -0 pid でそのプロセスが存在するかどうかを調べることがあると思うのですが
#gosh> (let1 p (run-process `(kill -0 24306) :wait #t :host "g10")
(process-exit-status p))
65280
#この65280はどう解釈したらいいのでしょうか。g10の上でpid 24306のプロセスは存在しています。試しに殺してみても同じく65280を返すのでどう見分けたらいいのかな、と
#65280=0xff00で、たしかステータスって有効なのが下位8ビットじゃなかったっけ、と思ったけどソースが見つからない。
#-0 ってマイナスゼロに解釈されるんじゃなかったでしたっけ。
#文字列で
#"-0" にしなきゃならないんじゃないかと。
#数値のマイナスゼロを文字列に変換したら (x->string -0) => 0 なので、たぶん実質的なコマンドとしては kill 0 24306 を実行してしまっているものと思います。
#なるほどです。いま電車の中なので後ほど確認します。
#process-exit-statusって終了コードを返すんじゃないんですね。勘違いしていた。
#でも、高レベルAPIだと、waitpidのステータスをそのまま見せるんじゃなくて、終了コードなりシグナルなりに加工して見せてくれたほうが便利だと思う。
#|-0|にしてみたら期待した動きになりました。リーダの気持ちになって考えないとダメですね。ありがとうございました。
#koguroさんの書き込み見落としていた。ぼくが欲しいのはsys-wait-exit-statusのような気がする。API名から思い込みで使っていた... あぶないあぶない。
#概ね期待した動きをしているように見えたのは偶然か ;-)
#そうだなあ>高レベルAPI。これも
#これもUnix centricな思い込みで気づかなかったデザインだなあ。
#大抵の場合、「0かそうでないか」だけを見るので、今まで不便を感じていなかったということもある。
#互換性を保ったまま変えるとすると、process-exit-statusにオプショナル引数を渡して動作を変えるとかかなあ。
#gosh> (abs (car (lcons 1 '())))
*** ERROR: wrong number of arguments for #<subr abs> (required 1, got 0)
Stack Trace:
_______________________________________
gosh> (let1 x (car (lcons 42 '())) x)
#<compiled-code %internal-apply@0x3c9300>
#何かがおかしいようです.
#(car (lcons 42 '())) は問題なく動きます.
#carがインライン展開されてるのがlazy pairと干渉してる感じ。
#スタック操作をしくじっている感じはある。時間切れなので続きは後で。