Project

General

Profile

Backport #2057

Updated by jeremyevans0 (Jeremy Evans) almost 5 years ago

=begin 
  
  Issue cloned from #1909. 
 
  -- 
  This works: 
  io = File.open("a.txt", "r+") 
  io.read(0) 
  p io.pos                   # => 0 
  io.ungetc(100) 
  p io.pos                   # => 0 
 
  while this doesn't: 
  io = File.open("a.txt", "r+") 
  p io.pos                   # => 0 
  io.ungetc(100)             # => unread stream (IOError) 
 
  I would expect the first case to raise the same error as the second one since ungetc is supposed to shift the position back by 1 and we are at the beginning of the stream. 
 
  In ruby 1.9.1p129 (2009-05-12 revision 23412) [i386-mswin32] neither case raises an exception, which is at least consistent but still weird. 
 
 =end 
 

Back