diff --git a/src/prism.c b/src/prism.c index a2e04ed106..36a6028fe5 100644 --- a/src/prism.c +++ b/src/prism.c @@ -11094,6 +11094,7 @@ parser_lex(pm_parser_t *parser) { if (!parser->encoding->alnum_char(parser->current.end, parser->end - parser->current.end)) { if (*parser->current.end >= 0x80) { pm_parser_err_current(parser, PM_ERR_INVALID_PERCENT); + goto lex_next_token; } const uint8_t delimiter = pm_lex_percent_delimiter(parser); diff --git a/test/prism/errors/alnum_delimiters_10.txt b/test/prism/errors/alnum_delimiters_10.txt new file mode 100644 index 0000000000..288f10d59f --- /dev/null +++ b/test/prism/errors/alnum_delimiters_10.txt @@ -0,0 +1,4 @@ +%รข +^ unknown type of %string +รข + diff --git a/test/prism/errors/alnum_delimiters_11.txt b/test/prism/errors/alnum_delimiters_11.txt new file mode 100644 index 0000000000..c52a5a9a1a --- /dev/null +++ b/test/prism/errors/alnum_delimiters_11.txt @@ -0,0 +1,4 @@ +%๐Ÿ’Ž +^ unknown type of %string +๐Ÿ’Ž +