diff options
author | Michael W. Hudson <mwh@python.net> | 2003-02-03 11:04:27 (GMT) |
---|---|---|
committer | Michael W. Hudson <mwh@python.net> | 2003-02-03 11:04:27 (GMT) |
commit | 35a92ce9da03a7a8acce565708eba96bf7cc2f1c (patch) | |
tree | 44e39759a70baffbd8c680d576e52bb89134d252 | |
parent | c064a1d7e36ba58f8402c9fd03395904adabe3e8 (diff) | |
download | cpython-35a92ce9da03a7a8acce565708eba96bf7cc2f1c.zip cpython-35a92ce9da03a7a8acce565708eba96bf7cc2f1c.tar.gz cpython-35a92ce9da03a7a8acce565708eba96bf7cc2f1c.tar.bz2 |
Fix bug
[ 676342 ] after using pdb readline does not work correctly
using Michael Stone's patch so the completer functionality of
cmd is only setup between preloop and postloop.
-rw-r--r-- | Lib/cmd.py | 24 |
1 files changed, 15 insertions, 9 deletions
@@ -86,13 +86,7 @@ class Cmd: """ self.cmdqueue = [] - if completekey: - try: - import readline - readline.set_completer(self.complete) - readline.parse_and_bind(completekey+": complete") - except ImportError: - pass + self.completekey = completekey def cmdloop(self, intro=None): """Repeatedly issue a prompt, accept input, parse an initial prefix @@ -142,14 +136,26 @@ class Cmd: def preloop(self): """Hook method executed once when the cmdloop() method is called.""" - pass + if self.completekey: + try: + import readline + self.old_completer = readline.get_completer() + readline.set_completer(self.complete) + readline.parse_and_bind(self.completekey+": complete") + except ImportError: + pass def postloop(self): """Hook method executed once when the cmdloop() method is about to return. """ - pass + if self.completekey: + try: + import readline + readline.set_completer(self.old_completer) + except ImportError: + pass def parseline(self, line): line = line.strip() |