diff options
author | Kevin Newton <[email protected]> | 2023-12-11 09:30:24 -0500 |
---|---|---|
committer | git <[email protected]> | 2023-12-11 16:34:55 +0000 |
commit | 4095e7d2be0ef6426e0cb75a53472f6dc1e5a0af () | |
tree | 444e2533fc549421f381e0a290466dd274a51436 | |
parent | c65de63913487caf26a281cb5c3be112f87a23a1 (diff) |
[ruby/prism] Regexp terminator escapes
https://.com/ruby/prism/commit/42a48a2ba9
-rw-r--r-- | prism/prism.c | 19 | ||||
-rw-r--r-- | test/prism/snapshots/seattlerb/bug190.txt | 2 |
2 files changed, 18 insertions, 3 deletions
@@ -9535,7 +9535,9 @@ parser_lex(pm_parser_t *parser) { case '\r': parser->current.end++; if (peek(parser) != '\n') { - pm_token_buffer_push(&token_buffer, '\\'); pm_token_buffer_push(&token_buffer, '\r'); break; } @@ -9563,7 +9565,20 @@ parser_lex(pm_parser_t *parser) { escape_read(parser, &token_buffer.buffer, PM_ESCAPE_FLAG_REGEXP); break; default: - if (lex_mode->as.regexp.terminator == '/' && peeked == '/') { pm_token_buffer_push(&token_buffer, peeked); parser->current.end++; break; @@ -8,4 +8,4 @@ ├── opening_loc: (1,0)-(1,3) = "%r'" ├── content_loc: (1,3)-(1,5) = "\\'" ├── closing_loc: (1,5)-(1,6) = "'" - └── unescaped: "\\'" |