diff --git a/parser.js b/parser.js index 11c55a2..2e65701 100644 --- a/parser.js +++ b/parser.js @@ -918,7 +918,7 @@ } function bailOctalEscapeIfUnicode(from, pos) { - if (hasUnicodeFlag) { + if (hasUnicodeFlag || hasUnicodeSetFlag) { bail("Invalid decimal escape in unicode mode", null, from, pos); } } diff --git a/test/test-data-unicode-set.json b/test/test-data-unicode-set.json index c3735f8..dfcb83e 100644 --- a/test/test-data-unicode-set.json +++ b/test/test-data-unicode-set.json @@ -1493,5 +1493,11 @@ 9 ], "raw": "[^\\q{AB}]" + }, + "\\1": { + "type": "error", + "name": "SyntaxError", + "message": "Invalid decimal escape in unicode mode at position 1\n \\1\n ^", + "input": "\\1" } }