Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash when using t or f vi movements like in ct_ #188

Closed
jolmg opened this issue Oct 21, 2020 · 0 comments · Fixed by #197
Closed

Crash when using t or f vi movements like in ct_ #188

jolmg opened this issue Oct 21, 2020 · 0 comments · Fixed by #197

Comments

@jolmg
Copy link

jolmg commented Oct 21, 2020

Description

In vi normal mode, using commands like dfx or ct_ crash IRB.

Example

String is "foo_bar", cursor is on the "f", and the editing mode is vi normal mode. "df_" is then typed.

Expected behavior

"foo_" is deleted and we're left with "bar" and the cursor on the "b".

Actual behavior

IRB crashes with the exception:

irb(main):001:0> Traceback (most recent call last):
	33: from /usr/bin/irb:23:in `<main>'
	32: from /usr/bin/irb:23:in `load'
	31: from /usr/lib/ruby/gems/2.7.0/gems/irb-1.2.7/exe/irb:11:in `<top (required)>'
	30: from /usr/lib/ruby/gems/2.7.0/gems/irb-1.2.7/lib/irb.rb:400:in `start'
	29: from /usr/lib/ruby/gems/2.7.0/gems/irb-1.2.7/lib/irb.rb:471:in `run'
	28: from /usr/lib/ruby/gems/2.7.0/gems/irb-1.2.7/lib/irb.rb:471:in `catch'
	27: from /usr/lib/ruby/gems/2.7.0/gems/irb-1.2.7/lib/irb.rb:472:in `block in run'
	26: from /usr/lib/ruby/gems/2.7.0/gems/irb-1.2.7/lib/irb.rb:537:in `eval_input'
	25: from /usr/lib/ruby/gems/2.7.0/gems/irb-1.2.7/lib/irb/ruby-lex.rb:150:in `each_top_level_statement'
	24: from /usr/lib/ruby/gems/2.7.0/gems/irb-1.2.7/lib/irb/ruby-lex.rb:150:in `catch'
	23: from /usr/lib/ruby/gems/2.7.0/gems/irb-1.2.7/lib/irb/ruby-lex.rb:151:in `block in each_top_level_statement'
	22: from /usr/lib/ruby/gems/2.7.0/gems/irb-1.2.7/lib/irb/ruby-lex.rb:151:in `loop'
	21: from /usr/lib/ruby/gems/2.7.0/gems/irb-1.2.7/lib/irb/ruby-lex.rb:154:in `block (2 levels) in each_top_level_statement'
	20: from /usr/lib/ruby/gems/2.7.0/gems/irb-1.2.7/lib/irb/ruby-lex.rb:182:in `lex'
	19: from /usr/lib/ruby/gems/2.7.0/gems/irb-1.2.7/lib/irb.rb:518:in `block in eval_input'
	18: from /usr/lib/ruby/gems/2.7.0/gems/irb-1.2.7/lib/irb.rb:704:in `signal_status'
	17: from /usr/lib/ruby/gems/2.7.0/gems/irb-1.2.7/lib/irb.rb:519:in `block (2 levels) in eval_input'
	16: from /usr/lib/ruby/gems/2.7.0/gems/irb-1.2.7/lib/irb/input-method.rb:294:in `gets'
	15: from /usr/lib/ruby/2.7.0/forwardable.rb:235:in `readmultiline'
	14: from /usr/lib/ruby/2.7.0/forwardable.rb:235:in `readmultiline'
	13: from /usr/lib/ruby/gems/2.7.0/gems/reline-0.1.5/lib/reline.rb:175:in `readmultiline'
	12: from /usr/lib/ruby/gems/2.7.0/gems/reline-0.1.5/lib/reline.rb:238:in `inner_readline'
	11: from /usr/lib/ruby/gems/2.7.0/gems/reline-0.1.5/lib/reline.rb:238:in `loop'
	10: from /usr/lib/ruby/gems/2.7.0/gems/reline-0.1.5/lib/reline.rb:239:in `block in inner_readline'
	 9: from /usr/lib/ruby/gems/2.7.0/gems/reline-0.1.5/lib/reline.rb:270:in `read_io'
	 8: from /usr/lib/ruby/gems/2.7.0/gems/reline-0.1.5/lib/reline.rb:270:in `loop'
	 7: from /usr/lib/ruby/gems/2.7.0/gems/reline-0.1.5/lib/reline.rb:311:in `block in read_io'
	 6: from /usr/lib/ruby/gems/2.7.0/gems/reline-0.1.5/lib/reline.rb:240:in `block (2 levels) in inner_readline'
	 5: from /usr/lib/ruby/gems/2.7.0/gems/reline-0.1.5/lib/reline.rb:240:in `each'
	 4: from /usr/lib/ruby/gems/2.7.0/gems/reline-0.1.5/lib/reline.rb:241:in `block (3 levels) in inner_readline'
	 3: from /usr/lib/ruby/gems/2.7.0/gems/reline-0.1.5/lib/reline/line_editor.rb:834:in `input_key'
	 2: from /usr/lib/ruby/gems/2.7.0/gems/reline-0.1.5/lib/reline/line_editor.rb:792:in `normal_char'
	 1: from /usr/lib/ruby/gems/2.7.0/gems/reline-0.1.5/lib/reline/line_editor.rb:751:in `process_key'
/usr/lib/ruby/gems/2.7.0/gems/reline-0.1.5/lib/reline/line_editor.rb:698:in `block in run_for_operators': undefined method `call' for nil:NilClass (NoMethodError)

Terminal Emulator

urxvt v9.22

ruby 2.7.2p137

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging a pull request may close this issue.

1 participant