ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
From: mame@ruby-lang.org
To: ruby-core@ruby-lang.org
Subject: [ruby-core:96955] [Ruby master Bug#16510] irb crashes when hitting 'Home' or 'End' keys
Date: Tue, 21 Jan 2020 08:23:10 +0000 (UTC)	[thread overview]
Message-ID: <redmine.journal-83983.20200121082309.ec09fd31d075e165@ruby-lang.org> (raw)
In-Reply-To: redmine.issue-16510.20200115152201@ruby-lang.org

Issue #16510 has been updated by mame (Yusuke Endoh).


It works perfectly for me.  I'm using GNOME Terminal (`GNOME Terminal 3.34.2 using VTE 0.58.2 +BIDI +GNUTLS`) in Ubuntu 19.10.

----------------------------------------
Bug #16510: irb crashes when hitting 'Home' or 'End' keys
https://bugs.ruby-lang.org/issues/16510#change-83983

* Author: packerbacker89 (Josh Johnson)
* Status: Open
* 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 `<main>'
	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 `<top (required)>'
	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/

  parent reply	other threads:[~2020-01-21  8:23 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <redmine.issue-16510.20200115152201@ruby-lang.org>
2020-01-15 15:22 ` [ruby-core:96870] [Ruby master Bug#16510] irb crashes when hitting 'Home' or 'End' keys packerbacker89
2020-01-15 15:23 ` [ruby-core:96871] " packerbacker89
2020-01-16 11:42 ` [ruby-core:96909] " aycabta
2020-01-17 20:21 ` [ruby-core:96932] " packerbacker89
2020-01-21  8:23 ` mame [this message]
2020-01-22 20:05 ` [ruby-core:96972] " jaruga
2020-01-23  9:28 ` [ruby-core:96978] " aycabta
2020-01-24 19:58 ` [ruby-core:96992] " packerbacker89
2020-01-29  6:15 ` [ruby-core:97016] " aycabta

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.ruby-lang.org/en/community/mailing-lists/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=redmine.journal-83983.20200121082309.ec09fd31d075e165@ruby-lang.org \
    --to=ruby-core@ruby-lang.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).