diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-28 10:27:21 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-28 10:27:21 +0000 |
commit | 708122f30a83f487c2a8c95eaef4ee999af50720 (patch) | |
tree | d36fdbb570f6ef64cbff9dbe844602d3f87d8757 /class.c | |
parent | fbf221938785ada708e9a6c981571f3a2b4a9197 (diff) |
merge revision(s) 17625:
* class.c (clone_method): use rb_copy_node_scope.
fixed [ruby-list:45102]
fixed [ruby-core:17393]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_6@17630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'class.c')
-rw-r--r-- | class.c | 5 |
1 files changed, 1 insertions, 4 deletions
@@ -62,10 +62,7 @@ clone_method(mid, body, data) NODE *fbody = body->nd_body; if (fbody && nd_type(fbody) == NODE_SCOPE) { - VALUE cref = data->klass ? - (VALUE)NEW_NODE(NODE_CREF,data->klass,0,fbody->nd_rval) : - fbody->nd_rval; - fbody = NEW_NODE(NODE_SCOPE, fbody->nd_tbl, cref, fbody->nd_next); + fbody = rb_copy_node_scope(fbody, ruby_cref); } st_insert(data->tbl, mid, (st_data_t)NEW_METHOD(fbody, body->nd_noex)); return ST_CONTINUE; |