[3.13] gh-116042: Fix location for SyntaxErrors of invalid escapes in the tokenizer (GH-116049) (#130066)

(cherry picked from commit 56eda25633)
(cherry picked from commit 369704b428)
This commit is contained in:
Pablo Galindo Salgado 2025-02-13 01:49:25 +00:00 committed by GitHub
parent 4c2a59b7b8
commit 8d1d36b742
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 82 additions and 18 deletions

View file

@ -352,8 +352,8 @@ _PyPegen_raise_error_known_location(Parser *p, PyObject *errtype,
assert(p->tok->fp == NULL || p->tok->fp == stdin || p->tok->done == E_EOF);
if (p->tok->lineno <= lineno && p->tok->inp > p->tok->buf) {
Py_ssize_t size = p->tok->inp - p->tok->buf;
error_line = PyUnicode_DecodeUTF8(p->tok->buf, size, "replace");
Py_ssize_t size = p->tok->inp - p->tok->line_start;
error_line = PyUnicode_DecodeUTF8(p->tok->line_start, size, "replace");
}
else if (p->tok->fp == NULL || p->tok->fp == stdin) {
error_line = get_error_line_from_tokenizer_buffers(p, lineno);