diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-30 05:06:52 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-30 05:06:52 +0000 |
commit | 7d4ee1d235a90d98e94b12a6a2070d5e8b0c404f (patch) | |
tree | a4acf2a0115716e677477b16022801eddf58cb0a | |
parent | 18c9e590c3303977a9b7960394e36e1d716722ae (diff) | |
download | ruby-7d4ee1d235a90d98e94b12a6a2070d5e8b0c404f.tar.gz |
* proc.c (rb_obj_define_method): reverted. [ruby-talk:266637]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | proc.c | 14 |
2 files changed, 16 insertions, 2 deletions
@@ -1,3 +1,7 @@ +Thu Aug 30 14:06:50 2007 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * proc.c (rb_obj_define_method): reverted. [ruby-talk:266637] + Thu Aug 30 13:49:25 2007 Nobuyoshi Nakada <nobu@ruby-lang.org> * lib/mkmf.rb: initialize $top_srcdir always. [ruby-dev:31682] @@ -1,6 +1,6 @@ /********************************************************************** - proc.c - Proc, Bindng, Env + proc.c - Proc, Binding, Env $Author$ $Date$ @@ -148,7 +148,6 @@ binding_alloc(VALUE klass) 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,6 +971,14 @@ rb_mod_define_method(int argc, VALUE *argv, VALUE mod) 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 @@ Init_Proc(void) /* 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); } /* |