aboutsummaryrefslogtreecommitdiffstats
path: root/prism
diff options
context:
space:
mode:
authorKevin Newton <kddnewton@gmail.com>2023-10-10 14:14:59 -0400
committerKevin Newton <kddnewton@gmail.com>2023-10-13 15:31:30 -0400
commit3c743445d727b2e1444c5aae4113056de4bdd530 (patch)
tree530db8c6ca4fe80127d556c8d40dc161a0a0b819 /prism
parent4e3013f42d4562d8e84e88e20e2f76668e8a58f6 (diff)
downloadruby-3c743445d727b2e1444c5aae4113056de4bdd530.tar.gz
[ruby/prism] Use current_string to handle %i escapes
https://github.com/ruby/prism/commit/9c90d0a777
Diffstat (limited to 'prism')
-rw-r--r--prism/prism.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/prism/prism.c b/prism/prism.c
index 3d103afa01..24789dd27e 100644
--- a/prism/prism.c
+++ b/prism/prism.c
@@ -13387,8 +13387,10 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power) {
pm_token_t opening = not_provided(parser);
pm_token_t closing = not_provided(parser);
- pm_node_t *symbol = (pm_node_t *) pm_symbol_node_create_and_unescape(parser, &opening, &parser->previous, &closing, PM_UNESCAPE_MINIMAL);
- pm_array_node_elements_append(array, symbol);
+ pm_symbol_node_t *symbol = (pm_symbol_node_t *) pm_symbol_node_create(parser, &opening, &parser->previous, &closing);
+ symbol->unescaped = parser->current_string;
+
+ pm_array_node_elements_append(array, (pm_node_t *) symbol);
}
expect1(parser, PM_TOKEN_STRING_END, PM_ERR_LIST_I_LOWER_TERM);