From: "nobu (Nobuyoshi Nakada)" Date: 2022-06-29T05:21:37+00:00 Subject: [ruby-core:109087] [Ruby master Bug#18881] IO#read_nonblock raises IOError when called following buffered character IO Issue #18881 has been updated by nobu (Nobuyoshi Nakada). @shyouhei Even without any conversion? This is an example on macOS. ```shell $ ruby -v -e 'r, w = IO.pipe; r.set_encoding("utf-8", "iso-8859-15"); w.write("foobar"); c = r.getc; r.ungetc(c); r.read_nonblock(3)' ruby 3.2.0dev (2022-06-28T06:49:05Z master 98bf8c83fa) [x86_64-darwin21] :63:in `read_nonblock': byte oriented read for character buffered IO (IOError) from -e:1:in `
' ``` ---------------------------------------- Bug #18881: IO#read_nonblock raises IOError when called following buffered character IO https://bugs.ruby-lang.org/issues/18881#change-98233 * Author: javanthropus (Jeremy Bopp) * Status: Rejected * Priority: Normal * ruby -v: ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x64-mingw-ucrt] * Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN ---------------------------------------- The following example code works as expected on Linux but raises an `IOError` on Windows: ``` ruby r, w = IO.pipe w.write("foobar") c = r.getc r.ungetc(c) r.read_nonblock(3) ``` The error message is: ``` IOError: byte oriented read for character buffered IO ``` -- https://bugs.ruby-lang.org/ Unsubscribe: