Commit Graph

35 Commits

Author SHA1 Message Date
Neal Norwitz
dcbf1b94c6 Backport fix by tismer for #210682
fixed an old buglet that caused bdb to be unable to
continue in the botframe, after a breakpoint was set.
the key idea is not to set botframe to the bottom level frame,
but its f_back, which actually might be None.
Additional changes: migrated old exception trick to use
sys._getframe(), which exists both in 2.1 and 2.2 .

Note: I believe Mark Hammond needs to look over his code now.
F5 correctly starts up in the debugger, but later on doesn't stop at a given
breakpoint any longer.

kind regards - chris
2002-05-29 01:17:47 +00:00
Michael W. Hudson
9cb028a763 backport gvanrossum's checkin of
revision 1.35 of bdb.py

date: 2002/02/25 23:23:24;  author: gvanrossum;  state: Exp;  lines: +1 -0
canonic(): Fix by Edward K Ream to make breakpoints work better on
Windows: apply normcase() as well as abspath().  (Note: this isn't
needed to make IDLE work, but it's a good idea anyway.)

Bugfix candidate -- both 2.2.1 and 2.1.3.
2002-02-28 10:00:34 +00:00
Guido van Rossum
42f5332f6d canonic(): don't use abspath() for filenames looking like <...>; this
fixes the problem reported in SF bug #477023 (Jonathan Mark): "pdb:
unexpected path confuses Emacs".
2001-11-29 02:50:15 +00:00
Just van Rossum
ae1f65ff82 Return self.trace_dispatch from dispatch_return() to enable stepping through generators. (An alternative would be to create a new "yield" debugger event, but that involves many more changes, and might break Bdb subclasses.) 2001-06-25 18:01:24 +00:00
Guido van Rossum
9cec8fba06 Make it clear that a bdb subclass must implement do_clear().
This was found by Neal Norwitz's PyChecker.
2001-04-08 15:05:16 +00:00
Eric S. Raymond
b49f4a4b15 String method conversion. 2001-02-09 05:07:04 +00:00
Skip Montanaro
e99d5ea25b added __all__ lists to a number of Python modules
added test script and expected output file as well
this closes patch 103297.
__all__ attributes will be added to other modules without first submitting
a patch, just adding the necessary line to the test script to verify
more-or-less correct implementation.
2001-01-20 19:54:20 +00:00
Tim Peters
11cf605f84 Whitespace normalization. 2001-01-14 21:54:20 +00:00
Guido van Rossum
4acc25bd39 Mass patch by Ka-Ping Yee:
1. Comments at the beginning of the module, before
       functions, and before classes have been turned
       into docstrings.

    2. Tabs are normalized to four spaces.

Also, removed the "remove" function from dircmp.py, which reimplements
list.remove() (it must have been very old).
2000-02-02 15:10:15 +00:00
Guido van Rossum
331f19e894 Change two occurrences of type(x) <> types.CodeType into
isinstance(x, types.CodeType).

Suggested by Finn Bock.
2000-01-19 21:57:30 +00:00
Barry Warsaw
148ffbc886 canonic(): This used to be equivalent to str() but that caused too
much breakage (esp. in JPython which holds absolute path names in
co_filename already).  This implementation uses os.path.abspath() as a
slightly better way to canonicalize path names.  It implements a
cache.
1999-09-09 23:24:33 +00:00
Guido van Rossum
ca44236a1c Embarrassing: remove a debug print statement from set_break() for the
second time!
1999-01-29 22:39:32 +00:00
Guido van Rossum
170e190f26 Support a canonical() method, implementable by a derived class, to be
applied to all filenames before they are compared, looked up in the
breaks dictionary, etc.  The default implementation does nothing --
it's implented as fast as possible via str().  A useful implementation
would make everything a absolute, e.g. return os.path.normcase(
os.path.abspath(filename)).
1999-01-29 22:03:51 +00:00
Guido van Rossum
0189c010c3 Correct typo in new function get_breaks(). 1999-01-25 20:56:33 +00:00
Guido van Rossum
6ea27cc2c6 Change clear_break() to the old signature clear_break(file, line).
Add new clear_bpbynumber() with single bpno argument.  (Adapted from
a patch by Richard Wolff.)

Also some cleanup in error messages and moved some comments into a
docstring.
1999-01-25 20:51:34 +00:00
Guido van Rossum
691d27a7ae Bomb on deleting a temporary breakpoint: there's no method
do_delete(); do_clear() was meant.  By Greg Ward.
1998-11-18 15:56:06 +00:00
Guido van Rossum
75bb54c3d8 Don't set a local variable named __args__; this feature no longer
works and Greg Ward just reported a problem it caused...
1998-09-28 15:33:38 +00:00
Guido van Rossum
d93643fe4a Richard Wolff's changes:
bdb.py  now has a class definition called Breakpoint along with
	associated methods.  There's no reason why this class has to
	be there; if you prefer it elsewhere, 'tis easily done.

(Minor reformatting by GvR; e.g. moved Breakpoint's doc string to
proper point.)
1998-09-11 22:38:35 +00:00
Guido van Rossum
f15d15964b Use sys.exc_info() where needed. 1997-09-29 23:22:12 +00:00
Guido van Rossum
668361766a Normalize whitespace. 1997-07-11 13:43:31 +00:00
Guido van Rossum
ff02e1ddde Support for conditional breakpoints (Jim Fulton). 1997-07-11 13:42:50 +00:00
Guido van Rossum
4808dcb564 Allow code objects to be passed to run() and eval(). 1996-10-15 14:40:21 +00:00
Guido van Rossum
5e38b6fda1 handle class exceptions; added runeval; made runctx obsolete 1995-02-27 13:13:40 +00:00
Guido van Rossum
b6aa92ebf1 fix formatting of stack entries 1995-02-03 12:50:04 +00:00
Guido van Rossum
a558e37eb4 improved prompt format 1994-11-10 22:27:35 +00:00