Skip to content

Commit 68a6f21

Browse files
authored
gh-109375: Fix bug where pdb registers an alias without an associated command (#109376)
1 parent e091b9f commit 68a6f21

File tree

4 files changed

+13
-2
lines changed

4 files changed

+13
-2
lines changed

Lib/pdb.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1753,8 +1753,11 @@ def do_alias(self, arg):
17531753
for alias in keys:
17541754
self.message("%s = %s" % (alias, self.aliases[alias]))
17551755
return
1756-
if args[0] in self.aliases and len(args) == 1:
1757-
self.message("%s = %s" % (args[0], self.aliases[args[0]]))
1756+
if len(args) == 1:
1757+
if args[0] in self.aliases:
1758+
self.message("%s = %s" % (args[0], self.aliases[args[0]]))
1759+
else:
1760+
self.error(f"Unknown alias '{args[0]}'")
17581761
else:
17591762
self.aliases[args[0]] = ' '.join(args[1:])
17601763

Lib/test/test_pdb.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -664,8 +664,10 @@ def test_pdb_alias_command():
664664
... o.method()
665665
666666
>>> with PdbTestInput([ # doctest: +ELLIPSIS
667+
... 'alias pi',
667668
... 'alias pi for k in %1.__dict__.keys(): print(f"%1.{k} = {%1.__dict__[k]}")',
668669
... 'alias ps pi self',
670+
... 'alias ps',
669671
... 'pi o',
670672
... 's',
671673
... 'ps',
@@ -674,8 +676,12 @@ def test_pdb_alias_command():
674676
... test_function()
675677
> <doctest test.test_pdb.test_pdb_alias_command[1]>(4)test_function()
676678
-> o.method()
679+
(Pdb) alias pi
680+
*** Unknown alias 'pi'
677681
(Pdb) alias pi for k in %1.__dict__.keys(): print(f"%1.{k} = {%1.__dict__[k]}")
678682
(Pdb) alias ps pi self
683+
(Pdb) alias ps
684+
ps = pi self
679685
(Pdb) pi o
680686
o.attr1 = 10
681687
o.attr2 = str

Misc/ACKS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,7 @@ Curtis Bucher
254254
Colm Buckley
255255
Erik de Bueger
256256
Jan-Hein Bührman
257+
Marc Bürg
257258
Lars Buitinck
258259
Artem Bulgakov
259260
Dick Bulterman
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
The :mod:`pdb` ``alias`` command now prevents registering aliases without arguments.

0 commit comments

Comments
 (0)