<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,3 +1,12 @@
+Fri Jan 16 10:59:31 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;
+
+	* class.c (clone_method): should copy cbase in cref as well.
+	  [ruby-dev:35116]
+
+	* node.h (NEW_CREF): new NEW_ macro.
+
+	* eval.c (PUSH_CREF): use NEW_CREF().
+
 Thu Jan 15 14:34:32 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;
 
 	* gc.c (STACK_LEVEL_MAX, ruby_stack_length): returns size_t.</diff>
      <filename>ChangeLog</filename>
    </modified>
    <modified>
      <diff>@@ -62,7 +62,10 @@ clone_method(mid, body, data)
     NODE *fbody = body-&gt;nd_body;
 
     if (fbody &amp;&amp; nd_type(fbody) == NODE_SCOPE) {
-	fbody = rb_copy_node_scope(fbody, ruby_cref);
+	NODE *cref = (NODE*)fbody-&gt;nd_rval;
+
+	if (cref) cref = cref-&gt;nd_next;
+	fbody = rb_copy_node_scope(fbody, NEW_CREF(data-&gt;klass, cref));
     }
     st_insert(data-&gt;tbl, mid, (st_data_t)NEW_METHOD(fbody, body-&gt;nd_noex));
     return ST_CONTINUE;</diff>
      <filename>class.c</filename>
    </modified>
    <modified>
      <diff>@@ -1065,7 +1065,7 @@ static VALUE ruby_wrapper;	/* security wrapper */
 
 NODE *ruby_cref = 0;
 NODE *ruby_top_cref;
-#define PUSH_CREF(c) ruby_cref = NEW_NODE(NODE_CREF,(c),0,ruby_cref)
+#define PUSH_CREF(c) ruby_cref = NEW_CREF(c,ruby_cref)
 #define POP_CREF() ruby_cref = ruby_cref-&gt;nd_next
 
 #define PUSH_SCOPE() do {		\</diff>
      <filename>eval.c</filename>
    </modified>
    <modified>
      <diff>@@ -319,7 +319,7 @@ extern NODE *ruby_top_cref;
 #define NEW_MODULE(n,b) NEW_NODE(NODE_MODULE,n,NEW_SCOPE(b),0)
 #define NEW_COLON2(c,i) NEW_NODE(NODE_COLON2,c,i,0)
 #define NEW_COLON3(i) NEW_NODE(NODE_COLON3,0,i,0)
-#define NEW_CREF(c) (NEW_NODE(NODE_CREF,0,0,c))
+#define NEW_CREF(c,n) NEW_NODE(NODE_CREF,c,0,n)
 #define NEW_DOT2(b,e) NEW_NODE(NODE_DOT2,b,e,0)
 #define NEW_DOT3(b,e) NEW_NODE(NODE_DOT3,b,e,0)
 #define NEW_ATTRSET(a) NEW_NODE(NODE_ATTRSET,a,0,0)</diff>
      <filename>node.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,15 +1,15 @@
 #define RUBY_VERSION &quot;1.8.7&quot;
-#define RUBY_RELEASE_DATE &quot;2009-01-15&quot;
+#define RUBY_RELEASE_DATE &quot;2009-01-16&quot;
 #define RUBY_VERSION_CODE 187
-#define RUBY_RELEASE_CODE 20090115
-#define RUBY_PATCHLEVEL 86
+#define RUBY_RELEASE_CODE 20090116
+#define RUBY_PATCHLEVEL 87
 
 #define RUBY_VERSION_MAJOR 1
 #define RUBY_VERSION_MINOR 8
 #define RUBY_VERSION_TEENY 7
 #define RUBY_RELEASE_YEAR 2009
 #define RUBY_RELEASE_MONTH 1
-#define RUBY_RELEASE_DAY 15
+#define RUBY_RELEASE_DAY 16
 
 #ifdef RUBY_EXTERN
 RUBY_EXTERN const char ruby_version[];</diff>
      <filename>version.h</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>37d008b943244611a296556c1e3ab4a81a7379b2</id>
    </parent>
  </parents>
  <author>
    <name>shyouhei</name>
    <email>shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
  </author>
  <url>http://github.com/ice799/matzruby/commit/59aeaa7fa4f19747116ec4e587103979b4d17c94</url>
  <id>59aeaa7fa4f19747116ec4e587103979b4d17c94</id>
  <committed-date>2009-01-15T18:00:48-08:00</committed-date>
  <authored-date>2009-01-15T18:00:48-08:00</authored-date>
  <message>merge revision(s) 18485:
	* class.c (clone_method): should copy cbase in cref as well.
	  [ruby-dev:35116]
	* node.h (NEW_CREF): new NEW_ macro.
	* eval.c (PUSH_CREF): use NEW_CREF().


git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8_7@21585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e</message>
  <tree>f695829999d8dc8cd7d06471afefc8b77561cc4d</tree>
  <committer>
    <name>shyouhei</name>
    <email>shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
  </committer>
</commit>
