[前][次][番号順一覧][スレッド一覧]

ruby-changes:10040

From: shyouhei <ko1@a...>
Date: Fri, 16 Jan 2009 10:59:14 +0900 (JST)
Subject: [ruby-changes:10040] Ruby:r21583 (ruby_1_8_6): merge revision(s) 18485:

shyouhei	2009-01-16 10:58:45 +0900 (Fri, 16 Jan 2009)

  New Revision: 21583

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=21583

  Log:
    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().

  Modified files:
    branches/ruby_1_8_6/ChangeLog
    branches/ruby_1_8_6/class.c
    branches/ruby_1_8_6/eval.c
    branches/ruby_1_8_6/node.h
    branches/ruby_1_8_6/version.h

Index: ruby_1_8_6/class.c
===================================================================
--- ruby_1_8_6/class.c	(revision 21582)
+++ ruby_1_8_6/class.c	(revision 21583)
@@ -62,7 +62,10 @@
     NODE *fbody = body->nd_body;
 
     if (fbody && nd_type(fbody) == NODE_SCOPE) {
-	fbody = rb_copy_node_scope(fbody, ruby_cref);
+	NODE *cref = (NODE*)fbody->nd_rval;
+
+	if (cref) cref = cref->nd_next;
+	fbody = rb_copy_node_scope(fbody, NEW_CREF(data->klass, cref));
     }
     st_insert(data->tbl, mid, (st_data_t)NEW_METHOD(fbody, body->nd_noex));
     return ST_CONTINUE;
Index: ruby_1_8_6/ChangeLog
===================================================================
--- ruby_1_8_6/ChangeLog	(revision 21582)
+++ ruby_1_8_6/ChangeLog	(revision 21583)
@@ -1,3 +1,12 @@
+Fri Jan 16 10:55:51 2009  Yukihiro Matsumoto  <matz@r...>
+
+	* 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  <nobu@r...>
 
 	* gc.c (STACK_LEVEL_MAX, ruby_stack_length): returns size_t.
Index: ruby_1_8_6/version.h
===================================================================
--- ruby_1_8_6/version.h	(revision 21582)
+++ ruby_1_8_6/version.h	(revision 21583)
@@ -1,15 +1,15 @@
 #define RUBY_VERSION "1.8.6"
-#define RUBY_RELEASE_DATE "2009-01-15"
+#define RUBY_RELEASE_DATE "2009-01-16"
 #define RUBY_VERSION_CODE 186
-#define RUBY_RELEASE_CODE 20090115
-#define RUBY_PATCHLEVEL 299
+#define RUBY_RELEASE_CODE 20090116
+#define RUBY_PATCHLEVEL 300
 
 #define RUBY_VERSION_MAJOR 1
 #define RUBY_VERSION_MINOR 8
 #define RUBY_VERSION_TEENY 6
 #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[];
Index: ruby_1_8_6/eval.c
===================================================================
--- ruby_1_8_6/eval.c	(revision 21582)
+++ ruby_1_8_6/eval.c	(revision 21583)
@@ -1068,7 +1068,7 @@
 
 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->nd_next
 
 #define PUSH_SCOPE() do {		\
Index: ruby_1_8_6/node.h
===================================================================
--- ruby_1_8_6/node.h	(revision 21582)
+++ ruby_1_8_6/node.h	(revision 21583)
@@ -319,7 +319,7 @@
 #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)

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]