mirror of
https://github.com/python/cpython.git
synced 2025-11-01 06:01:29 +00:00
[3.11] gh-112388: Fix an error that was causing the parser to try to overwrite tokenizer errors (GH-112410) (#112467)
gh-112388: Fix an error that was causing the parser to try to overwrite tokenizer errors (GH-112410)
(cherry picked from commit 2c8b191742)
Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
This commit is contained in:
parent
054d18e883
commit
43b081bfc4
3 changed files with 7 additions and 0 deletions
|
|
@ -2152,6 +2152,7 @@ def test_error_string_literal(self):
|
|||
|
||||
def test_invisible_characters(self):
|
||||
self._check_error('print\x17("Hello")', "invalid non-printable character")
|
||||
self._check_error(b"with(0,,):\n\x01", "invalid non-printable character")
|
||||
|
||||
def test_match_call_does_not_raise_syntax_error(self):
|
||||
code = """
|
||||
|
|
|
|||
|
|
@ -0,0 +1,2 @@
|
|||
Fix an error that was causing the parser to try to overwrite tokenizer
|
||||
errors. Patch by pablo Galindo
|
||||
|
|
@ -212,6 +212,10 @@ _PyPegen_tokenize_full_source_to_check_for_errors(Parser *p) {
|
|||
void *
|
||||
_PyPegen_raise_error(Parser *p, PyObject *errtype, const char *errmsg, ...)
|
||||
{
|
||||
// Bail out if we already have an error set.
|
||||
if (p->error_indicator && PyErr_Occurred()) {
|
||||
return NULL;
|
||||
}
|
||||
if (p->fill == 0) {
|
||||
va_list va;
|
||||
va_start(va, errmsg);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue