summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/irb/nesting_parser.rb2
-rw-r--r--test/irb/test_nesting_parser.rb1
2 files changed, 2 insertions, 1 deletions
diff --git a/lib/irb/nesting_parser.rb b/lib/irb/nesting_parser.rb
index fc71d64aee..c1c9a5cc76 100644
--- a/lib/irb/nesting_parser.rb
+++ b/lib/irb/nesting_parser.rb
@@ -159,7 +159,7 @@ module IRB
when :on_heredoc_end
opens.pop
when :on_backtick
- opens << [t, nil] if t.state.allbits?(Ripper::EXPR_BEG)
+ opens << [t, nil] unless t.state == Ripper::EXPR_ARG
when :on_tstring_beg, :on_words_beg, :on_qwords_beg, :on_symbols_beg, :on_qsymbols_beg, :on_regexp_beg
opens << [t, nil]
when :on_tstring_end, :on_regexp_end, :on_label_end
diff --git a/test/irb/test_nesting_parser.rb b/test/irb/test_nesting_parser.rb
index 2db3cdab57..6b4f54ee21 100644
--- a/test/irb/test_nesting_parser.rb
+++ b/test/irb/test_nesting_parser.rb
@@ -59,6 +59,7 @@ module TestIRB
def f() = 1
%(); %w[]; %q(); %r{}; %i[]
"#{1}"; ''; /#{1}/; `#{1}`
+ p(``); p ``; p x: ``; p 1, ``;
:sym; :"sym"; :+; :`; :if
[1, 2, 3]
{ x: 1, y: 2 }