-
Notifications
You must be signed in to change notification settings - Fork 133
Closed
Description
Description
Here is an example script.
$ cat a.rb
def a()=[
1,
].
b
exit
irb
works fine with the file path.
$ irb --multiline a.rb
a.rb(main):001:0> def a()=[
a.rb(main):002:2* 1,
a.rb(main):003:1* ].
a.rb(main):004:0> b
=> :a
a.rb(main):005:0> exit
but irb
can cause an exception with STDIN.
$ echo;cat a.rb|irb --multiline
def a()=[
1,
]./home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline/line_editor.rb:860:in `*': negative argument (ArgumentError)
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline/line_editor.rb:860:in `process_auto_indent'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline/line_editor.rb:840:in `input_key'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline.rb:241:in `block (3 levels) in inner_readline'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline.rb:240:in `each'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline.rb:240:in `block (2 levels) in inner_readline'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline.rb:311:in `block in read_io'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline.rb:270:in `loop'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline.rb:270:in `read_io'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline.rb:239:in `block in inner_readline'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline.rb:238:in `loop'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline.rb:238:in `inner_readline'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline.rb:175:in `readmultiline'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/forwardable.rb:238:in `readmultiline'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/forwardable.rb:238:in `readmultiline'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb/input-method.rb:294:in `gets'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb.rb:519:in `block (2 levels) in eval_input'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb.rb:704:in `signal_status'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb.rb:518:in `block in eval_input'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb/ruby-lex.rb:182:in `lex'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb/ruby-lex.rb:154:in `block (2 levels) in each_top_level_statement'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb/ruby-lex.rb:151:in `loop'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb/ruby-lex.rb:151:in `block in each_top_level_statement'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb/ruby-lex.rb:150:in `catch'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb/ruby-lex.rb:150:in `each_top_level_statement'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb.rb:537:in `eval_input'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb.rb:472:in `block in run'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb.rb:471:in `catch'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb.rb:471:in `run'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb.rb:400:in `start'
from /home/wanabe/.rbenv/versions/master/lib/ruby/gems/3.0.0/gems/irb-1.2.7/exe/irb:11:in `<top (required)>'
from /home/wanabe/.rbenv/versions/master/bin/irb:23:in `load'
from /home/wanabe/.rbenv/versions/master/bin/irb:23:in `<main>'
The same thing happened when I entered it manually.
$ irb
irb(main):001:2* def a()=[
irb(main):002:1* 1,
irb(main):003:0* ]./home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline/line_editor.rb:860:in `*': negative argument (ArgumentError)
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline/line_editor.rb:860:in `process_auto_indent'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline/line_editor.rb:840:in `input_key'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline.rb:241:in `block (3 levels) in inner_readline'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline.rb:240:in `each'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline.rb:240:in `block (2 levels) in inner_readline'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline.rb:311:in `block in read_io'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline.rb:270:in `loop'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline.rb:270:in `read_io'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline.rb:239:in `block in inner_readline'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline.rb:238:in `loop'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline.rb:238:in `inner_readline'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/reline.rb:175:in `readmultiline'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/forwardable.rb:238:in `readmultiline'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/forwardable.rb:238:in `readmultiline'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb/input-method.rb:294:in `gets'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb.rb:519:in `block (2 levels) in eval_input'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb.rb:704:in `signal_status'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb.rb:518:in `block in eval_input'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb/ruby-lex.rb:182:in `lex'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb/ruby-lex.rb:154:in `block (2 levels) in each_top_level_statement'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb/ruby-lex.rb:151:in `loop'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb/ruby-lex.rb:151:in `block in each_top_level_statement'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb/ruby-lex.rb:150:in `catch'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb/ruby-lex.rb:150:in `each_top_level_statement'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb.rb:537:in `eval_input'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb.rb:472:in `block in run'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb.rb:471:in `catch'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb.rb:471:in `run'
from /home/wanabe/.rbenv/versions/master/lib/ruby/3.0.0/irb.rb:400:in `start'
from /home/wanabe/.rbenv/versions/master/lib/ruby/gems/3.0.0/gems/irb-1.2.7/exe/irb:11:in `<top (required)>'
from /home/wanabe/.rbenv/versions/master/bin/irb:23:in `load'
from /home/wanabe/.rbenv/versions/master/bin/irb:23:in `<main>'
Terminal Emulator
MATE Terminal 1.24.1
Setting Files
Are you using ~/.irbrc
and ~/.inputrc
?
No.
aycabta
Metadata
Metadata
Assignees
Labels
No labels