diff --git a/ChangeLog b/ChangeLog index 73a48b7521..a49a38df64 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Dec 29 11:20:41 2009 Marc-Andre Lafortune + + * lib/delegate.rb (marshal_dump/load): Revert r26122, r26194, as per + Nobu. [ruby-core:24211] + Tue Dec 29 10:36:23 2009 Nobuyoshi Nakada * lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser::STANDALONE): diff --git a/lib/delegate.rb b/lib/delegate.rb index 9ed1409ba0..43549946c9 100644 --- a/lib/delegate.rb +++ b/lib/delegate.rb @@ -178,22 +178,12 @@ class Delegator # Serialization support for the object returned by \_\_getobj\_\_. def marshal_dump - [ - :__v2__, - instance_variables, - instance_variables.map{|var| instance_variable_get(var)}, - __getobj__ - ] + __getobj__ end # Reinitializes delegation from a serialized object. - def marshal_load(data) - version, vars, values, obj = data - if version == :__v2__ - vars.each_with_index{|var, i| instance_variable_set(var, values[i])} - __setobj__(obj) - else - __setobj__(data) - end + def marshal_load(obj) + initialize_methods(obj) + __setobj__(obj) end end