diff --git a/lib/debug/console.rb b/lib/debug/console.rb index 2c89f035f..48cc7b71f 100644 --- a/lib/debug/console.rb +++ b/lib/debug/console.rb @@ -97,6 +97,7 @@ def readline_setup prompt end def readline prompt + clear_stdin readline_setup prompt do Reline.readmultiline(prompt, true){ true } end @@ -132,6 +133,7 @@ def readline_setup end def readline prompt + clear_stdin readline_setup Readline.readline(prompt, true) end @@ -142,6 +144,7 @@ def history rescue LoadError def readline prompt + clear_stdin print prompt $stdin.gets end @@ -152,6 +155,16 @@ def history end end + def clear_stdin + # consume all STDIN input just before prompt + loop do + case $stdin.read_nonblock(1024, exception: false) + when nil, :wait_readable + break + end + end + end + def history_file path = if !CONFIG[:history_file].empty? && File.exist?(File.expand_path(CONFIG[:history_file]))