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

ruby-changes:1925

From: ko1@a...
Date: 9 Sep 2007 01:19:29 +0900
Subject: [ruby-changes:1925] akr - Ruby:r13416 (trunk): * marshal.c (r_object0): don't call user-defined initialize for

akr	2007-09-09 01:19:13 +0900 (Sun, 09 Sep 2007)

  New Revision: 13416

  Modified files:
    trunk/ChangeLog
    trunk/include/ruby/intern.h
    trunk/marshal.c
    trunk/struct.c

  Log:
    * marshal.c (r_object0): don't call user-defined initialize for
      T_STRUCT objects.
    
    * include/ruby/intern.h (rb_struct_initialize): declared.
    
    * struct.c (rb_struct_initialize): export.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=13416&r2=13415
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/struct.c?r1=13416&r2=13415
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/marshal.c?r1=13416&r2=13415
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/include/ruby/intern.h?r1=13416&r2=13415

Index: include/ruby/intern.h
===================================================================
--- include/ruby/intern.h	(revision 13415)
+++ include/ruby/intern.h	(revision 13416)
@@ -531,6 +531,7 @@
 VALUE rb_struct_new(VALUE, ...);
 VALUE rb_struct_define(const char*, ...);
 VALUE rb_struct_alloc(VALUE, VALUE);
+VALUE rb_struct_initialize(VALUE, VALUE);
 VALUE rb_struct_aref(VALUE, VALUE);
 VALUE rb_struct_aset(VALUE, VALUE, VALUE);
 VALUE rb_struct_getmember(VALUE, ID);
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 13415)
+++ ChangeLog	(revision 13416)
@@ -1,3 +1,12 @@
+Sun Sep  9 01:17:05 2007  Tanaka Akira  <akr@f...>
+
+	* marshal.c (r_object0): don't call user-defined initialize for
+	  T_STRUCT objects.
+
+	* include/ruby/intern.h (rb_struct_initialize): declared.
+
+	* struct.c (rb_struct_initialize): export.
+
 Sat Sep  8 23:55:56 2007  Tanaka Akira  <akr@f...>
 
 	* eval_method.ci (rb_get_alloc_func): new function to get allocation
Index: struct.c
===================================================================
--- struct.c	(revision 13415)
+++ struct.c	(revision 13416)
@@ -300,7 +300,7 @@
 /*
  */
 
-static VALUE
+VALUE
 rb_struct_initialize(VALUE self, VALUE values)
 {
     VALUE klass = rb_obj_class(self);
Index: marshal.c
===================================================================
--- marshal.c	(revision 13415)
+++ marshal.c	(revision 13416)
@@ -1276,7 +1276,7 @@
 		}
                 rb_ary_push(values, r_object(arg));
 	    }
-            rb_obj_call_init(v, RARRAY_LEN(values), RARRAY_PTR(values));
+            rb_struct_initialize(v, values);
             v = r_leave(v, arg);
 	}
 	break;

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

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