Issue #18657 has been updated by hsbt (Hiroshi SHIBATA).
Status changed from Open to Closed
This patch has been merged at
https://github.com/ruby/irb/pull/353
----------------------------------------
Bug #18657: IRB raises exception when stdout is a pipe
https://bugs.ruby-lang.org/issues/18657#change-100295
* Author: pjones (Peter Jones)
* Status: Closed
* Priority: Normal
* ruby -v: ruby 3.2.0dev (2022-03-24T16:14:55Z master 33b13bd9f1) [x86_64-linux]
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN
----------------------------------------
When piping stdout to another process IRB fails:
```
lib/ruby/3.0.0/irb/input-method.rb:42:in `winsize': Inappropriate ioctl for device
(Errno::ENOTTY)
```
For example:
```
echo n=1 | irb | cat
```
This bug was introduced in e468d9f49ca34f713c030c623f655a40370e186d and triggered by
8f9b1902f48b413bd161666630c878ad58418c04 and 555ea8334451c5ccd881e68b8b7ddc15745e66e3.
The attached patch fixes the bug and includes a test to demonstrate the issue.
---Files--------------------------------
ruby-irb.patch (1.26 KB)
--
https://bugs.ruby-lang.org/