From: IWATSUKI Hiroyuki Date: 2004-06-24T11:10:55+09:00 Subject: [ruby-dev:23769] Re: Ruby 1.8.2 to be released. Yukihiro Matsumoto wrote: > まつもと ゆきひろです > > そろそろ1.8.2をリリースしたいのですが、これをやっておきたい > とかいうことがある人はいますか。また、ここを直しておいてほし > いというバグを見つけている人はいますか? [ruby-talk:104405]に投稿しました以下の不具合が解消されると嬉しいです。 (()) YAML化された例外オブジェクトをYAML.loadで読み込むとエラーになります。 % ruby -v -ryaml -e "YAML.load(Exception.new.to_yaml)" ruby 1.8.2 (2004-06-19) [i386-cygwin] /usr/local/lib/ruby/1.8/yaml/rubytypes.rb:274:in `object_maker': wrong number of arguments (3 for 2) (ArgumentError) from /usr/local/lib/ruby/1.8/yaml/rubytypes.rb:274 from /usr/local/lib/ruby/1.8/yaml/rubytypes.rb:272:in `call' from -e:1:in `transfer' from /usr/local/lib/ruby/1.8/yaml.rb:119:in `load' from /usr/local/lib/ruby/1.8/yaml.rb:119:in `load' from -e:1 このエラーは最近のYAML.object_makerの仕様変更によるものだと思います。 Index: rubytypes.rb =================================================================== RCS file: /home/don/ruby/cvs/src/ruby/lib/yaml/rubytypes.rb,v retrieving revision 1.24 diff -u -p -u -p -r1.24 rubytypes.rb --- rubytypes.rb 25 May 2004 14:57:25 -0000 1.24 +++ rubytypes.rb 22 Jun 2004 18:43:51 -0000 @@ -271,7 +271,7 @@ end YAML.add_ruby_type( /^exception/ ) { |type, val| type, obj_class = YAML.read_type_class( type, Exception ) - o = YAML.object_maker( obj_class, { 'mesg' => val.delete( 'message' ) }, true ) + o = YAML.object_maker( obj_class, { 'mesg' => val.delete( 'message' ) } ) val.each_pair { |k,v| o.instance_variable_set("@#{k}", v) } -- Hiroyuki Iwatsuki