##// END OF EJS Templates
Prevent %debug from not working if pydb 1.17 is installed, which has a fatal bug
fperez -
Show More
@@ -15,7 +15,7 b' details on the PSF (Python Software Foundation) standard license, see:'
15
15
16 http://www.python.org/2.2.3/license.html
16 http://www.python.org/2.2.3/license.html
17
17
18 $Id: Debugger.py 2155 2007-03-19 00:45:51Z fperez $"""
18 $Id: Debugger.py 2203 2007-04-04 05:08:36Z fperez $"""
19
19
20 #*****************************************************************************
20 #*****************************************************************************
21 #
21 #
@@ -51,7 +51,9 b' has_pydb = False'
51 prompt = 'ipdb> '
51 prompt = 'ipdb> '
52 try:
52 try:
53 import pydb
53 import pydb
54 if hasattr(pydb.pydb, "runl"):
54 if hasattr(pydb.pydb, "runl") and pydb.version>'1.17':
55 # Version 1.17 is broken, and that's what ships with Ubuntu Edgy, so we
56 # better protetct against it.
55 has_pydb = True
57 has_pydb = True
56 from pydb import Pdb as OldPdb
58 from pydb import Pdb as OldPdb
57 except ImportError:
59 except ImportError:
@@ -6,7 +6,7 b' Requires Python 2.3 or newer.'
6
6
7 This file contains all the classes and helper functions specific to IPython.
7 This file contains all the classes and helper functions specific to IPython.
8
8
9 $Id: iplib.py 2201 2007-04-03 05:59:01Z fperez $
9 $Id: iplib.py 2203 2007-04-04 05:08:36Z fperez $
10 """
10 """
11
11
12 #*****************************************************************************
12 #*****************************************************************************
@@ -61,7 +61,7 b' from pprint import pprint, pformat'
61
61
62 # IPython's own modules
62 # IPython's own modules
63 import IPython
63 import IPython
64 from IPython import OInspect,PyColorize,ultraTB
64 from IPython import Debugger,OInspect,PyColorize,ultraTB
65 from IPython.ColorANSI import ColorScheme,ColorSchemeTable # too long names
65 from IPython.ColorANSI import ColorScheme,ColorSchemeTable # too long names
66 from IPython.FakeModule import FakeModule
66 from IPython.FakeModule import FakeModule
67 from IPython.Itpl import Itpl,itpl,printpl,ItplNS,itplns
67 from IPython.Itpl import Itpl,itpl,printpl,ItplNS,itplns
@@ -1444,14 +1444,10 b' want to merge them back into the new files.""" % locals()'
1444 error('No traceback has been produced, nothing to debug.')
1444 error('No traceback has been produced, nothing to debug.')
1445 return
1445 return
1446
1446
1447 have_pydb = False
1448 # use pydb if available
1447 # use pydb if available
1449 try:
1448 if Debugger.has_pydb:
1450 from pydb import pm
1449 from pydb import pm
1451 have_pydb = True
1450 else:
1452 except ImportError:
1453 pass
1454 if not have_pydb:
1455 # fallback to our internal debugger
1451 # fallback to our internal debugger
1456 pm = lambda : self.InteractiveTB.debugger(force=True)
1452 pm = lambda : self.InteractiveTB.debugger(force=True)
1457 self.history_saving_wrapper(pm)()
1453 self.history_saving_wrapper(pm)()
@@ -1,3 +1,11 b''
1 2007-04-03 Fernando Perez <Fernando.Perez@colorado.edu>
2
3 * IPython/Debugger.py: disable the use of pydb version 1.17. It
4 has a critical bug (a missing import that makes post-mortem not
5 work at all). Unfortunately as of this time, this is the version
6 shipped with Ubuntu Edgy, so quite a few people have this one. I
7 hope Edgy will update to a more recent package.
8
1 2007-04-02 Fernando Perez <Fernando.Perez@colorado.edu>
9 2007-04-02 Fernando Perez <Fernando.Perez@colorado.edu>
2
10
3 * IPython/iplib.py (_prefilter): close #52, second part of a patch
11 * IPython/iplib.py (_prefilter): close #52, second part of a patch
General Comments 0
You need to be logged in to leave comments. Login now