[Bug:1.9] Rational("355/113") clear $&

e$B0J2<$N$h$&$K!"e(BRational(“355/113”) e$B$H$9$k$He(B $& e$B$,e(B nil
e$B$K$J$je(B
e$B$^$9!#e(B

% ./ruby -ve '/a/ =~ “a”
p $&
Rational(“355/113”)
p $&

ruby 1.9.0 (2008-06-07 revision 16875) [i686-linux]
“a”
nil

e$B0J2<$N$h$&$K!"e(BRational(“355/113”) e$B$H$9$k$He(B $& e$B$,e(B nil e$B$K$J$je(B
e$B$^$9!#e(B

e$BFbIt$Ge(B match
e$B$r$D$+$C$F$k$N$,1F6A$7$F$$$k$H;W$$$^$9$,!"$I$&BP=h$7$?$ie(B
e$B$$$$$s$G$7$g$&$M!#%3%s%F%-%9%H$NLdBj$J$N$+!":G=i$+$iI{:nMQ$,$J$$$h$&$Je(B
e$B<jCJ$r$H$i$J$$$H$$$1$J$$$N$+!#e(B

e$B%o%J%Y$H?=$7$^$9!#e(B

2008/06/09 20:22 Tadayoshi F. [email protected]:

e$B0J2<$N$h$&$K!"e(BRational(“355/113”) e$B$H$9$k$He(B $& e$B$,e(B nil e$B$K$J$je(B
e$B$^$9!#e(B

e$BFbIt$Ge(B match e$B$r$D$+$C$F$k$N$,1F6A$7$F$$$k$H;W$$$^$9$,!“$I$&BP=h$7$?$ie(B
e$B$$$$$s$G$7$g$&$M!#%3%s%F%-%9%H$NLdBj$J$N$+!”:G=i$+$iI{:nMQ$,$J$$$h$&$Je(B
e$B<jCJ$r$H$i$J$$$H$$$1$J$$$N$+!#e(B

e$BC1=c$Ke(B backref e$B$r0l;~J]B8!&I|5"$9$k$N$O$I$&$G$7$g$&$+!#e(B

Index: rational.c

— rational.c (revision 17112)
+++ rational.c (working copy)
@@ -1274,13 +1274,15 @@
static VALUE
string_to_r_internal(VALUE self)
{

  • VALUE s, m;
  • VALUE s, m, backref;

    s = f_strip(self);

    if (RSTRING_LEN(s) == 0)
    return rb_assoc_new(Qnil, self);

  • backref = rb_backref_get();

  • rb_match_busy(backref);
    m = f_match(rat_pat, s);

    if (!NIL_P(m)) {
    @@ -1333,8 +1335,10 @@
    if (!NIL_P(de))
    v = f_div(v, f_to_i(de));

  • rb_backref_set(backref);
    return rb_assoc_new(v, re);
    }

  • rb_backref_set(backref);
    return rb_assoc_new(Qnil, self);
    }

e$B$3$s$K$A$O!"$J$+$`$ie(B(e$B$&e(B)e$B$G$9!#e(B

In message “[ruby-dev:35083] Re: [Bug:1.9] Rational(“355/113”) clear $&”
on Jun.13,2008 10:04:54, [email protected] wrote:

e$B$H$3$m$G!"%3%%C%H$9$k$H<+F0E*$Ke(BRedminee$B$,9T?J$5$l$k;EAH$$Oe(B

e$B$J$$$N$+$J$"!#e(B

e$B$"$k$=$&$G$9$h!#e(B

http://redmine.ruby-lang.org/wiki/redmine/VersionControlSystemJa

e$B$=$l$G$O!#e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:35081] Re: [Bug:1.9] Rational(“355/113”) clear
$&”
on Fri, 13 Jun 2008 00:49:43 +0900, wanabe [email protected]
writes:

|2008/06/09 20:22 Tadayoshi F. [email protected]:
|>> e$B0J2<$N$h$&$K!“e(BRational(“355/113”) e$B$H$9$k$He(B $& e$B$,e(B nil e$B$K$J$je(B
|>> e$B$^$9!#e(B
|>
|> e$BFbIt$Ge(B match e$B$r$D$+$C$F$k$N$,1F6A$7$F$$$k$H;W$$$^$9$,!”$I$&BP=h$7$?$ie(B
|> e$B$$$$$s$G$7$g$&$M!#%3%s%F%-%9%H$NLdBj$J$N$+!“:G=i$+$iI{:nMQ$,$J$$$h$&$Je(B
|> e$B<jCJ$r$H$i$J$$$H$$$1$J$$$N$+!#e(B
|
|e$BC1=c$Ke(B backref e$B$r0l;~J]B8!&I|5”$9$k$N$O$I$&$G$7$g$&$+!#e(B

e$B@55,I=8=$r;H$o$J$$J}K!$,NI$$$N$G$O$J$$$@$m$&$+$H9M$($F$$$^$7e(B
e$B$?$,!"$A$g$C$H<j4V$,$+$+$j$^$9$+$i!“EvLLJ]B8!&I|5”$GBP=h$7$?e(B
e$BJ}$,$h$$$G$7$g$&!#e(B

e$B%3%_%C%H$7$F$$$?$@$1$^$9$+!)e(B

e$B$H$3$m$G!"%3%%C%H$9$k$H<+F0E*$Ke(BRedminee$B$,9T?J$5$l$k;EAH$$Oe(B

e$B$J$$$N$+$J$"!#e(B

e$B!!$5$5$@$G$9!%e(B

Yukihiro M. wrote:

e$B$$$C!"e(B

fixed [ruby-dev:35085]

e$B$G$9$M!#:#8e3hMQ$5$;$F$b$i$$$^$9!#e(B

e$B!!@hF|!$e(Byugui e$B$5$s$Ke(B [ruby-dev:xxxx] e$B$G$be(B fix
e$B$H$7$F07$C$F$b$i$&$h$&e(B
e$B$KMj$_$^$7$?!%=>Mh$Ne(B ChangeLog
e$B%U%)!<%^%C%H$,!$$=$s$J$U$&$K$J$C$F$$e(B
e$B$k$+$i$G$9!%e(B

e$B!!5U$K!$e(Bref e$B$N>l9g$Ke(B ref [ruby-dev:xxxx]
e$B$H=q$$$F$b$i$&$h$&$K$J$k$he(B
e$B$&$G$9!%e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:35085] Re: [Bug:1.9] Rational(“355/113”) clear
$&”
on Fri, 13 Jun 2008 14:03:31 +0900, “U.Nakamura”
[email protected] writes:

|In message “[ruby-dev:35083] Re: [Bug:1.9] Rational(“355/113”) clear $&”
| on Jun.13,2008 10:04:54, [email protected] wrote:
|> # e$B$H$3$m$G!“%3%%C%H$9$k$H<+F0E*$Ke(BRedminee$B$,9T?J$5$l$k;EAH$$Oe(B
|> # e$B$J$$$N$+$J$”!#e(B
|
|e$B$"$k$=$&$G$9$h!#e(B
|
|http://redmine.ruby-lang.org/wiki/redmine/VersionControlSystemJa

e$B$$$C!"e(B

fixed [ruby-dev:35085]

e$B$G$9$M!#:#8e3hMQ$5$;$F$b$i$$$^$9!#e(B

Issue #112 has been updated by Anonymous.

Status changed from Open to Closed
% Done changed from 0 to 100

Applied in changeset r17147.

Bug #112: Rational(“355/113”) clear $&
http://redmine.ruby-lang.org/issues/show/112

Author: Anonymous
Status: Closed
Priority: Low
Assigned to: Yukihiro M.
Category:
Target version:

以下のように、Rational(“355/113”) とすると $& が nil になり
ます。

% ./ruby -ve '/a/ =~ “a”
p $&
Rational(“355/113”)
p $&

ruby 1.9.0 (2008-06-07 revision 16875) [i686-linux]
“a”
nil

[田中 哲][たなか あきら][Tanaka A.]