diff options
author | Guido van Rossum <guido@python.org> | 1998-09-11 22:33:08 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1998-09-11 22:33:08 (GMT) |
commit | 5fca6fd2d9d53a5c417fc8a811752009b0f025e4 (patch) | |
tree | 583910ec3a70b9a55e5d1361c0c92f542421287a /Lib/cmd.py | |
parent | b7833d3c0c17ab55bc9be84e6a531a5da22023a8 (diff) | |
download | cpython-5fca6fd2d9d53a5c417fc8a811752009b0f025e4.zip cpython-5fca6fd2d9d53a5c417fc8a811752009b0f025e4.tar.gz cpython-5fca6fd2d9d53a5c417fc8a811752009b0f025e4.tar.bz2 |
Richard Wolff's changes:
cmd.py has incorporated the changes we discussed a couple of weeks ago
(a command queue, returning line from precmd, and stop from postcmd)
and some changes to help that were occasioned because I wanted to
inherit from pdb which inherits from cmd.py and the help routine
didn't look for commands or the associated help deeply enough.
Diffstat (limited to 'Lib/cmd.py')
-rw-r--r-- | Lib/cmd.py | 17 |
1 files changed, 16 insertions, 1 deletions
@@ -131,15 +131,30 @@ class Cmd: return func() else: - names = dir(self.__class__) + # Inheritance says we have to look in class and + # base classes; order is not important. + names = [] + classes = [self.__class__] + while classes: + aclass = classes[0] + if aclass.__bases__: + classes = classes + list(aclass.__bases__) + names = names + dir(aclass) + del classes[0] cmds_doc = [] cmds_undoc = [] help = {} for name in names: if name[:5] == 'help_': help[name[5:]]=1 + names.sort() + # There can be duplicates if routines overridden + prevname = '' for name in names: if name[:3] == 'do_': + if name == prevname: + continue + prevname = name cmd=name[3:] if help.has_key(cmd): cmds_doc.append(cmd) |