diff --git a/IPython/core/interactiveshell.py b/IPython/core/interactiveshell.py index 998c64b5f18..ec01d4d48ed 100644 --- a/IPython/core/interactiveshell.py +++ b/IPython/core/interactiveshell.py @@ -1442,7 +1442,6 @@ def showtraceback(self,exc_tuple = None,filename=None,tb_offset=None, sys.last_type = etype sys.last_value = value sys.last_traceback = tb - if etype in self.custom_exceptions: # FIXME: Old custom traceback objects may just return a # string, in that case we just put it into a list @@ -1458,11 +1457,10 @@ def showtraceback(self,exc_tuple = None,filename=None,tb_offset=None, else: stb = self.InteractiveTB.structured_traceback(etype, value, tb, tb_offset=tb_offset) - # FIXME: the pdb calling should be done by us, not by - # the code computing the traceback. - if self.InteractiveTB.call_pdb: - # pdb mucks up readline, fix it back - self.set_readline_completer() + + if self.call_pdb: + # drop into debugger + self.debugger(force=True) # Actually show the traceback self._showtraceback(etype, value, stb)