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:
| ifbegidx>0: |
| cmd, args, foo=self.parseline(line) |
| ifcmd=='': |
| 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
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:cpython/Lib/cmd.py
Lines 274 to 280 in 2bc8365
which expects
cmdto always be a string, butparsecmdis returningNoneinstead when the line starts with!anddo_shellis not defined.CPython versions tested on:
CPython main branch
Operating systems tested on:
No response
Linked PRs
!#133364