gh-109375: Fix bug where pdb registers an alias without an associated command (GH-109376)
(cherry picked from commit
68a6f21f47e779ddd70e33cf04d170a63f077fcd)
Co-authored-by: buermarc <44375277+buermarc@users.noreply.github.com>
for alias in keys:
self.message("%s = %s" % (alias, self.aliases[alias]))
return
- if args[0] in self.aliases and len(args) == 1:
- self.message("%s = %s" % (args[0], self.aliases[args[0]]))
+ if len(args) == 1:
+ if args[0] in self.aliases:
+ self.message("%s = %s" % (args[0], self.aliases[args[0]]))
+ else:
+ self.error(f"Unknown alias '{args[0]}'")
else:
self.aliases[args[0]] = ' '.join(args[1:])
... o.method()
>>> with PdbTestInput([ # doctest: +ELLIPSIS
+ ... 'alias pi',
... 'alias pi for k in %1.__dict__.keys(): print(f"%1.{k} = {%1.__dict__[k]}")',
... 'alias ps pi self',
+ ... 'alias ps',
... 'pi o',
... 's',
... 'ps',
... test_function()
> <doctest test.test_pdb.test_pdb_alias_command[1]>(4)test_function()
-> o.method()
+ (Pdb) alias pi
+ *** Unknown alias 'pi'
(Pdb) alias pi for k in %1.__dict__.keys(): print(f"%1.{k} = {%1.__dict__[k]}")
(Pdb) alias ps pi self
+ (Pdb) alias ps
+ ps = pi self
(Pdb) pi o
o.attr1 = 10
o.attr2 = str
Colm Buckley
Erik de Bueger
Jan-Hein Bührman
+Marc Bürg
Lars Buitinck
Artem Bulgakov
Dick Bulterman
--- /dev/null
+The :mod:`pdb` ``alias`` command now prevents registering aliases without arguments.