ruby-changes:57870
From: aycabta <ko1@a...>
Date: Mon, 23 Sep 2019 17:28:09 +0900 (JST)
Subject: [ruby-changes:57870] 934507472c (master): Retrieve key-buffer that was supposed to lose
https://git.ruby-lang.org/ruby.git/commit/?id=934507472c From 934507472c92ccada3f30be183fea5066427efda Mon Sep 17 00:00:00 2001 From: aycabta <aycabta@g...> Date: Mon, 23 Sep 2019 17:26:38 +0900 Subject: Retrieve key-buffer that was supposed to lose diff --git a/lib/reline/ansi.rb b/lib/reline/ansi.rb index 9d9f79f..b12dc2f 100644 --- a/lib/reline/ansi.rb +++ b/lib/reline/ansi.rb @@ -38,6 +38,15 @@ class Reline::ANSI https://github.com/ruby/ruby/blob/trunk/lib/reline/ansi.rb#L38 @@buf.unshift(c) end + def self.retrieve_keybuffer + result = select([@@input], [], [], 0.1) + return if result.nil? + str = @@input.read_nonblock(1024) + str.bytes.each do |c| + @@buf.push(c) + end + end + def self.get_screen_size @@input.winsize rescue Errno::ENOTTY @@ -112,6 +121,7 @@ class Reline::ANSI https://github.com/ruby/ruby/blob/trunk/lib/reline/ansi.rb#L121 end def self.prep + retrieve_keybuffer int_handle = Signal.trap('INT', 'IGNORE') otio = `stty -g`.chomp setting = ' -echo -icrnl cbreak' -- cgit v0.10.2 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/