From 4788522fa693cd21b43f6d2d020ae3b3cacfbce8 Mon Sep 17 00:00:00 2001 From: yui-knk Date: Mon, 4 Dec 2017 08:20:07 +0000 Subject: [PATCH] parse.y: Fix a location of NODE_BLOCK_PASS * parse.y (arg_append_gen): Update the last location of NODE_BLOCK_PASS when NODE is appended to nd_head. e.g. The locations of the NODE_BLOCK_PASS is fixed: ``` o[1, &bl] = :c ``` * Before ``` NODE_BLOCK_PASS (line: 1, first_lineno: 1, first_column: 2, last_lineno: 1, last_column: 8) ``` * After ``` NODE_BLOCK_PASS (line: 1, first_lineno: 1, first_column: 2, last_lineno: 1, last_column: 14) ``` git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- parse.y | 1 + 1 file changed, 1 insertion(+) diff --git a/parse.y b/parse.y index 3950382e2b..03b9ed992e 100644 --- a/parse.y +++ b/parse.y @@ -10058,6 +10058,7 @@ arg_append_gen(struct parser_params *parser, NODE *node1, NODE *node2, const YYL return list_append(node1, node2, location); case NODE_BLOCK_PASS: node1->nd_head = arg_append(node1->nd_head, node2, location); + node1->nd_loc.last_loc = node1->nd_head->nd_loc.last_loc; return node1; case NODE_ARGSPUSH: node1->nd_body = list_append(new_list(node1->nd_body, &node1->nd_body->nd_loc), node2, location);