From 4bbb0273f23c93ee82d7f60067775c558a7d1b1b Mon Sep 17 00:00:00 2001 From: Tian Gao Date: Wed, 19 Jun 2024 15:50:26 -0700 Subject: gh-120606: Allow EOF to exit pdb commands definition (#120607) --- Lib/pdb.py | 3 +++ Lib/test/test_pdb.py | 5 +++++ .../next/Library/2024-06-16-21-33-56.gh-issue-120606.kugbwR.rst | 1 + 3 files changed, 9 insertions(+) create mode 100644 Misc/NEWS.d/next/Library/2024-06-16-21-33-56.gh-issue-120606.kugbwR.rst diff --git a/Lib/pdb.py b/Lib/pdb.py index ddbfb9d..b1be207 100644 --- a/Lib/pdb.py +++ b/Lib/pdb.py @@ -860,6 +860,9 @@ class Pdb(bdb.Bdb, cmd.Cmd): return False # continue to handle other cmd def in the cmd list elif cmd == 'end': return True # end of cmd list + elif cmd == 'EOF': + print('') + return True # end of cmd list cmdlist = self.commands[self.commands_bnum] if arg: cmdlist.append(cmd+' '+arg) diff --git a/Lib/test/test_pdb.py b/Lib/test/test_pdb.py index 5edf68d..b2b78f1 100644 --- a/Lib/test/test_pdb.py +++ b/Lib/test/test_pdb.py @@ -258,6 +258,8 @@ def test_pdb_breakpoint_commands(): ... 'clear 3', ... 'break', ... 'condition 1', + ... 'commands 1', + ... 'EOF', # Simulate Ctrl-D/Ctrl-Z from user, should end input ... 'enable 1', ... 'clear 1', ... 'commands 2', @@ -313,6 +315,9 @@ def test_pdb_breakpoint_commands(): 2 breakpoint keep yes at :4 (Pdb) condition 1 Breakpoint 1 is now unconditional. + (Pdb) commands 1 + (com) EOF + (Pdb) enable 1 Enabled breakpoint 1 at :3 (Pdb) clear 1 diff --git a/Misc/NEWS.d/next/Library/2024-06-16-21-33-56.gh-issue-120606.kugbwR.rst b/Misc/NEWS.d/next/Library/2024-06-16-21-33-56.gh-issue-120606.kugbwR.rst new file mode 100644 index 0000000..874823e --- /dev/null +++ b/Misc/NEWS.d/next/Library/2024-06-16-21-33-56.gh-issue-120606.kugbwR.rst @@ -0,0 +1 @@ +Allow users to use EOF to exit ``commands`` definition in :mod:`pdb` -- cgit v0.12