Hi,

At Sun, 27 Jun 2010 04:04:30 +0900,
James Edward Gray II wrote in [ruby-core:30910]:
> In Ruby 1.8 it's possible to continue to read from $stdin,
> even if it has been previously closed (by a user feeding it
> Control-D).  In 1.9 attempt the same read just returns nil
> without trying to gather any input.  Here's an example:
> 
> $ cat eof_change.rb 
> puts "Enter multiple lines:"
> p $stdin.read
> 
> puts "Question?"
> p $stdin.gets
> 
> __END__
> $ ruby -v eof_change.rb 
> ruby 1.8.6 (2010-02-05 patchlevel 399) [i686-darwin10.2.0]
> Enter multiple lines:
> one
> two
> three
> "one\ntwo\nthree\n"
> Question?
> answer
> "answer\n"
> $ rvm use 1.9.2
> 
> info: Using ruby 1.9.2 preview3
> $ ruby -v eof_change.rb 
> ruby 1.9.2dev (2010-05-31 revision 28117) [x86_64-darwin10.3.0]
> Enter multiple lines:
> one
> two
> three
> "one\ntwo\nthree\n"
> Question?
> nil
> 
> I ended both of the multi-line input requests above by pressing Control-D.
> 
> Is this an intentional change?

No, it's a bug.

-- 
Nobu Nakada