[Bug #3659] Marshal.load(Marshal.dump(10.0)) => 1.0

Bug #3659: Marshal.load(Marshal.dump(10.0)) => 1.0
http://redmine.ruby-lang.org/issues/show/3659

e$B5/I<<Te(B: Tomoyuki C.
e$B%9%F!<%?%9e(B: Open, e$BM%@hEYe(B: Normal
Target version: 1.9.x
ruby -v: ruby 1.9.3dev (2010-08-04 trunk 28840) [i686-linux]

trunk e$B$Ge(B 10.0, 200.0 e$B$N$h$&$Ke(B 0
e$B$G$J$$7e$,e(B1e$B$D$@$1$Ne(B Float e$B$re(B
Marshal.dump → load e$B$9$k$H7e$,$J$/$J$C$F$7$^$$$^$9!#e(B

Marshal.load(Marshal.dump(1.0))
=> 1.0
Marshal.load(Marshal.dump(10.0))
=> 1.0
Marshal.load(Marshal.dump(100.0))
=> 1.0
Marshal.load(Marshal.dump(110.0))
=> 110.0

r27774, r27792, r27937 e$B$N0lO"$N=$@5$G!"e(Bw_float
e$B$,%@%s%W$9$kI=8=$,e(B
100.0 => “100” e$B$+$ie(B 100.0 => “1.e2” e$B$N$h$&$KJQ2=$7$?$N$Ke(B
load e$B;~$KMxMQ$7$F$$$ke(B ruby_strtod() e$B$,$3$N$h$&$JI=8=$Oe(B “1”
e$B$^$G$7$+FI$^$J$$$?$a$G$9!#e(B

e$B$J$e(B ruby_strtod e$B$,e(B “1.e2”
e$B$N$h$&$JI=8=$r<u$1IU$1$k$h$&$K$9$l$P$$$$$+$H$b;W$C$?$N$G$9$,e(B
r17072 e$B$N%3%_%C%H%m%0$K$h$l$P$3$l$O0U?^E
$J$h$&$G$9!#e(B

e$B%A%1%C%He(B #3659 e$B$,99?7$5$l$^$7$?!#e(B (by Nobuyoshi N.)

e$B%9%F!<%?%9e(B Opene$B$+$ie(BClosede$B$KJQ99e(B
e$B?JD=e(B % 0e$B$+$ie(B100e$B$KJQ99e(B

This issue was solved with changeset r28868.
Tomoyuki, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


http://redmine.ruby-lang.org/issues/show/3659