bpo-47227: Suppress expression chaining for more RE parsing errors (GH-32333)

This commit is contained in:
Serhiy Storchaka 2022-04-06 19:54:44 +03:00 committed by GitHub
parent b09184bf05
commit 50872dbadc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 5 deletions

View file

@ -335,7 +335,7 @@ def _class_escape(source, escape):
c = ord(unicodedata.lookup(charname))
except KeyError:
raise source.error("undefined character name %r" % charname,
len(charname) + len(r'\N{}'))
len(charname) + len(r'\N{}')) from None
return LITERAL, c
elif c in OCTDIGITS:
# octal escape (up to three digits)
@ -395,7 +395,7 @@ def _escape(source, escape, state):
c = ord(unicodedata.lookup(charname))
except KeyError:
raise source.error("undefined character name %r" % charname,
len(charname) + len(r'\N{}'))
len(charname) + len(r'\N{}')) from None
return LITERAL, c
elif c == "0":
# octal escape
@ -1014,7 +1014,7 @@ def parse_template(source, state):
try:
index = groupindex[name]
except KeyError:
raise IndexError("unknown group name %r" % name)
raise IndexError("unknown group name %r" % name) from None
else:
try:
index = int(name)
@ -1053,7 +1053,7 @@ def parse_template(source, state):
this = chr(ESCAPES[this][1])
except KeyError:
if c in ASCIILETTERS:
raise s.error('bad escape %s' % this, len(this))
raise s.error('bad escape %s' % this, len(this)) from None
lappend(this)
else:
lappend(this)
@ -1074,5 +1074,5 @@ def expand_template(template, match):
for index, group in groups:
literals[index] = g(group) or empty
except IndexError:
raise error("invalid group reference %d" % index)
raise error("invalid group reference %d" % index) from None
return empty.join(literals)