From: aycabta@... Date: 2020-01-29T06:15:17+00:00 Subject: [ruby-core:97016] [Ruby master Bug#16510] irb crashes when hitting 'Home' or 'End' keys Issue #16510 has been updated by aycabta (aycabta .). This bug was based on unsupported key sequences environment. This was a good chance to survey it for me. Thank you. ref. http://blog.bachi.net/?p=2082 ---------------------------------------- Bug #16510: irb crashes when hitting 'Home' or 'End' keys https://bugs.ruby-lang.org/issues/16510#change-84105 * Author: packerbacker89 (Josh Johnson) * Status: Closed * Priority: Normal * Assignee: * Target version: * ruby -v: 2.7.0 * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN ---------------------------------------- There were similar bugs opened in the past few months, but they all appear to be closed. System: Ruby 2.7.0, reline 0.1.2, irb 1.2.1 Open irb and hit the 'Home' or 'End' key on the keyboard. This should go to the beginning / end of the line. Instead, the console crashes and the following traceback is provided: ``` 35: from /x/ruby-2.7.0/bin/irb:23:in `
' 34: from /x/ruby-2.7.0/bin/irb:23:in `load' 33: from /x/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/irb-1.2.1/exe/irb:11:in `' 32: from /x/ruby-2.7.0/lib/ruby/2.7.0/irb.rb:398:in `start' 31: from /x/ruby-2.7.0/lib/ruby/2.7.0/irb.rb:469:in `run' 30: from /x/ruby-2.7.0/lib/ruby/2.7.0/irb.rb:469:in `catch' 29: from /x/ruby-2.7.0/lib/ruby/2.7.0/irb.rb:470:in `block in run' 28: from /x/ruby-2.7.0/lib/ruby/2.7.0/irb.rb:535:in `eval_input' 27: from /x/ruby-2.7.0/lib/ruby/2.7.0/irb/ruby-lex.rb:134:in `each_top_level_statement' 26: from /x/ruby-2.7.0/lib/ruby/2.7.0/irb/ruby-lex.rb:134:in `catch' 25: from /x/ruby-2.7.0/lib/ruby/2.7.0/irb/ruby-lex.rb:135:in `block in each_top_level_statement' 24: from /x/ruby-2.7.0/lib/ruby/2.7.0/irb/ruby-lex.rb:135:in `loop' 23: from /x/ruby-2.7.0/lib/ruby/2.7.0/irb/ruby-lex.rb:138:in `block (2 levels) in each_top_level_statement' 22: from /x/ruby-2.7.0/lib/ruby/2.7.0/irb/ruby-lex.rb:166:in `lex' 21: from /x/ruby-2.7.0/lib/ruby/2.7.0/irb.rb:516:in `block in eval_input' 20: from /x/ruby-2.7.0/lib/ruby/2.7.0/irb.rb:693:in `signal_status' 19: from /x/ruby-2.7.0/lib/ruby/2.7.0/irb.rb:517:in `block (2 levels) in eval_input' 18: from /x/ruby-2.7.0/lib/ruby/2.7.0/irb/input-method.rb:258:in `gets' 17: from /x/ruby-2.7.0/lib/ruby/2.7.0/forwardable.rb:235:in `readmultiline' 16: from /x/ruby-2.7.0/lib/ruby/2.7.0/forwardable.rb:235:in `readmultiline' 15: from /x/ruby-2.7.0/gems/reline-0.1.2/lib/reline.rb:170:in `readmultiline' 14: from /x/ruby-2.7.0/gems/reline-0.1.2/lib/reline.rb:232:in `inner_readline' 13: from /x/ruby-2.7.0/gems/reline-0.1.2/lib/reline.rb:232:in `loop' 12: from /x/ruby-2.7.0/gems/reline-0.1.2/lib/reline.rb:233:in `block in inner_readline' 11: from /x/ruby-2.7.0/gems/reline-0.1.2/lib/reline.rb:262:in `read_io' 10: from /x/ruby-2.7.0/gems/reline-0.1.2/lib/reline.rb:262:in `loop' 9: from /x/ruby-2.7.0/gems/reline-0.1.2/lib/reline.rb:286:in `block in read_io' 8: from /x/ruby-2.7.0/gems/reline-0.1.2/lib/reline.rb:234:in `block (2 levels) in inner_readline' 7: from /x/ruby-2.7.0/gems/reline-0.1.2/lib/reline.rb:234:in `each' 6: from /x/ruby-2.7.0/gems/reline-0.1.2/lib/reline.rb:235:in `block (3 levels) in inner_readline' 5: from /x/ruby-2.7.0/gems/reline-0.1.2/lib/reline/line_editor.rb:829:in `input_key' 4: from /x/ruby-2.7.0/gems/reline-0.1.2/lib/reline/line_editor.rb:787:in `normal_char' 3: from /x/ruby-2.7.0/gems/reline-0.1.2/lib/reline/line_editor.rb:758:in `process_key' 2: from /x/ruby-2.7.0/gems/reline-0.1.2/lib/reline/line_editor.rb:1109:in `ed_insert' 1: from /x/ruby-2.7.0/gems/reline-0.1.2/lib/reline/unicode.rb:70:in `get_mbchar_width' /x/ruby-2.7.0/gems/reline-0.1.2/lib/reline/unicode.rb:70:in `encode': "\\xCF" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError) ``` In addition, hitting the 'Insert', 'Page Up', and 'Page Down' keys result in odd characters shown in the console (such as "`^[[2~`"). This is only a minor issue compared to the console crash. -- https://bugs.ruby-lang.org/ Unsubscribe: