summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/re/_parser.py10
-rw-r--r--Misc/NEWS.d/next/Library/2022-04-05-15-53-58.bpo-47227.1HWdp9.rst1
2 files changed, 6 insertions, 5 deletions
diff --git a/Lib/re/_parser.py b/Lib/re/_parser.py
index eca2ffc..f191f80 100644
--- a/Lib/re/_parser.py
+++ b/Lib/re/_parser.py
@@ -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)
diff --git a/Misc/NEWS.d/next/Library/2022-04-05-15-53-58.bpo-47227.1HWdp9.rst b/Misc/NEWS.d/next/Library/2022-04-05-15-53-58.bpo-47227.1HWdp9.rst
new file mode 100644
index 0000000..254d951
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2022-04-05-15-53-58.bpo-47227.1HWdp9.rst
@@ -0,0 +1 @@
+Suppress expression chaining for more :mod:`re` parsing errors.