You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In vi-mode, `r' command crashes by editing multibyte string.
Steps to Reproduce
Environment:
Ruby 2.7.2
IRB::VERSION = 1.2.8
Reline::VERSION = 0.1.10
FreeBSD 12.2-RELEASE-p1
PuTTYrv 0.74-ranvis
EAW of the terminal is Ambiguous=double (CJK)
Scenario:
Editing line from "あいう" to "あxう".
% irb
irb(main):001:0> "あいう"
The cursor is located at the second character, い.
Then type r, x .
Expected:
irb(main):001:0> "あxう"
Actual:
irb(main):001:0> "あTraceback (most recent call last):
34: from /usr/local/bin/irb:23:in `<main>'
33: from /usr/local/bin/irb:23:in `load'
32: from /usr/local/lib/ruby/gems/2.7/gems/irb-1.2.8/exe/irb:11:in `<top (required)>'
31: from /usr/local/lib/ruby/gems/2.7/gems/irb-1.2.8/lib/irb.rb:400:in `start'
30: from /usr/local/lib/ruby/gems/2.7/gems/irb-1.2.8/lib/irb.rb:471:in `run'
29: from /usr/local/lib/ruby/gems/2.7/gems/irb-1.2.8/lib/irb.rb:471:in `catch'
28: from /usr/local/lib/ruby/gems/2.7/gems/irb-1.2.8/lib/irb.rb:472:in `block in run'
27: from /usr/local/lib/ruby/gems/2.7/gems/irb-1.2.8/lib/irb.rb:537:in `eval_input'
26: from /usr/local/lib/ruby/gems/2.7/gems/irb-1.2.8/lib/irb/ruby-lex.rb:165:in `each_top_level_statement'
25: from /usr/local/lib/ruby/gems/2.7/gems/irb-1.2.8/lib/irb/ruby-lex.rb:165:in `catch'
24: from /usr/local/lib/ruby/gems/2.7/gems/irb-1.2.8/lib/irb/ruby-lex.rb:166:in `block in each_top_level_statement'
23: from /usr/local/lib/ruby/gems/2.7/gems/irb-1.2.8/lib/irb/ruby-lex.rb:166:in `loop'
22: from /usr/local/lib/ruby/gems/2.7/gems/irb-1.2.8/lib/irb/ruby-lex.rb:169:in `block (2 levels) in each_top_level_statement'
21: from /usr/local/lib/ruby/gems/2.7/gems/irb-1.2.8/lib/irb/ruby-lex.rb:197:in `lex'
20: from /usr/local/lib/ruby/gems/2.7/gems/irb-1.2.8/lib/irb.rb:518:in `block in eval_input'
19: from /usr/local/lib/ruby/gems/2.7/gems/irb-1.2.8/lib/irb.rb:720:in `signal_status'
18: from /usr/local/lib/ruby/gems/2.7/gems/irb-1.2.8/lib/irb.rb:519:in `block (2 levels) in eval_input'
17: from /usr/local/lib/ruby/gems/2.7/gems/irb-1.2.8/lib/irb/input-method.rb:294:in `gets'
16: from /usr/local/lib/ruby/2.7/forwardable.rb:235:in `readmultiline'
15: from /usr/local/lib/ruby/2.7/forwardable.rb:235:in `readmultiline'
14: from /usr/local/lib/ruby/gems/2.7/gems/reline-0.1.10/lib/reline.rb:176:in `readmultiline'
13: from /usr/local/lib/ruby/gems/2.7/gems/reline-0.1.10/lib/reline.rb:244:in `inner_readline'
12: from /usr/local/lib/ruby/gems/2.7/gems/reline-0.1.10/lib/reline.rb:244:in `loop'
11: from /usr/local/lib/ruby/gems/2.7/gems/reline-0.1.10/lib/reline.rb:246:in `block in inner_readline'
10: from /usr/local/lib/ruby/gems/2.7/gems/reline-0.1.10/lib/reline.rb:285:in `read_io'
9: from /usr/local/lib/ruby/gems/2.7/gems/reline-0.1.10/lib/reline.rb:285:in `loop'
8: from /usr/local/lib/ruby/gems/2.7/gems/reline-0.1.10/lib/reline.rb:331:in `block in read_io'
7: from /usr/local/lib/ruby/gems/2.7/gems/reline-0.1.10/lib/reline.rb:247:in `block (2 levels) in inner_readline'
6: from /usr/local/lib/ruby/gems/2.7/gems/reline-0.1.10/lib/reline.rb:247:in `each'
5: from /usr/local/lib/ruby/gems/2.7/gems/reline-0.1.10/lib/reline.rb:248:in `block (3 levels) in inner_readline'
4: from /usr/local/lib/ruby/gems/2.7/gems/reline-0.1.10/lib/reline/line_editor.rb:1071:in `input_key'
3: from /usr/local/lib/ruby/gems/2.7/gems/reline-0.1.10/lib/reline/line_editor.rb:1025:in `normal_char'
2: from /usr/local/lib/ruby/gems/2.7/gems/reline-0.1.10/lib/reline/line_editor.rb:984:in `process_key'
1: from /usr/local/lib/ruby/gems/2.7/gems/reline-0.1.10/lib/reline/line_editor.rb:2470:in `block in vi_replace_char'
/usr/local/lib/ruby/gems/2.7/gems/reline-0.1.10/lib/reline/line_editor.rb:2470:in `+': no implicit conversion of nil into String (TypeError)
%
Terminal Emulator
PuTTYrv 0.74-ranvis
The text was updated successfully, but these errors were encountered:
aycabta
added a commit
to aycabta/reline
that referenced
this issue
Dec 24, 2020
Description
In vi-mode, `r' command crashes by editing multibyte string.
Steps to Reproduce
Environment:
Scenario:
Editing line from
"あいう"
to"あxう"
.The cursor is located at the second character,
い
.Then type r, x .
Expected:
Actual:
Terminal Emulator
PuTTYrv 0.74-ranvis
The text was updated successfully, but these errors were encountered: