diff --git a/ChangeLog b/ChangeLog index 8c6b376b04..2d91519d60 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Dec 7 09:29:02 2006 Yukihiro Matsumoto + + * lib/weakref.rb (WeakRef::__setobj__): should support + marshaling. [ruby-talk:228508] + Wed Dec 6 23:58:36 2006 Nobuyoshi Nakada * Makefile.in, common.mk (NULLCMD): moved for platforms that empty diff --git a/lib/delegate.rb b/lib/delegate.rb index a961cbaad3..8574bc39ec 100644 --- a/lib/delegate.rb +++ b/lib/delegate.rb @@ -115,7 +115,7 @@ # implementation, see SimpleDelegator. # class Delegator - preserved = ["__id__", "object_id", "__send__", "__send", "__send!", "respond_to?", "send", "funcall"] + preserved = [:__id__, :object_id, :__send__, :__send, :__send!, :respond_to?, :send, :funcall] instance_methods.each do |m| next if preserved.include?(m) undef_method m diff --git a/lib/weakref.rb b/lib/weakref.rb index b1c430523b..048f06f459 100644 --- a/lib/weakref.rb +++ b/lib/weakref.rb @@ -24,7 +24,6 @@ class WeakRef [ref,...] @@id_rev_map = {} # ref -> obj @@final = lambda {|id| - printf "final: %p\n", id __old_status = Thread.critical Thread.critical = true begin @@ -48,19 +47,7 @@ class WeakRef