From 2b9a05374032b3d287b91e6307d2817b6c962612 Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Sun, 27 Aug 2023 15:54:45 -0400 Subject: [PATCH] [ruby/yarp] fix: yp_interpolated_symbol_node_append Made this function's behavior match the interpolated_string implementation. Previously, the start location was not set and left as 0. https://github.com/ruby/yarp/commit/87f348889f --- yarp/yarp.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/yarp/yarp.c b/yarp/yarp.c index ba8722a925..129a176dec 100644 --- a/yarp/yarp.c +++ b/yarp/yarp.c @@ -2816,10 +2816,11 @@ yp_interpolated_symbol_node_create(yp_parser_t *parser, const yp_token_t *openin static inline void yp_interpolated_symbol_node_append(yp_interpolated_symbol_node_t *node, yp_node_t *part) { - yp_node_list_append(&node->parts, part); - if (!node->base.location.start) { + if (node->parts.size == 0 && node->opening_loc.start == NULL) { node->base.location.start = part->location.start; } + + yp_node_list_append(&node->parts, part); node->base.location.end = part->location.end; }