Issue #26475: Fixed debugging output for regular expressions with the (?x) flag.
diff --git a/Lib/sre_parse.py b/Lib/sre_parse.py
index c29cc16..75f488b 100644
--- a/Lib/sre_parse.py
+++ b/Lib/sre_parse.py
@@ -721,14 +721,14 @@
elif tail:
raise error, "bogus characters at end of regular expression"
- if flags & SRE_FLAG_DEBUG:
- p.dump()
-
if not (flags & SRE_FLAG_VERBOSE) and p.pattern.flags & SRE_FLAG_VERBOSE:
# the VERBOSE flag was switched on inside the pattern. to be
# on the safe side, we'll parse the whole thing again...
return parse(str, p.pattern.flags)
+ if flags & SRE_FLAG_DEBUG:
+ p.dump()
+
return p
def parse_template(source, pattern):
diff --git a/Misc/NEWS b/Misc/NEWS
index 51220c3..5308a12 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -55,6 +55,9 @@
Library
-------
+- Issue #26475: Fixed debugging output for regular expressions with the (?x)
+ flag.
+
- Issue #26385: Remove the file if the internal fdopen() call in
NamedTemporaryFile() fails. Based on patch by Silent Ghost.