From: "Yugui (Yuki Sonoda)" Date: 2008-12-12T14:19:14+09:00 Subject: [ruby-dev:37401] Re: [BUG:trunk] r20625 dumps core and many strings associated with wrong encoding Yukihiro Matsumoto さんは書きました: > まつもと ゆきひろです > |修正方針ってこれで良いものでしょうか? > |* LOAD_PATHのエンコーディングはどうするべき? > | -E を考慮したdefault_externalか、それともlocale encodingを強制するか > > -Eを考慮すべきですが、オプションの処理をさかのぼる必要はない > のではないかと思います。つまり、PATHの中身と-Eより前に指定さ > れた-Iについてはlocaleと見なすとか。 あー、rb_file_systemencodingの選択肢もありますよね。パス名のエンコーディ ングをどう持つかは色々悩ましかったと思います。どうしたもんでしょう。 とりあえずlocaleにしておきますね。(r20656) before: ANG=ja_JP.UTF-8 ./ruby -Ecp932 -I tmp -e 'p $:.map{|x| [x, x.encoding]}; require "date"; p $LOADED_FEATURES.map{|x| [x, x.encoding]}' [["/Users/yugui/src/ruby/mri/build/O0/tmp", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/gems/1.9.1/gems/evil-ruby-0.1.0/lib", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/site_ruby/1.9.1", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/site_ruby/1.9.1/i386-darwin9.5.0", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/site_ruby", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/vendor_ruby/1.9.1", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/vendor_ruby/1.9.1/i386-darwin9.5.0", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/vendor_ruby", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/1.9.1", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/1.9.1/i386-darwin9.5.0", #], [".", #]] [["enumerator.so", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/1.9.1/i386-darwin9.5.0/enc/encdb.bundle", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/1.9.1/i386-darwin9.5.0/enc/trans/transdb.bundle", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/1.9.1/rubygems.rb", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/1.9.1/i386-darwin9.5.0/enc/shift_jis.bundle", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/1.9.1/date/format.rb", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/1.9.1/date.rb", #]] after: [["/Users/yugui/src/ruby/mri/build/O0/tmp", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/gems/1.9.1/gems/evil-ruby-0.1.0/lib", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/site_ruby/1.9.1", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/site_ruby/1.9.1/i386-darwin9.5.0", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/site_ruby", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/vendor_ruby/1.9.1", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/vendor_ruby/1.9.1/i386-darwin9.5.0", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/vendor_ruby", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/1.9.1", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/1.9.1/i386-darwin9.5.0", #], [".", #]] [["enumerator.so", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/1.9.1/i386-darwin9.5.0/enc/encdb.bundle", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/1.9.1/i386-darwin9.5.0/enc/trans/transdb.bundle", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/1.9.1/rubygems.rb", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/1.9.1/i386-darwin9.5.0/enc/shift_jis.bundle", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/1.9.1/date/format.rb", #], ["/Users/yugui/varyrubies/trunk-O0/lib/ruby/1.9.1/date.rb", #]] -- Yugui http://yugui.jp 私は私をDumpする