ruby-changes:5771
From: shyouhei <ko1@a...>
Date: Sun, 15 Jun 2008 22:44:56 +0900 (JST)
Subject: [ruby-changes:5771] Ruby:r17278 (ruby_1_8_6): merge revision(s) 16307:
shyouhei 2008-06-15 22:44:44 +0900 (Sun, 15 Jun 2008) New Revision: 17278 Modified files: branches/ruby_1_8_6/ChangeLog branches/ruby_1_8_6/struct.c branches/ruby_1_8_6/version.h Log: merge revision(s) 16307: * struct.c (rb_struct_s_def): to_str should be called only once. [ruby-core:16647] http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/ChangeLog?r1=17278&r2=17277&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/version.h?r1=17278&r2=17277&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/struct.c?r1=17278&r2=17277&diff_format=u Index: ruby_1_8_6/ChangeLog =================================================================== --- ruby_1_8_6/ChangeLog (revision 17277) +++ ruby_1_8_6/ChangeLog (revision 17278) @@ -1,3 +1,8 @@ +Sun Jun 15 22:44:25 2008 Yukihiro Matsumoto <matz@r...> + + * struct.c (rb_struct_s_def): to_str should be called only once. + [ruby-core:16647] + Sun Jun 15 22:42:54 2008 Yukihiro Matsumoto <matz@r...> * ext/zlib/zlib.c (gzreader_gets): may cause infinite loop. Index: ruby_1_8_6/version.h =================================================================== --- ruby_1_8_6/version.h (revision 17277) +++ ruby_1_8_6/version.h (revision 17278) @@ -2,7 +2,7 @@ #define RUBY_RELEASE_DATE "2008-06-15" #define RUBY_VERSION_CODE 186 #define RUBY_RELEASE_CODE 20080615 -#define RUBY_PATCHLEVEL 203 +#define RUBY_PATCHLEVEL 204 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 8 Index: ruby_1_8_6/struct.c =================================================================== --- ruby_1_8_6/struct.c (revision 17277) +++ ruby_1_8_6/struct.c (revision 17278) @@ -307,19 +307,14 @@ ID id; rb_scan_args(argc, argv, "1*", &name, &rest); + if (!NIL_P(name) && SYMBOL_P(name)) { + rb_ary_unshift(rest, name); + name = Qnil; + } for (i=0; i<RARRAY(rest)->len; i++) { id = rb_to_id(RARRAY(rest)->ptr[i]); RARRAY(rest)->ptr[i] = ID2SYM(id); } - if (!NIL_P(name)) { - VALUE tmp = rb_check_string_type(name); - - if (NIL_P(tmp)) { - id = rb_to_id(name); - rb_ary_unshift(rest, ID2SYM(id)); - name = Qnil; - } - } st = make_struct(name, rest, klass); if (rb_block_given_p()) { rb_mod_module_eval(0, 0, st); -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/