From 83ef23bd75bfee481ea259473742d99d95d2f954 Mon Sep 17 00:00:00 2001 From: aycabta Date: Sat, 14 Sep 2019 00:11:01 +0900 Subject: [PATCH] Revert "Use IO#getch to read one char in raw mode" This reverts commit 805b0a481132938638dbd32830cf5dca3910efb1. --- lib/reline/ansi.rb | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/reline/ansi.rb b/lib/reline/ansi.rb index 41f291809e..a3401b9c9f 100644 --- a/lib/reline/ansi.rb +++ b/lib/reline/ansi.rb @@ -1,5 +1,3 @@ -require 'io/console' - class Reline::ANSI RAW_KEYSTROKE_CONFIG = { [27, 91, 65] => :ed_prev_history, # ↑ @@ -26,7 +24,14 @@ class Reline::ANSI unless @@buf.empty? return @@buf.shift end - @@input.getch&.ord + c = nil + loop do + result = select([@@input], [], [], 0.1) + next if result.nil? + c = @@input.read(1) + break + end + c&.ord end def self.ungetc(c)