Skip to content

Commit 60ade0c

Browse files
[3.12] gh-106510: Fix DEBUG output for atomic group (GH-106511) (GH-106548)
(cherry picked from commit 74ec02e) Co-authored-by: Serhiy Storchaka <[email protected]>
1 parent 48f58e0 commit 60ade0c

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
@@ -114,7 +114,6 @@ def __init__(self, state, data=None):
114114
self.width = None
115115

116116
def dump(self, level=0):
117-
nl = True
118117
seqtypes = (tuple, list)
119118
for op, av in self.data:
120119
print(level*" " + str(op), end='')
@@ -136,6 +135,9 @@ def dump(self, level=0):
136135
if item_no:
137136
print(level*" " + "ELSE")
138137
item_no.dump(level+1)
138+
elif isinstance(av, SubPattern):
139+
print()
140+
av.dump(level+1)
139141
elif isinstance(av, seqtypes):
140142
nl = False
141143
for a in av:

Lib/test/test_re.py

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

25132513
def test_atomic_group(self):
25142514
self.assertEqual(get_debug_out(r'(?>ab?)'), '''\
2515-
ATOMIC_GROUP [(LITERAL, 97), (MAX_REPEAT, (0, 1, [(LITERAL, 98)]))]
2515+
ATOMIC_GROUP
2516+
LITERAL 97
2517+
MAX_REPEAT 0 1
2518+
LITERAL 98
25162519
25172520
0. INFO 4 0b0 1 2 (to 5)
25182521
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)