diff --git a/ChangeLog b/ChangeLog index b4157d3edc..7655554f61 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Fri May 23 03:48:10 2008 Akinori MUSHA + + * class.c (clone_method): Just use ruby_cref as cref. + Fri May 23 01:03:23 2008 Akinori MUSHA * class.c (rb_singleton_class_clone): Pass Qnil, not 0. diff --git a/class.c b/class.c index 8409f42e3a..0b766c0c50 100644 --- a/class.c +++ b/class.c @@ -57,19 +57,18 @@ clone_method(mid, body, nklass) NODE *fbody = body->nd_body; if (fbody) { - NODE *cref = NEW_NODE(NODE_CREF, nklass, 0, 0); VALUE nbody; switch (nd_type(fbody)) { case NODE_SCOPE: - fbody = rb_copy_node_scope(fbody, cref); + fbody = rb_copy_node_scope(fbody, ruby_cref); break; case NODE_BMETHOD: - nbody = rb_block_dup(fbody->nd_cval, nklass, (VALUE)cref); + nbody = rb_block_dup(fbody->nd_cval, nklass, (VALUE)ruby_cref); fbody = NEW_BMETHOD(nbody); break; case NODE_DMETHOD: - nbody = rb_method_dup(fbody->nd_cval, nklass, (VALUE)cref); + nbody = rb_method_dup(fbody->nd_cval, nklass, (VALUE)ruby_cref); fbody = NEW_DMETHOD(nbody); break; }