[Bug:trunk] rubyspec: StringIO#ungetc when passed [char] tries to convert the passed length to an I

stringio e$B$N%a%s%F%J$N$J$+$@$5$s!"$b$7$/$O@.@%$5$se(B
e$B1sF#$G$9!#e(B

to_int e$B$r<BAu$7$?%*%V%8%’%/%H$re(B StringIO#ungetc
e$B$KM?$($?;~$N5sF0$,e(B
1.8 e$B$He(B 1.9 e$B$G0c$$$^$9!#e(B

1.8 e$B$G$OIaDL$K<u$1F~$l$ke(B

$ ruby18 -rstringio -e ’
o = Object.new
def o.to_int; ?A.ord; end
StringIO.new.ungetc(o)

1.9 e$B$G$ONc30e(B

$ ruby19 -rstringio -e ’
o = Object.new
def o.to_int; ?A.ord; end
StringIO.new.ungetc(o)

-e:4:in ungetc': can't convert Object into String (TypeError) from -e:4:in

M17N e$BBP1~$N1F6A$@$H;W$$$^$9$,!"$3$l$Oe(B 1.9
e$B$+$i$N;EMMJQ99$H$7$^$9$+!)e(B

e$B%A%1%C%He(B #2697 e$B$,99?7$5$l$^$7$?!#e(B (by Yui NARUSE)

e$B%+%F%4%je(B exte$B$K%;%C%He(B
e$B%9%F!<%?%9e(B Opene$B$+$ie(BRejectede$B$KJQ99e(B
ruby -v ruby 1.9.2dev (2010-01-28 trunk 26458) [x86_64-freebsd8.0]
e$B$K%;%C%He(B

IO#ungetc e$B$bF1MM$N5sF0$J$N$G!";EMMJQ99$G$7$g$&!#e(B

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