diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | class.c | 5 | ||||
-rw-r--r-- | version.h | 2 |
3 files changed, 8 insertions, 5 deletions
@@ -1,3 +1,9 @@ +Sat Jun 28 19:23:40 2008 URABE Shyouhei <shyouhei@ruby-lang.org> + + * class.c (clone_method): use rb_copy_node_scope. + fixed [ruby-list:45102] + fixed [ruby-core:17393] + Sat Jun 28 18:49:50 2008 URABE Shyouhei <shyouhei@ruby-lang.org> * class.c: revert to r15855. @@ -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; @@ -2,7 +2,7 @@ #define RUBY_RELEASE_DATE "2008-06-28" #define RUBY_VERSION_CODE 187 #define RUBY_RELEASE_CODE 20080628 -#define RUBY_PATCHLEVEL 22 +#define RUBY_PATCHLEVEL 23 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 8 |