diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-01-04 16:51:16 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-01-04 16:51:16 +0000 |
commit | 63232bba28c36f9d0440eaf1ac89cc1cde7940bf (patch) | |
tree | 481e4670e92c31fda67c2f480913913117e08b1a /lib/delegate.rb | |
parent | 1a2de7e718a406c4453eac1e94863e4cf996f4ec (diff) | |
download | ruby-63232bba28c36f9d0440eaf1ac89cc1cde7940bf.tar.gz ruby-63232bba28c36f9d0440eaf1ac89cc1cde7940bf.tar.xz ruby-63232bba28c36f9d0440eaf1ac89cc1cde7940bf.zip |
* eval.c (Init_eval): move instance_eval and instance_exec to
BasicObject. [ruby-core:14747]
* lib/delegate.rb: should preserve new methods in BasicObject.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/delegate.rb')
-rw-r--r-- | lib/delegate.rb | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/delegate.rb b/lib/delegate.rb index 8501ed106..f4068f1b3 100644 --- a/lib/delegate.rb +++ b/lib/delegate.rb @@ -115,7 +115,9 @@ # implementation, see SimpleDelegator. # class Delegator - preserved = [:__id__, :object_id, :__send__, :public_send, :respond_to?, :send] + preserved = [:__id__, :object_id, :__send__, :public_send, :respond_to?, :send, + :instance_eval, :instance_exec, + ] instance_methods.each do |m| next if preserved.include?(m) undef_method m @@ -264,7 +266,7 @@ def DelegateClass(superclass) methods -= [ :__id__, :object_id, :__send__, :public_send, :respond_to?, :send, :==, :equal?, :initialize, :method_missing, :__getobj__, :__setobj__, - :clone, :dup, :marshal_dump, :marshal_load, + :clone, :dup, :marshal_dump, :marshal_load, :instance_eval, :instance_exec, ] klass.module_eval { include Delegator::MethodDelegation |