diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-10-20 12:47:20 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-10-20 12:47:20 +0000 |
commit | 2ec51ee0d506c90f3afba694e6c502ef3d52e4f8 (patch) | |
tree | db3928abc44090d749b6609bfb7ef49f2631a5c9 /lib | |
parent | 959077c8e0ec27dfa72025a85c99a4acc26f6491 (diff) |
* string.c (str_gsub): reentrant check. [ruby-dev:24432]
* backport all SEGV bug fixes from CVS HEAD. [ruby-dev:24536]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r-- | lib/delegate.rb | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/lib/delegate.rb b/lib/delegate.rb index ee574cb02b..20e6b53c2e 100644 --- a/lib/delegate.rb +++ b/lib/delegate.rb @@ -76,10 +76,14 @@ class SimpleDelegator<Delegator @_sd_obj = obj end - def initialize_copy(obj) + def clone(obj) super __setobj__(obj.__getobj__.clone) end + def dup(obj) + super + __setobj__(obj.__getobj__.dup) + end end # backward compatibility ^_^;;; @@ -108,9 +112,13 @@ def DelegateClass(superclass) def __setobj__(obj) @_dc_obj = obj end - def initialize_copy(obj) + def clone(obj) super - __setobj__(obj.__getobj__.clone) + __setobj__(obj.__getobj__.clone) + end + def dup(obj) + super + __setobj__(obj.__getobj__.dup) end } for method in methods |