ruby-changes:1828
From: ko1@a...
Date: 30 Aug 2007 14:07:01 +0900
Subject: [ruby-changes:1828] nobu - Ruby:r13319 (trunk): * proc.c (rb_obj_define_method): reverted.
nobu 2007-08-30 14:06:52 +0900 (Thu, 30 Aug 2007) New Revision: 13319 Modified files: trunk/ChangeLog trunk/proc.c Log: * proc.c (rb_obj_define_method): reverted. [ruby-talk:266637] http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=13319&r2=13318 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/proc.c?r1=13319&r2=13318 Index: ChangeLog =================================================================== --- ChangeLog (revision 13318) +++ ChangeLog (revision 13319) @@ -1,3 +1,7 @@ +Thu Aug 30 14:06:50 2007 Nobuyoshi Nakada <nobu@r...> + + * proc.c (rb_obj_define_method): reverted. [ruby-talk:266637] + Thu Aug 30 13:49:25 2007 Nobuyoshi Nakada <nobu@r...> * lib/mkmf.rb: initialize $top_srcdir always. [ruby-dev:31682] Index: proc.c =================================================================== --- proc.c (revision 13318) +++ proc.c (revision 13319) @@ -1,6 +1,6 @@ /********************************************************************** - proc.c - Proc, Bindng, Env + proc.c - Proc, Binding, Env $Author$ $Date$ @@ -148,7 +148,6 @@ rb_binding_t *bind; obj = Data_Make_Struct(klass, rb_binding_t, binding_mark, binding_free, bind); - MEMZERO(bind, rb_binding_t, 1); return obj; } @@ -972,7 +971,15 @@ return body; } +static VALUE +rb_obj_define_method(int argc, VALUE *argv, VALUE obj) +{ + VALUE klass = rb_singleton_class(obj); + return rb_mod_define_method(argc, argv, klass); +} + + /* * MISSING: documentation */ @@ -1495,6 +1502,9 @@ /* Module#*_method */ rb_define_method(rb_cModule, "instance_method", rb_mod_method, 1); rb_define_private_method(rb_cModule, "define_method", rb_mod_define_method, -1); + + /* Kernel */ + rb_define_method(rb_mKernel, "define_singleton_method", rb_obj_define_method, -1); } /* -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml