diff options
| author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-02-20 00:33:18 +0000 |
|---|---|---|
| committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-02-20 00:33:18 +0000 |
| commit | b9143b733a988ac756c3ea8e64daeef370541e9e (patch) | |
| tree | 44e6f7e0fd45f46c74b98cf4242d43decf2d9270 | |
| parent | 895a10cb7a76358c605c525392e7522d35d144e0 (diff) | |
| download | ruby-b9143b733a988ac756c3ea8e64daeef370541e9e.tar.gz ruby-b9143b733a988ac756c3ea8e64daeef370541e9e.tar.xz ruby-b9143b733a988ac756c3ea8e64daeef370541e9e.zip | |
* lib/delegate.rb (Delegator): should not delegate "funcall".
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@9963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 4 | ||||
| -rw-r--r-- | lib/delegate.rb | 6 |
2 files changed, 7 insertions, 3 deletions
@@ -1,3 +1,7 @@ +Mon Feb 20 09:17:11 2006 Yukihiro Matsumoto <matz@ruby-lang.org> + + * lib/delegate.rb (Delegator): should not delegate "funcall". + Mon Feb 20 09:13:42 2006 Yukihiro Matsumoto <matz@ruby-lang.org> * lib/webrick/httpservlet/cgihandler.rb (WEBrick::HTTPServlet::CGIHandler): diff --git a/lib/delegate.rb b/lib/delegate.rb index 3be335580..e8a731ae0 100644 --- a/lib/delegate.rb +++ b/lib/delegate.rb @@ -115,7 +115,7 @@ # implementation, see SimpleDelegator. # class Delegator - preserved = ["__id__", "object_id", "__send__", "respond_to?"] + preserved = ["__id__", "object_id", "__send__", "respond_to?", "send", "funcall"] instance_methods.each do |m| next if preserved.include?(m) undef_method m @@ -262,8 +262,8 @@ def DelegateClass(superclass) klass = Class.new methods = superclass.public_instance_methods(true) methods -= [ - "__id__", "object_id", "__send__", "respond_to?", "==", "equal?", - "initialize", "method_missing", "__getobj__", "__setobj__", + "__id__", "object_id", "__send__", "respond_to?", "send", "funcall", + "==", "equal?", "initialize", "method_missing", "__getobj__", "__setobj__", "clone", "dup", "marshal_dump", "marshal_load", ] klass.module_eval { |
