Forum: Ruby-core [ruby-trunk - Bug #7232][Open] StringIO#gets(nil, nil) raises TypeError, IO/File#gets do not

Posted by Brian Ford (brixen)
on 2012-10-28 20:12
(Received via mailing list)
Issue #7232 has been reported by brixen (Brian Ford).

----------------------------------------
Bug #7232: StringIO#gets(nil, nil) raises TypeError, IO/File#gets do not
https://bugs.ruby-lang.org/issues/7232

Author: brixen (Brian Ford)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby 1.9.3p286 (2012-10-12 revision 37165) 
[x86_64-darwin10.8.0]


Is this a bug?

sasha:rubinius brian$ irb
1.9.3p286 :001 > require 'stringio'
 => true
1.9.3p286 :002 > s = StringIO.new "abc"
 => #<StringIO:0x000001008b3d90>
1.9.3p286 :003 > s.gets nil, nil
TypeError: no implicit conversion from nil to integer
  from (irb):3:in `gets'
  from (irb):3
  from /Users/brian/.rvm/rubies/ruby-1.9.3-p286/bin/irb:16:in `<main>'

sasha:rubinius brian$ irb
1.9.3p286 :001 > f = File.open "foobar.txt"
 => #<File:foobar.txt>
1.9.3p286 :002 > io = IO.new f.fileno
 => #<IO:fd 5>
1.9.3p286 :003 > io.gets nil, nil
 => "ありがとう\n"
1.9.3p286 :004 > f.rewind
 => 0
1.9.3p286 :005 > f.gets nil, nil
 => "ありがとう\n"

Thanks,
Brian
Posted by usa (Usaku NAKAMURA) (Guest)
on 2012-12-21 14:54
(Received via mailing list)
Issue #7232 has been updated by usa (Usaku NAKAMURA).

Category set to ext
Status changed from Open to Assigned
Assignee set to nobu (Nobuyoshi Nakada)
Target version set to 2.0.0

can reproduce with current trunk.
----------------------------------------
Bug #7232: StringIO#gets(nil, nil) raises TypeError, IO/File#gets do not
https://bugs.ruby-lang.org/issues/7232#change-34969

Author: brixen (Brian Ford)
Status: Assigned
Priority: Normal
Assignee: nobu (Nobuyoshi Nakada)
Category: ext
Target version: 2.0.0
ruby -v: ruby 1.9.3p286 (2012-10-12 revision 37165) 
[x86_64-darwin10.8.0]


Is this a bug?

sasha:rubinius brian$ irb
1.9.3p286 :001 > require 'stringio'
 => true
1.9.3p286 :002 > s = StringIO.new "abc"
 => #<StringIO:0x000001008b3d90>
1.9.3p286 :003 > s.gets nil, nil
TypeError: no implicit conversion from nil to integer
  from (irb):3:in `gets'
  from (irb):3
  from /Users/brian/.rvm/rubies/ruby-1.9.3-p286/bin/irb:16:in `<main>'

sasha:rubinius brian$ irb
1.9.3p286 :001 > f = File.open "foobar.txt"
 => #<File:foobar.txt>
1.9.3p286 :002 > io = IO.new f.fileno
 => #<IO:fd 5>
1.9.3p286 :003 > io.gets nil, nil
 => "ありがとう\n"
1.9.3p286 :004 > f.rewind
 => 0
1.9.3p286 :005 > f.gets nil, nil
 => "ありがとう\n"

Thanks,
Brian
Posted by Glass_saga (Masaki Matsushita) (Guest)
on 2012-12-25 05:16
(Received via mailing list)
Issue #7232 has been updated by Glass_saga (Masaki Matsushita).

File patch.diff added

How about the patch?
----------------------------------------
Bug #7232: StringIO#gets(nil, nil) raises TypeError, IO/File#gets do not
https://bugs.ruby-lang.org/issues/7232#change-35054

Author: brixen (Brian Ford)
Status: Assigned
Priority: Normal
Assignee: nobu (Nobuyoshi Nakada)
Category: ext
Target version: 2.0.0
ruby -v: ruby 1.9.3p286 (2012-10-12 revision 37165) 
[x86_64-darwin10.8.0]


Is this a bug?

sasha:rubinius brian$ irb
1.9.3p286 :001 > require 'stringio'
 => true
1.9.3p286 :002 > s = StringIO.new "abc"
 => #<StringIO:0x000001008b3d90>
1.9.3p286 :003 > s.gets nil, nil
TypeError: no implicit conversion from nil to integer
  from (irb):3:in `gets'
  from (irb):3
  from /Users/brian/.rvm/rubies/ruby-1.9.3-p286/bin/irb:16:in `<main>'

sasha:rubinius brian$ irb
1.9.3p286 :001 > f = File.open "foobar.txt"
 => #<File:foobar.txt>
1.9.3p286 :002 > io = IO.new f.fileno
 => #<IO:fd 5>
1.9.3p286 :003 > io.gets nil, nil
 => "ありがとう\n"
1.9.3p286 :004 > f.rewind
 => 0
1.9.3p286 :005 > f.gets nil, nil
 => "ありがとう\n"

Thanks,
Brian
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.