From: Nobuyoshi Nakada Date: 2008-04-08T11:02:13+09:00 Subject: [ruby-dev:34269] Re: Ruby1.9 での $SAFE==4 時の autoload 動作 なかだです。 At Tue, 8 Apr 2008 06:10:24 +0900, Hidetoshi NAGAI wrote in [ruby-dev:34268]: > ありがとうございます.ですが,まだ直ってはいないようです. > > ------------------------------------------------------------- > autoload :ZZZ, File.join(Dir.pwd, 'zzz.rb') > > module M; end > > #p ZZZ.new.hoge ## <--- (*) > > #p Thread.new{M.instance_eval('$SAFE=4; ZZZ.new.hoge')}.value > #p Thread.new{$SAFE=4; M.instance_eval('ZZZ.new.hoge')}.value > #p Thread.new{$SAFE=4; eval('ZZZ.new.hoge')}.value > #p Thread.new{eval('$SAFE=4; ZZZ.new.hoge')}.value > ------------------------------------------------------------- > > 上記の (*) の行を有効にして,autoload を先に働かせない限り, > 以下の 4 行のいずれを有効にしても 'Insecure operation' となります. r15921でbootstraptest/test_autoload.rbに追加しておきましたが、通っ てしまっているような気がします。テストがまずい? > ついでにですが,多分 Revision: 15915 の修正の結果により, > ------------------------------------------------------------- > $ /usr/local/bin/ruby19 ./ext/tk/sample/tkhello.rb > /usr/local/lib/ruby/1.9.0/tk.rb:2344:in `find': unknown encoding name - binary (ArgumentError) > ------------------------------------------------------------- > などというエラーを出すようになりました. > 原因はこれから調べようと思いますが, > 心当たりがありましたら教えていただけますと助かります. enc/prelude.rbに書いてあるライブラリ名が間違っていました。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦