summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2023-07-08 12:15:54 (GMT)
committerGitHub <noreply@github.com>2023-07-08 12:15:54 (GMT)
commit60ade0cb2929b180a50feb288a760038a072ef76 (patch)
treea96aaa3c21b24afd1d2922ed9a28602f82604394
parent48f58e02430f046d4b039cefce3856b934b02627 (diff)
downloadcpython-60ade0cb2929b180a50feb288a760038a072ef76.zip
cpython-60ade0cb2929b180a50feb288a760038a072ef76.tar.gz
cpython-60ade0cb2929b180a50feb288a760038a072ef76.tar.bz2
[3.12] gh-106510: Fix DEBUG output for atomic group (GH-106511) (GH-106548)
(cherry picked from commit 74ec02e9490d8aa086aa9ad9d1d34d2ad999b5af) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
-rw-r--r--Lib/re/_parser.py4
-rw-r--r--Lib/test/test_re.py5
-rw-r--r--Misc/NEWS.d/next/Library/2023-07-07-13-47-28.gh-issue-106510.9n5BdC.rst1
3 files changed, 8 insertions, 2 deletions
diff --git a/Lib/re/_parser.py b/Lib/re/_parser.py
index 5709acb..74bda2f 100644
--- a/Lib/re/_parser.py
+++ b/Lib/re/_parser.py
@@ -114,7 +114,6 @@ class SubPattern:
self.width = None
def dump(self, level=0):
- nl = True
seqtypes = (tuple, list)
for op, av in self.data:
print(level*" " + str(op), end='')
@@ -136,6 +135,9 @@ class SubPattern:
if item_no:
print(level*" " + "ELSE")
item_no.dump(level+1)
+ elif isinstance(av, SubPattern):
+ print()
+ av.dump(level+1)
elif isinstance(av, seqtypes):
nl = False
for a in av:
diff --git a/Lib/test/test_re.py b/Lib/test/test_re.py
index a05a1c9..406b665 100644
--- a/Lib/test/test_re.py
+++ b/Lib/test/test_re.py
@@ -2512,7 +2512,10 @@ ELSE
def test_atomic_group(self):
self.assertEqual(get_debug_out(r'(?>ab?)'), '''\
-ATOMIC_GROUP [(LITERAL, 97), (MAX_REPEAT, (0, 1, [(LITERAL, 98)]))]
+ATOMIC_GROUP
+ LITERAL 97
+ MAX_REPEAT 0 1
+ LITERAL 98
0. INFO 4 0b0 1 2 (to 5)
5: ATOMIC_GROUP 11 (to 17)
diff --git a/Misc/NEWS.d/next/Library/2023-07-07-13-47-28.gh-issue-106510.9n5BdC.rst b/Misc/NEWS.d/next/Library/2023-07-07-13-47-28.gh-issue-106510.9n5BdC.rst
new file mode 100644
index 0000000..e0646fa
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2023-07-07-13-47-28.gh-issue-106510.9n5BdC.rst
@@ -0,0 +1 @@
+Improve debug output for atomic groups in regular expressions.