2003-03-11 [長年日記]
λ. 携帯電話
やっぱ慣れないものを使うのは難しいなぁ。ビデオの予約も出来ない酒井に、果たして明日はあるのか!?
λ. け・い・ぞ・く
トップレベルはread-evalのループだから、引数無し手続きの呼び出しと、その手続きのbodyをトップレベルに書いたものは、継続とか関係する場合は振る舞いが異なるのね…… (guileの場合。処理系依存かも)
自分は継続を誤解してるんじゃないかと、すっかり不安になって、ぐぐってしまったよ。てへっ。
λ. 1.8 のRuby binaries と setup.exe
cygwinのsetup.exeって、同じホストの複数のディレクトリを指定できないみたい。しかも既に追加したURLを削除するUIが無いので、とりあえず/etc/setup/last-mirrorを書き換えて、ようやく1.8用のRuby binariesをインストールできた。
λ. 昼寝
してたら、寝過ごして、約束をすっぽかしてしまった。欝だ。
λ. gtk2 on cygwin
GImageViewを使っていて、他のWindowsアプリケーションからファイルをドラッグ出来ないのに気付いておかしいなぁと思って調べてみる。
- gdkdnd-win32.cでファイル名をWin32形式のままg_filename_to_uri()に引き渡しているので、先にファイル名をPOSIX形式に変換するようにした。
- GImageViewは file:/usr/share/pixmaps/gimv.png という形式しか認識しないので、g_filename_to_uri()が作る file:///usr/share/pixmaps/gimv.png のような形式も認識できるように修正。(本来は後者の形式の方が正しかったような記憶が……)
- gdk-win32はGtkSelectionDataにtext/uri-listを入れる際にデータをNUL-terminateしないが、GImageViewはNUL-terminateされている事を期待している。lengthを同時に受け取るのだからNULは要らないだろと思い、GImageViewの方を修正
というわけで手元ではDnD出来るようになったので、GImageViewのパッチとバイナリを追加。ただ、gtk+の方のパッケージをまだ更新していないので、このGImageViewのパッケージを入れるだけではDnDは出来ないかもしれません。
//ではじまるとUNCとみなされるという、Windows固有の問題では。
あぅ、UNCのことをすっかり忘れていました。<br>何故これまで問題になってなかったのか不思議だったのですが、UNCが存在しない普通のOSだと「///usr/share/pixmaps/gimv.png」でも問題無く開けてしまうんですね……<br><br>ちなみに、g_filename_to_uriとg_filename_from_uriのソースを見てみるとUNCの事は特に考えていないようで、「//PATCHOULI/SharedDocs/My Pictures/Sample Pictures/Sunset.jpg」は「file:////PATCHOULI/SharedDocs/My%20Pictures/Sample%20Pictures/Sunset.jpg」になりました。これはこれでビミョーかも……