Ruby Forum Ruby-dev > patch for Struct.new(0)

Posted by wanabe (Guest)
on 05.05.2008 09:44
(Received via mailing list)
$B%o%J%Y$H?=$7$^$9!#(B

Struct.new(0)$B$G!"(BBUG 
$B$GMn$A$:$KNc30$rHt$P$9%Q%C%A$r=q$-$^$7$?!#(B

Index: struct.c
===================================================================
--- struct.c  (revision 16278)
+++ struct.c  (working copy)
@@ -322,14 +322,14 @@
     ID id;

     rb_scan_args(argc, argv, "1*", &name, &rest);
+    if (!NIL_P(name) && TYPE(name) != T_STRING) {
+  rb_ary_unshift(rest, name);
+  name = Qnil;
+    }
     for (i=0; i<RARRAY_LEN(rest); i++) {
   id = rb_to_id(RARRAY_PTR(rest)[i]);
   RARRAY_PTR(rest)[i] = ID2SYM(id);
     }
-    if (!NIL_P(name) && SYMBOL_P(name)) {
-  rb_ary_unshift(rest, name);
-  name = Qnil;
-    }
     st = make_struct(name, rest, klass);
     if (rb_block_given_p()) {
   rb_mod_module_eval(0, 0, st);
Posted by Yukihiro Matsumoto (Guest)
on 05.05.2008 12:25
(Received via mailing list)
$B$^$D$b$H(B $B$f$-$R$m$G$9(B

In message "Re: [ruby-dev:34594] patch for Struct.new(0)"
    on Mon, 5 May 2008 16:43:40 +0900, wanabe <s.wanabe@gmail.com> 
writes:

|Struct.new(0)$B$G!"(BBUG $B$GMn$A$:$KNc30$rHt$P$9%Q%C%A$r=q$-$^$7$?!#(B

$B<h$j9~$_$^$9!#$=$m$=$m%o%J%Y$5$s$K%3%_%C%H8"$r$"$2$?$$(B...$B!#(B
Posted by wanabe (Guest)
on 06.05.2008 07:36
(Received via mailing list)
$B%o%J%Y$G$9!#(B

2008/05/05 19:24 Yukihiro Matsumoto <matz@ruby-lang.org>:
>  $B<h$j9~$_$^$9!#$=$m$=$m%o%J%Y$5$s$K%3%_%C%H8"$r$"$2$?$$(B...$B!#(B

$B>/$7I]$$5$$b$7$^$9$,!"C;$$%Q%C%A$NO"Ej$P$+$j$G5$$,0z$1$F$-$?$N$G(B
$BD:$1$k$J$i$P$"$j$,$?$/D:BW$7$^$9!#(B

$B$($($H!"(Bssh2$B$N8x3+80$rMQ0U$7$F(Bcvs-admin$B$K%a!<%k!"$G$$$$$s$G$7$g$&$+!#(B
Posted by Yukihiro Matsumoto (Guest)
on 06.05.2008 11:41
(Received via mailing list)
$B$^$D$b$H(B $B$f$-$R$m$G$9(B

In message "Re: [ruby-dev:34597] Re: patch for Struct.new(0)"
    on Tue, 6 May 2008 14:35:53 +0900, wanabe <s.wanabe@gmail.com> 
writes:

|2008/05/05 19:24 Yukihiro Matsumoto <matz@ruby-lang.org>:
|>  $B<h$j9~$_$^$9!#$=$m$=$m%o%J%Y$5$s$K%3%_%C%H8"$r$"$2$?$$(B...$B!#(B
|
|$B>/$7I]$$5$$b$7$^$9$,!"C;$$%Q%C%A$NO"Ej$P$+$j$G5$$,0z$1$F$-$?$N$G(B
|$BD:$1$k$J$i$P$"$j$,$?$/D:BW$7$^$9!#(B
|
|$B$($($H!"(Bssh2$B$N8x3+80$rMQ0U$7$F(Bcvs-admin$B$K%a!<%k!"$G$$$$$s$G$7$g$&$+!#(B

$B$=$&$G$9!#(Bpgp$B$G%5%$%s$7$F$/$@$5$$!#(B