From: matz@... Date: 2017-11-29T09:24:17+00:00 Subject: [ruby-core:83965] [Ruby trunk Bug#13675] Should Zlib::GzipReader#ungetc accept nil? Issue #13675 has been updated by matz (Yukihiro Matsumoto). Making `Zlib::GzipReader#ungetc` accept nil does not help anybody. You should keep as it is. I am not sure if we should fix `IO#ungetc` or not (yet). Let me consider. Matz. ---------------------------------------- Bug #13675: Should Zlib::GzipReader#ungetc accept nil? https://bugs.ruby-lang.org/issues/13675#change-68034 * Author: Eregon (Benoit Daloze) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux] * Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN ---------------------------------------- IO#ungetc accepts nil and just does nothing: p File.new(__FILE__).ungetc(nil) But on a GzipReader it fails: require 'zlib' zip = "\x1F\x8B\b\x00,\xDC\xD1G\x00\x0334261MLJNI\x05\x00\x9D\x05\x00$\n\x00\x00\x00" io = StringIO.new zip gz = Zlib::GzipReader.new(io) p gz.ungetc(nil) # => repro.rb:8:in `ungetc': no implicit conversion of nil into String (TypeError) from repro.rb:8:in `
' Should Zlib::GzipReader#ungetc accept nil? Or should IO#ungetc also raise when given nil? Discovered in https://github.com/jruby/jruby/pull/4636#issuecomment-305325839 -- https://bugs.ruby-lang.org/ Unsubscribe: