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