Skip to content

Commit 74ec02e

Browse files
gh-106510: Fix DEBUG output for atomic group (GH-106511)
1 parent ec7180b commit 74ec02e

File tree

3 files changed

+8
-2
lines changed

3 files changed

+8
-2
lines changed

Lib/re/_parser.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,6 @@ def __init__(self, state, data=None):
113113
self.width = None
114114

115115
def dump(self, level=0):
116-
nl = True
117116
seqtypes = (tuple, list)
118117
for op, av in self.data:
119118
print(level*" " + str(op), end='')
@@ -135,6 +134,9 @@ def dump(self, level=0):
135134
if item_no:
136135
print(level*" " + "ELSE")
137136
item_no.dump(level+1)
137+
elif isinstance(av, SubPattern):
138+
print()
139+
av.dump(level+1)
138140
elif isinstance(av, seqtypes):
139141
nl = False
140142
for a in av:

Lib/test/test_re.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -2489,7 +2489,10 @@ def test_debug_flag(self):
24892489

24902490
def test_atomic_group(self):
24912491
self.assertEqual(get_debug_out(r'(?>ab?)'), '''\
2492-
ATOMIC_GROUP [(LITERAL, 97), (MAX_REPEAT, (0, 1, [(LITERAL, 98)]))]
2492+
ATOMIC_GROUP
2493+
LITERAL 97
2494+
MAX_REPEAT 0 1
2495+
LITERAL 98
24932496
24942497
0. INFO 4 0b0 1 2 (to 5)
24952498
5: ATOMIC_GROUP 11 (to 17)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Improve debug output for atomic groups in regular expressions.

0 commit comments

Comments
 (0)