[Python-Dev] seeing off SET_LINENO

Michael Hudson mwh@python.net
30 Jul 2002 13:58:10 +0100


"M.-A. Lemburg" <mal@lemburg.com> writes:

> > begins with two SET_LINENO's.  One is for the line containing "def
> > f():", one is for "print 1".  My patch means the debugger doesn't stop
> > on the "def f():" line -- unsurprisingly, given that no execution ever
> > takes place on that line.
> 
> This might be used in debugging application to setup some
> environment *before* diving into the function itself.

So do that when you get the 'call' trace function call!  That's what
it's there for.

> Note that many C debuggers stop at the declare line of
> a function as well (because they execute stack setup code),
> so a sudden change in this would probably confuse users of
> todays Python IDEs.

However, sudden changes here are *very* likely to confuse, I agree.
Perhaps bug-compatibility is something to aim for.

[...]
> >>Have you tested how this change might interact with e.g. hotshot?
> > 
> > 
> > test_hotshot was very important to me as evidence I was making
> > progress!
> > 
> > It currently fails due to the not-calling-trace-on-def-line issue, but
> > as I said, I think this is a *good* thing...
> 
> Have you also tested this with the commonly used Python IDEs
> out there ? E.g. IDLE, IDLE-fork, PythonWorks, WingIDE, Emacs,
> BlackAdder, BOA Constructor, etc. etc.

No.

Don't think it's relavent to IDLE (at least, I can't see any calls to
settrace in there that aren't commented out).  Python-mode's pdbtrack
should just carry on working.  Don't have easy access to the others.
I'd be amazed if other IDE's were severely adversely affected.
Anyway, isn't this what alphas are for?  I have no problem emailing a
relavent person for each of the above IDEs and pointing out that this
change may affect them.

Cheers,
M.

-- 
  If a train station is a place where a train stops, what's a
  workstation?                            -- unknown (to me, at least)