[IPython-dev] svnversion used for Release.py

Fernando Perez fperez.net at gmail.com
Thu Nov 30 00:28:26 EST 2006


On 11/29/06, R. Bernstein <rocky at panix.com> wrote:

> This helps a bit, thanks. A suitably recent version of the pydb
> follows the Python 2.5 constructor convention - it doesn't matter what
> the Python version is. If pydb is used, (and we do check for a
> suitably recent version), then that hack is *not* needed. So
>
> class Pdb(OldPdb):
>     """Modified Pdb class, does not load readline."""
>
>     if sys.version[:3] >= '2.5'
>
> can become
>
>     if sys.version[:3] >= '2.5' or has_pydb:
>
> I've attached a patch for this below.

I think Ville already applied it, thanks.

> I'm still not clear about one other thing though, and this is not
> addressed in the patch but perhaps should be.
>
> When you create the debugger you turn off any readline completion,
> right? But is this correct whne pydb is used? pydb sets up command
> completion correctly for itself, and I'd venture to say that this
> would be more helpful in the debugger context than the default ipython
> command completion.

IPython simply prevents pdb (the builtin one) from mucking around with
our own completers (it would otherwise call rlcompleter and completely
disable ipython's completions).  It's quite possible that this
disables pydb's completions, and in that case we should try to
accomodate both needs: preventing pdb from breaking ipython's
completion, while allowing pydb's completion to function.  If that's
not the case, patches welcome :)

I'll be 90% offline starting now until about Dec. 12.

I did manage to get a patch in which I'd wanted for a long time; since
it's debugger related, your testing and feedback would be welcome:

%debug

now activates the interactive debugger (including pydb if available)
AFTER an exception has fired, even if you had %pdb off.  This lets you
inspect a crashed code interactively without having to do the old
dance '%pdb on; rerun code; %pdb off'.  I like it a lot more.

Cheers,

f



More information about the IPython-dev mailing list