Actions
Bug #9067
closedIO.reopen broken in 1.9/2.0, worked in 1.8
Status:
Rejected
Assignee:
-
Target version:
-
ruby -v:
ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13]
Backport:
Description
Try piping some input into the attached code:
echo foo | reopen-fail.rb
Works as expected with ruby 1.8.7 (2012-02-08 patchlevel 358) [i686-linux]:
- "foo" is printed at the middle of the screen
- you can press RETURN to exit
Results with ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux] and ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13]:
./reopen-fail.rb:8:in reopen': <STDIN> can't change access mode from "r" to "w" (ArgumentError) from ./reopen-fail.rb:8:in
'
AFAICT this makes it impossible to write Curses programs in Ruby that can accept input through pipes with newer versions of Ruby.
In my particular case this blocks my Ruby-implemented less replacement: https://github.com/walles/moar
Files
Actions
Like0
Like0Like0Like0