@@ -8851,7 +8851,7 @@ escape_write_escape_encoded(pm_parser_t *parser, pm_buffer_t *buffer, pm_buffer_
88518851 }
88528852
88538853 if (width == 1) {
8854- if (*parser->current.end == '\n') pm_line_offset_list_append(&parser->line_offsets, PM_TOKEN_END(parser, &parser->current) + 1);
8854+ if (*parser->current.end == '\n') pm_line_offset_list_append(&parser->metadata_arena, &parser-> line_offsets, PM_TOKEN_END(parser, &parser->current) + 1);
88558855 escape_write_byte(parser, buffer, regular_expression_buffer, flags, escape_byte(*parser->current.end++, flags));
88568856 } else if (width > 1) {
88578857 // Valid multibyte character. Just ignore escape.
@@ -9168,7 +9168,7 @@ escape_read(pm_parser_t *parser, pm_buffer_t *buffer, pm_buffer_t *regular_expre
91689168 return;
91699169 }
91709170
9171- if (peeked == '\n') pm_line_offset_list_append(&parser->line_offsets, PM_TOKEN_END(parser, &parser->current) + 1);
9171+ if (peeked == '\n') pm_line_offset_list_append(&parser->metadata_arena, &parser-> line_offsets, PM_TOKEN_END(parser, &parser->current) + 1);
91729172 parser->current.end++;
91739173 escape_write_byte(parser, buffer, regular_expression_buffer, flags, escape_byte(peeked, flags | PM_ESCAPE_FLAG_CONTROL));
91749174 return;
@@ -9227,7 +9227,7 @@ escape_read(pm_parser_t *parser, pm_buffer_t *buffer, pm_buffer_t *regular_expre
92279227 return;
92289228 }
92299229
9230- if (peeked == '\n') pm_line_offset_list_append(&parser->line_offsets, PM_TOKEN_END(parser, &parser->current) + 1);
9230+ if (peeked == '\n') pm_line_offset_list_append(&parser->metadata_arena, &parser-> line_offsets, PM_TOKEN_END(parser, &parser->current) + 1);
92319231 parser->current.end++;
92329232 escape_write_byte(parser, buffer, regular_expression_buffer, flags, escape_byte(peeked, flags | PM_ESCAPE_FLAG_CONTROL));
92339233 return;
@@ -9281,15 +9281,15 @@ escape_read(pm_parser_t *parser, pm_buffer_t *buffer, pm_buffer_t *regular_expre
92819281 return;
92829282 }
92839283
9284- if (peeked == '\n') pm_line_offset_list_append(&parser->line_offsets, PM_TOKEN_END(parser, &parser->current) + 1);
9284+ if (peeked == '\n') pm_line_offset_list_append(&parser->metadata_arena, &parser-> line_offsets, PM_TOKEN_END(parser, &parser->current) + 1);
92859285 parser->current.end++;
92869286 escape_write_byte(parser, buffer, regular_expression_buffer, flags, escape_byte(peeked, flags | PM_ESCAPE_FLAG_META));
92879287 return;
92889288 }
92899289 }
92909290 case '\r': {
92919291 if (peek_offset(parser, 1) == '\n') {
9292- pm_line_offset_list_append(&parser->line_offsets, PM_TOKEN_END(parser, &parser->current) + 2);
9292+ pm_line_offset_list_append(&parser->metadata_arena, &parser-> line_offsets, PM_TOKEN_END(parser, &parser->current) + 2);
92939293 parser->current.end += 2;
92949294 escape_write_byte_encoded(parser, buffer, flags, escape_byte('\n', flags));
92959295 return;
0 commit comments