Bug report
Bug description:
As noted in #133351 (comment) PDB allows commands that start with !, but Cmd fails to tab complete them if there's a space after the !, because it falls down this code path:
|
if begidx>0: |
|
cmd, args, foo = self.parseline(line) |
|
if cmd == '': |
|
compfunc = self.completedefault |
|
else: |
|
try: |
|
compfunc = getattr(self, 'complete_' + cmd) |
which expects cmd to always be a string, but parsecmd is returning None instead when the line starts with ! and do_shell is not defined.
CPython versions tested on:
CPython main branch
Operating systems tested on:
No response
Linked PRs