diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2023-07-08 11:31:25 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-08 11:31:25 (GMT) |
commit | 74ec02e9490d8aa086aa9ad9d1d34d2ad999b5af (patch) | |
tree | d15009477ea3684249a6f4b3b38827c2c60760ba | |
parent | ec7180bd1b3c156d4484e8e6babc5ecb707420e3 (diff) | |
download | cpython-74ec02e9490d8aa086aa9ad9d1d34d2ad999b5af.zip cpython-74ec02e9490d8aa086aa9ad9d1d34d2ad999b5af.tar.gz cpython-74ec02e9490d8aa086aa9ad9d1d34d2ad999b5af.tar.bz2 |
gh-106510: Fix DEBUG output for atomic group (GH-106511)
-rw-r--r-- | Lib/re/_parser.py | 4 | ||||
-rw-r--r-- | Lib/test/test_re.py | 5 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Library/2023-07-07-13-47-28.gh-issue-106510.9n5BdC.rst | 1 |
3 files changed, 8 insertions, 2 deletions
diff --git a/Lib/re/_parser.py b/Lib/re/_parser.py index 6c8a4ec..22d10ab 100644 --- a/Lib/re/_parser.py +++ b/Lib/re/_parser.py @@ -113,7 +113,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='') @@ -135,6 +134,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 8f26d0a..b1699b0 100644 --- a/Lib/test/test_re.py +++ b/Lib/test/test_re.py @@ -2489,7 +2489,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. |