gh-125378: Trigger a repeat for the full multi-line statement for empty line command (#125717)

This commit is contained in:
Tian Gao 2024-10-19 14:46:57 -07:00 committed by GitHub
parent 4c53b25775
commit 8f5e39d5c8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 15 additions and 3 deletions

View File

@ -755,6 +755,7 @@ class Pdb(bdb.Bdb, cmd.Cmd):
else:
line = line.rstrip('\r\n')
buffer += '\n' + line
self.lastcmd = buffer
save_stdout = sys.stdout
save_stdin = sys.stdin
save_displayhook = sys.displayhook

View File

@ -2448,7 +2448,12 @@ def test_pdb_multiline_statement():
... 'def f(x):',
... ' return x * 2',
... '',
... 'f(2)',
... 'val = 2',
... 'if val > 0:',
... ' val = f(val)',
... '',
... '', # empty line should repeat the multi-line statement
... 'val',
... 'c'
... ]):
... test_function()
@ -2457,8 +2462,13 @@ def test_pdb_multiline_statement():
(Pdb) def f(x):
... return x * 2
...
(Pdb) f(2)
4
(Pdb) val = 2
(Pdb) if val > 0:
... val = f(val)
...
(Pdb)
(Pdb) val
8
(Pdb) c
"""

View File

@ -0,0 +1 @@
Fixed the bug in :mod:`pdb` where after a multi-line command, an empty line repeats the first line of the multi-line command, instead of the full command.