>>>>> In [ruby-dev : No.21691] >>>>> Hidetoshi NAGAI <nagai / ai.kyutech.ac.jp> wrote: > エラーのメッセージボックスも開かないのでしょうか? ウィンドウは生成されますが中身は空…というか 高さがやたら小さなウィンドウが一つ出たところでささります。 > メッセージボックスを開く際には Tcl/Tk 内部で vwait コマンドを > 起動しています. > この Tcl/Tk 自身の vwait と Ruby の thread との相性が悪いので, > 最新 の CVS では vwait (と tkwait) とを置き換えてしまっています. > もしかすると,これが問題を起こしているのかもしれません. > 確認のため,tcltklib.c の ip_init() の中で vwait と tkwait とを > 置き換えている部分を無効にしてコンパイルしたもので > 試してみてもらえますか. /* replace 'vwait' command */ #if TCL_MAJOR_VERSION >= 8 DUMP1("Tcl_CreateObjCommand(\"vwait\")"); Tcl_CreateObjCommand(ptr->ip, "vwait", ip_rbVwaitObjCmd, (ClientData)NULL, (Tcl_CmdDeleteProc *)NULL); #else DUMP1("Tcl_CreateCommand(\"vwait\")"); Tcl_CreateCommand(ptr->ip, "vwait", ip_rbVwaitCommand, (ClientData)NULL, (Tcl_CmdDeleteProc *)NULL); #endif /* replace 'tkwait' command */ #if TCL_MAJOR_VERSION >= 8 DUMP1("Tcl_CreateObjCommand(\"tkwait\")"); Tcl_CreateObjCommand(ptr->ip, "tkwait", ip_rbTkWaitObjCmd, (ClientData)NULL, (Tcl_CmdDeleteProc *)NULL); #else DUMP1("Tcl_CreateCommand(\"tkwait\")"); Tcl_CreateCommand(ptr->ip, "tkwait", ip_rbTkWaitCommand, (ClientData)NULL, (Tcl_CmdDeleteProc *)NULL); #endif この部分ですよね。ここをコメントアウトしてやってみましたところ、 今度は前述のウィンドウが出る前の段階でささりました。 Debian側で手を入れているところはないかと 変更点を見てみましたが、あまり関係なさそうに思えます。 といってもTcl/Tkに詳しいわけではないので自信はありませんが。 # ちなみにDebian側での変更内容は以下です。 # <URL:http://ftp.jp.debian.org/debian/pool/main/t/tk8.4/tk8.4_8.4.4-1.diff.gz> -- やまだあきら / akira yamada <URL:http://arika.org> Vine Caves, Ltd. <URL:http://vinecaves.com> (akira / arika.org, akira / debian.org or akira / vinecaves.com)