ruby-changes:3393
From: ko1@a...
Date: 5 Jan 2008 01:52:49 +0900
Subject: [ruby-changes:3393] matz - Ruby:r14886 (trunk): * eval.c (Init_eval): move instance_eval and instance_exec to
matz 2008-01-05 01:51:16 +0900 (Sat, 05 Jan 2008) New Revision: 14886 Modified files: trunk/ChangeLog trunk/eval.c trunk/lib/delegate.rb Log: * eval.c (Init_eval): move instance_eval and instance_exec to BasicObject. [ruby-core:14747] * lib/delegate.rb: should preserve new methods in BasicObject. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/lib/delegate.rb?r1=14886&r2=14885&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=14886&r2=14885&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/eval.c?r1=14886&r2=14885&diff_format=u Index: ChangeLog =================================================================== --- ChangeLog (revision 14885) +++ ChangeLog (revision 14886) @@ -1,3 +1,10 @@ +Sat Jan 5 01:50:32 2008 Yukihiro Matsumoto <matz@r...> + + * eval.c (Init_eval): move instance_eval and instance_exec to + BasicObject. [ruby-core:14747] + + * lib/delegate.rb: should preserve new methods in BasicObject. + Sat Jan 5 01:46:29 2008 Yukihiro Matsumoto <matz@r...> * ruby.c (proc_options): update according to the last API revert. Index: lib/delegate.rb =================================================================== --- lib/delegate.rb (revision 14885) +++ lib/delegate.rb (revision 14886) @@ -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 @@ 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 Index: eval.c =================================================================== --- eval.c (revision 14885) +++ eval.c (revision 14886) @@ -2726,8 +2726,8 @@ rb_define_method(rb_mKernel, "send", rb_f_send, -1); rb_define_method(rb_mKernel, "public_send", rb_f_public_send, -1); - rb_define_method(rb_mKernel, "instance_eval", rb_obj_instance_eval, -1); - rb_define_method(rb_mKernel, "instance_exec", rb_obj_instance_exec, -1); + rb_define_method(rb_cBasicObject, "instance_eval", rb_obj_instance_eval, -1); + rb_define_method(rb_cBasicObject, "instance_exec", rb_obj_instance_exec, -1); rb_define_private_method(rb_cModule, "append_features", rb_mod_append_features, 1); rb_define_private_method(rb_cModule, "extend_object", rb_mod_extend_object, 1); -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml