Issue 35931: pdb: "debug print(" crashes with SyntaxError (original) (raw)
debug print(
will make pdb crash with a SyntaxError:
% python -c '__import__("pdb").set_trace()'
--Return--
> <string>(1)<module>()->None
(Pdb) print(
*** SyntaxError: unexpected EOF while parsing
(Pdb) debug print(
ENTERING RECURSIVE DEBUGGER
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib64/python3.7/bdb.py", line 92, in trace_dispatch
return self.dispatch_return(frame, arg)
File "/usr/lib64/python3.7/bdb.py", line 151, in dispatch_return
self.user_return(frame, arg)
File "/usr/lib64/python3.7/pdb.py", line 293, in user_return
self.interaction(frame, None)
File "/usr/lib64/python3.7/pdb.py", line 352, in interaction
self._cmdloop()
File "/usr/lib64/python3.7/pdb.py", line 321, in _cmdloop
self.cmdloop()
File "/usr/lib64/python3.7/cmd.py", line 138, in cmdloop
stop = self.onecmd(line)
File "/usr/lib64/python3.7/pdb.py", line 418, in onecmd
return cmd.Cmd.onecmd(self, line)
File "/usr/lib64/python3.7/cmd.py", line 217, in onecmd
return func(arg)
File "/usr/lib64/python3.7/pdb.py", line 1099, in do_debug
sys.call_tracing(p.run, (arg, globals, locals))
File "/usr/lib64/python3.7/bdb.py", line 582, in run
cmd = compile(cmd, "<string>", "exec")
File "<string>", line 1
print(
^
SyntaxError: unexpected EOF while parsing
Example of the API breakage:
/opt/python/3.8-dev/lib/python3.8/pdb.py:321: in _cmdloop
self.cmdloop()
/opt/python/3.8-dev/lib/python3.8/cmd.py:138: in cmdloop
stop = self.onecmd(line)
/opt/python/3.8-dev/lib/python3.8/pdb.py:418: in onecmd
return cmd.Cmd.onecmd(self, line)
/opt/python/3.8-dev/lib/python3.8/cmd.py:217: in onecmd
return func(arg)
pdb.py:699: in do_debug
return orig_do_debug(self, cmd)
/opt/python/3.8-dev/lib/python3.8/pdb.py:1097: in do_debug
code = compile(arg, "<string>", "exec")
E TypeError: compile() arg 1 must be a string, bytes or AST object
(via https://travis-ci.org/antocuni/pdb/jobs/504061679#L367)