永井@知能.九工大です.

From: H.Yamamoto <ocean / m2.ccsnet.ne.jp>
Subject: [ruby-dev:25489] Re: some problems on ext/tk/sample/**/*.rb
Date: Sat, 22 Jan 2005 15:03:49 +0900
Message-ID: <20050122150346.FD420190.ocean / m2.ccsnet.ne.jp>
> >少々手間取ってしまいましたが,次のようなパッチではいかがでしょうか?
> お疲れ様です。動くようになりました。

確認をありがとうございます.手が空いた時に commit しておきます.

> 実は、ruby/tk の問題ではないようなので報告しなかった問題があったのですが、
> 一応報告します。(特に前者の問題が奇妙奇天烈です)
   (snip)
> ////////////////////////
> // tkextlib/vu/dial.rb
> 
> * マウスをもっていくと、エラーダイアログが出る。
   (snip)
> * なぜかサンプルスクリプトの名前を変えると出なくなる。謎。

あ,この件についての対応を忘れてました.
と言っても根本的な回避ができるというわけではなく,
「デモプログラムの名前を変更する」という対処です.
これは Win 版の Tcl/Tk のバグだろうと思います.
この現象は,起動したスクリプト名 (拡張子除外) と
autoload される Tcl/Tk のライブラリファイルの名前 
(同じく拡張子除外) とが一致した場合に発生するようです.
確か button.tcl という Tcl/Tk スクリプトを起動して
そのスクリプト中でボタンウィジェットを生成した場合などでも
発生したと思います.
Ruby と全く関係なく Win 版 Tcl/Tk の上だけで発生する問題ですので
「仕様」として諦めるしかありません.

> ////////////////////////
> // tkextlib/vu/vu.rb
> Show off barchart and dial widgets
> e:/ruby/lib/ruby/1.8/tk.rb:1383: [BUG] Segmentation fault
> ruby 1.8.2 (2005-01-12) [i386-bccwin32]

こちらは初めての報告です.

> * これは tcl/tk 側のバグのように見える。下のコードでも再現する。

どうやらそのようですね.
Win 版の ActiveTcl の wish で

package require vu
::vu::bargraph .bg
pack .bg 

などとやってみましたが,見事に落ちます.
これも Ruby 側に責任がない問題ですので,
Tcl/Tk 側のバグフィックスを待つしかありません.
-- 
                                       永井 秀利 (九工大 知能情報)
                                           nagai / ai.kyutech.ac.jp