From f38b3e8c707ebdcad05aa9485cf1760640b74fbb Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Thu, 16 Jan 2020 18:34:31 +0900 Subject: [PATCH] Fixed the location of args node with numbered parameter --- parse.y | 6 +++++- test/ruby/test_syntax.rb | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/parse.y b/parse.y index d1d2569440..21b384d10a 100644 --- a/parse.y +++ b/parse.y @@ -11377,7 +11377,11 @@ static NODE * args_with_numbered(struct parser_params *p, NODE *args, int max_numparam) { if (max_numparam > NO_PARAM) { - if (!args) args = new_args_tail(p, 0, 0, 0, 0); + if (!args) { + YYLTYPE loc = RUBY_INIT_YYLLOC(); + args = new_args_tail(p, 0, 0, 0, 0); + nd_set_loc(args, &loc); + } args->nd_ainfo->pre_args_num = max_numparam; } return args; diff --git a/test/ruby/test_syntax.rb b/test/ruby/test_syntax.rb index 01f3295101..b93062cf2d 100644 --- a/test/ruby/test_syntax.rb +++ b/test/ruby/test_syntax.rb @@ -1449,6 +1449,8 @@ eom assert_valid_syntax("->{#{c};->{_1};end;_1}\n") assert_valid_syntax("->{_1;#{c};->{_1};end}\n") end + + 1.times {_1} end def test_value_expr_in_condition