diff --git a/Lib/pdb.py b/Lib/pdb.py index 7a5192cbadc3ad..98dc975eafafdc 100755 --- a/Lib/pdb.py +++ b/Lib/pdb.py @@ -1708,7 +1708,7 @@ def main(): print("The program finished and will be restarted") except Restart: print("Restarting", mainpyfile, "with arguments:") - print("\t" + " ".join(args)) + print("\t" + " ".join(sys.argv[1:])) except SystemExit: # In most cases SystemExit does not warrant a post-mortem session. print("The program exited via sys.exit(). Exit status:", end=' ') diff --git a/Lib/test/test_pdb.py b/Lib/test/test_pdb.py index 51cd378648378e..9f0db02996f5b6 100644 --- a/Lib/test/test_pdb.py +++ b/Lib/test/test_pdb.py @@ -1443,6 +1443,19 @@ def test_issue16180(self): 'Fail to handle a syntax error in the debuggee.' .format(expected, stdout)) + def test_issue26053(self): + # run command of pdb prompt echoes the correct args + script = "print('hello')" + commands = """ + continue + run a b c + run d e f + quit + """ + stdout, stderr = self.run_pdb_script(script, commands) + output = '\n'.join([x.strip() for x in stdout.splitlines()]) + self.assertIn("Restarting main.py with arguments:\na b c", output) + self.assertIn("Restarting main.py with arguments:\nd e f", output) def test_readrc_kwarg(self): script = textwrap.dedent(""" diff --git a/Misc/NEWS.d/next/Library/2020-09-01-10-12-13.bpo-26053.hXikw_.rst b/Misc/NEWS.d/next/Library/2020-09-01-10-12-13.bpo-26053.hXikw_.rst new file mode 100644 index 00000000000000..e8720ac82ffb13 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2020-09-01-10-12-13.bpo-26053.hXikw_.rst @@ -0,0 +1 @@ +Fixed bug where the :mod:`pdb` interactive run command echoed the args from the shell command line, even if those have been overridden at the pdb prompt.