$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);
on 05.05.2008 09:44
on 05.05.2008 12:25
$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
on 06.05.2008 07:36
$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
on 06.05.2008 11:41
$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