summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-02-20 00:33:18 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-02-20 00:33:18 +0000
commitb9143b733a988ac756c3ea8e64daeef370541e9e (patch)
tree44e6f7e0fd45f46c74b98cf4242d43decf2d9270
parent895a10cb7a76358c605c525392e7522d35d144e0 (diff)
downloadruby-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--ChangeLog4
-rw-r--r--lib/delegate.rb6
2 files changed, 7 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index f56c1c71d..d766c5354 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 {