From: Anonymous Date: 2008-08-03T10:13:57+09:00 Subject: [ruby-core:18092] [Ruby 1.8 - Bug #400] (Open) Possible bug in IO#ungetc Issue #400 has been reported by Anonymous. ---------------------------------------- Bug #400: Possible bug in IO#ungetc http://redmine.ruby-lang.org/issues/show/400 Author: Anonymous Status: Open Priority: Normal Assigned to: Category: Target version: According to the documentation for IO#ungetc: bq. "Only one character may be pushed back before a subsequent read operation (that is, you will be able to read only the last of several characters that have been pushed back)." But that doesn't seem to be the case: file.txt Voici la ligne une. Qui ���� la linea due. Aqu���� est���� la l����nea tres. Ist hier Linie vier. Est���� aqui a linha cinco. Here is line six. Rubyspec: @file = File.open("file.txt", "r") @file.getc 10.times { @file.ungetc(90) } @file.ungetc(80) @file.read(1).should == "P" @file.readline.should == "oici la ligne une.\n" #=> IO#ungetc pushing back only one character FAILED Expected "ZZZZZZZZZZoici la ligne une.\n" to equal "oici la ligne une.\n" Are we misunderstanding the documentation and this works as expected or is it a bug indeed? ---------------------------------------- http://redmine.ruby-lang.org