Skip to content

Commit 8daa392

Browse files
committed
Handle Errno::ENOTTY correctly
1 parent 0df3d2a commit 8daa392

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

lib/reline/ansi.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,8 @@ def self.inner_getc
9191
rescue Errno::EIO
9292
# Maybe the I/O has been closed.
9393
nil
94+
rescue Errno::ENOTTY
95+
nil
9496
end
9597

9698
@@in_bracketed_paste_mode = false

test/reline/yamatanooroti/test_rendering.rb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -775,6 +775,17 @@ def test_cyrillic_chars
775775
EOC
776776
end
777777

778+
def test_with_newline
779+
omit if Reline::IOGate.win?
780+
cmd = %Q{ruby -e 'print(%Q{abc def \\e\\r})' | ruby -I#{@pwd}/lib -rreline -e 'p Reline.readline(%{> })'}
781+
start_terminal(50, 50, ['bash', '-c', cmd])
782+
close
783+
assert_screen(<<~'EOC')
784+
> abc def
785+
"abc def "
786+
EOC
787+
end
788+
778789
private def write_inputrc(content)
779790
File.open(@inputrc_file, 'w') do |f|
780791
f.write content

0 commit comments

Comments
 (0)