From: "NARUSE, Yui" Date: 2008-01-20T10:03:38+09:00 Subject: [ruby-dev:33204] Re: コンパイルの問題 (r15218) 成瀬です。 Vincent Isambart wrote: >> ruby ./tool/insns2vm.rb --srcdir="." >> /cygdrive/d/ruby/tool/instruction.rb:239:in `block in load_insns_def': >> broken US-ASCII string (ArgumentError) >> >> 何が原因なのか分かりません。そもそも、なぜでこのところで US-ASCII が >> でるのかもちょっと不明です。 > > $PATHのrubyが1.9じゃなかったら問題ないですけど、直接にruby-1.9を実行した > ら、私の環境では以下のエラーが出ます: > ~/src/ruby% ruby-1.9 ./tool/insns2vm.rb --srcdir="." > /Users/vincent/src/ruby/tool/instruction.rb:239:in `block in > load_insns_def': broken UTF-8 string (ArgumentError) > > 問題はinsns.defがShift_JISを使っている事です。以下のパッチがこの問題を直 > すのでしょう。 > > =================================================================== > --- tool/instruction.rb (revision 15129) > +++ tool/instruction.rb (working copy) > @@ -210,7 +210,7 @@ > body = insn = opes = pops = rets = nil > comment = '' > > - vpath.open(file) {|f| > + vpath.open(file, 'r:sjis') {|f| > f.instance_variable_set(:@line_no, 0) > class << f > def line_no 原因究明ありがとうございます。これだとRuby 1.8 でエラーが出るので -Ks を つけることにしました。r15137で修正されているはずです。 -- NARUSE, Yui DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA