From: Hidetoshi NAGAI Date: 2010-06-25T13:15:54+09:00 Subject: [ruby-dev:41730] (ruby/tk) ruby_1_9_2 への backport 永井@知能.九工大です. trunk における以下の変更 (extconf.rb, stubs.c, tk.rb) ですが, 1.9.2 への backport をお願いできますでしょうか? あるいは backport しても構わないでしょうか. -------------------------------------------------------------------------- Thu Jun 3 01:22:45 2010 Hidetoshi NAGAI * ext/tk/lib/tk.rb: fix typo and race condition. Mon May 31 23:44:22 2010 Hidetoshi NAGAI * ext/tk/extconf.rb: use tclConfig.sh/tkConfig.sh when frameworks are enabled on MacOS X. * ext/tk/stubs.c: dirty hack for frameworks and stubs on MacOS X. * ext/tk/lib/tk.rb: stop creating a dummy Tcl/Tk interpreter. And hide a root window before starting eventloop. (for ruby 1.9) //除外 * ext/tk/tcltklib.c: add codes to support Ruby/Tk-Kit (Rubykit). -------------------------------------------------------------------------- 「除外」としている以外は [ruby-core:30358] で報告された問題への対処です. 報告者からは,これらの修正により問題は解決したとの連絡はもらっています. 上記には MacOS X 絡みの修正が含まれてはいますが, それらは [ruby-core:30358] (windows 環境) のための修正に伴って MacOS X 上で生じてしまう問題 (および放置していた問題) への対処です. よって,これらを切り離して適用することには難があります. 適用についての相談をさせていただいているのは, これまでの preview と若干の違いが生じるためです. --------------------------------------------------------------------------- (1) require 'tk' 後に即座に tk の root window が表示されていたが, Tk.mainloop を実行するまでは表示されなくなる. → window は表示されていても mainloop を起動するまでは 通常はまともには GUI として操作できないので問題ないと思うが, この挙動に依存したことをしているケースが絶対ないとは言えない. なお,1.8 系の挙動に近いのは修正後の方. (2) MacOS X 上での tcltklib.c を適切に compile するために, tclConfig.sh と tkConfig.sh が事実上必須となる. → これらは Tcl/Tk の導入時に通常インストールされているはずのもので, compile 時に与えるべきフラグの情報が記載されている. 修正前はこれらがなくても誤魔化して compile していたが, X 版と Aqua 版との挙動の違いへの ad-hoc な対処には無理が出ていた. 修正後は,tclConfig.sh/tkConfig.sh がない場合に 特に Aqua 版で正しく compile できなくなる可能性が高い. また,修正前は X 版と Aqua 版とを共通の tcltklib.so で 切替えて使えていた可能性がありうるが,これもできなくなるはず. 様々な環境条件での compile を試しているとは言えないため, compile に苦労する環境が生じる可能性は否定できない. --------------------------------------------------------------------------- 致命的な非互換性ではないとは思うのですが, 適用の是非については他の皆様,特にリリースマネージャの判断を 仰ぎたいと考えています. -- 永井 秀利 (nagai@ai.kyutech.ac.jp) 九州工業大学 大学院情報工学研究院 知能情報工学研究系 知能情報メディア部門