From: Hidetoshi NAGAI Date: 2007-03-01T00:57:53+09:00 Subject: [ruby-dev:30452] Re: fail to autoload at $SAFE==4 永井@知能.九工大です. From: "Nobuyoshi Nakada" Subject: [ruby-dev:30437] Re: fail to autoload at $SAFE==4 Date: Tue, 27 Feb 2007 15:02:33 +0900 Message-ID: > 今気づきましたが、動的にスクリプトを$LOAD_PATHに作るという可能性 > を考えるなら、ロード済みの.soの有無をロード中の.rbの有無よりも優 > 先させてはまずいので、最後のif文はこうですね。 > > if (rb_feature_p(feature, feature + strlen(feature), Qtrue)) すみません.きちんとチェックしていませんでした. この if 文の形で commit されてしまいましたが, これだと更にまずいみたいで, ----------------------------------------------------------------------- ruby -r tk -e 'TkButton.new' /usr/local/lib/ruby/1.8/tk/label.rb:6: uninitialized constant TkLabel (NameError) from /usr/local/lib/ruby/1.8/tk/button.rb:5:in `require' from /usr/local/lib/ruby/1.8/tk/button.rb:5 from -e:1 ----------------------------------------------------------------------- なんてことになってしまいます. TkButton に対する autoload で tk/button.rb を load した際に "require 'tk/label'" が実行され,tk/label.rb の上の "class TkLabel