summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-06-28 10:27:21 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-06-28 10:27:21 +0000
commit708122f30a83f487c2a8c95eaef4ee999af50720 (patch)
treed36fdbb570f6ef64cbff9dbe844602d3f87d8757
parentfbf221938785ada708e9a6c981571f3a2b4a9197 (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
-rw-r--r--ChangeLog6
-rw-r--r--class.c5
-rw-r--r--version.h2
3 files changed, 8 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 074f732f47..2f0c93714f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Sat Jun 28 19:26:43 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 19:25:56 2008 Akinori MUSHA <knu@iDaemons.org>
* eval.c (rb_copy_node_scope), node.h: Rename from copy_node_scope
diff --git a/class.c b/class.c
index 106f796140..096c7fbdf1 100644
--- a/class.c
+++ b/class.c
@@ -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;
diff --git a/version.h b/version.h
index 16d76d75b0..e95b093b06 100644
--- a/version.h
+++ b/version.h
@@ -2,7 +2,7 @@
#define RUBY_RELEASE_DATE "2008-06-28"
#define RUBY_VERSION_CODE 186
#define RUBY_RELEASE_CODE 20080628
-#define RUBY_PATCHLEVEL 237
+#define RUBY_PATCHLEVEL 238
#define RUBY_VERSION_MAJOR 1
#define RUBY_VERSION_MINOR 8