summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--class.c7
2 files changed, 7 insertions, 4 deletions
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 <knu@iDaemons.org>
+
+ * class.c (clone_method): Just use ruby_cref as cref.
+
Fri May 23 01:03:23 2008 Akinori MUSHA <knu@iDaemons.org>
* 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;
}