##// END OF EJS Templates
"smart command mode" for ipdb (like pdb++)....
Antony Lee -
Show More
@@ -311,6 +311,17 b' class Pdb(OldPdb):'
311 if self.shell.readline is not None:
311 if self.shell.readline is not None:
312 self.shell.readline.set_completer_delims(self.shell.readline_delims)
312 self.shell.readline.set_completer_delims(self.shell.readline_delims)
313
313
314 def parseline(self, line):
315 if line.startswith("!!"):
316 # Force standard behavior.
317 return super(Pdb, self).parseline(line[2:])
318 # "Smart command mode" from pdb++: don't execute commands if a variable
319 # with the same name exists.
320 cmd, arg, newline = super(Pdb, self).parseline(line)
321 if cmd in self.curframe.f_globals or cmd in self.curframe.f_locals:
322 return super(Pdb, self).parseline("!" + line)
323 return super(Pdb, self).parseline(line)
324
314 def new_do_up(self, arg):
325 def new_do_up(self, arg):
315 OldPdb.do_up(self, arg)
326 OldPdb.do_up(self, arg)
316 self.shell.set_completer_frame(self.curframe)
327 self.shell.set_completer_frame(self.curframe)
General Comments 0
You need to be logged in to leave comments. Login now