Commit Graph

96 Commits

Author SHA1 Message Date
Raymond Hettinger 2ef7e6c8f2 SF bug #1052503: pdb runcall should accept keyword arguments 2004-10-24 00:32:24 +00:00
Johannes Gijsbers 4a9faa1ea0 Patch #1003640: replace checkline() function parsing with new breakpoint logic:
1) When a breakpoint is set via a function name:
- the breakpoint gets the lineno of the def statement
- a new funcname attribute is attached to the breakpoint

2) bdb.effective() calls new function checkfuncname() to handle:
- def statement is executed: don't break.
- a first executable line of a function with a breakpoint on the lineno of the
def statement is reached: break.

This fixes bugs 976878, 926369 and 875404. Thanks Ilya Sandler.
2004-08-30 13:29:44 +00:00
Nicholas Bastin c69ebe8d50 Enable the profiling of C functions (builtins and extensions) 2004-03-24 21:57:10 +00:00
Walter Dörwald 70a6b49821 Replace backticks with repr() or "%r"
From SF patch #852334.
2004-02-12 17:35:32 +00:00
Guido van Rossum 68468eba63 Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
Raymond Hettinger 54f0222547 SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
Neal Norwitz 72a2b4d43f Whitespace normalization 2002-05-29 00:54:38 +00:00
Christian Tismer 313a7513b0 This is a Python 2.1 and 2.2 bugfix candidate:
(or how do I "mark" something to be a candidate?)

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-28 08:04:00 +00:00
Tim Peters bc0e910826 Convert a pile of obvious "yes/no" functions to return bool. 2002-04-04 22:55:58 +00:00
Neal Norwitz 93cf79fde4 Use docstrings for exception classes 2002-03-31 14:06:41 +00:00
Neal Norwitz 27a353020b Stop using string exceptions 2002-03-31 13:58:20 +00:00
Guido van Rossum bdba32051b 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-25 23:23:24 +00:00
Neal Norwitz 83bd70a7fa SF #515005, change "1 + ''" (which pychecker warns about being invalid)
into "raise Exception".
2002-02-11 18:26:02 +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
Guido van Rossum b6775db241 Merge alpha100 branch back to main trunk 1994-08-01 11:34:53 +00:00
Guido van Rossum 7bc817d5ba * Mass change: get rid of all init() methods, in favor of __init__()
constructors.  There is no backward compatibility.  Not everything has
  been tested.
* aiff.{py,doc}: deleted in favor of aifc.py (which contains its docs as
  comments)
1993-12-17 15:25:27 +00:00
Guido van Rossum 5ef74b8f8e pdb.py, bdb.py, cmd.py: use __init__() instead of init() 1993-06-23 11:55:24 +00:00
Guido van Rossum 89a78697b8 * Got entirely rid of path.py.
* Many modules: fixes for new, stricter, argument passing rules
  (most changes were automatic ones -- not all of this is tested!).
* gwin.py: now uses mainloop.py for its main loop and window admin.
* mainloop.py: always call dispatch() with event as a tuple!
* Fix bug in pdb's 'clear' command -- don't set the bpt but clear it!
1992-12-14 12:57:56 +00:00
Guido van Rossum 4e16098ce7 Added a _v21 def to FL.py and added two new input field types
Added runcall(func, *args) interfaces to profile.py, bdb.py, pdb.py, wdb.py
Added new module bisect.py and used it in sched.py.
Mostly cosmetic changes to profile.py (changed output format).
1992-09-02 20:43:20 +00:00
Guido van Rossum ceb3ba2afc Different syntax: cannot mix except and finally any more 1992-04-03 16:32:37 +00:00
Guido van Rossum edbfcbd7ef use settrace() intreface 1992-03-27 15:09:46 +00:00
Guido van Rossum fac6da22ff Added a method "format_stack_entry" to be used by derived classes.
Forget about the temp file.
1992-01-27 16:59:34 +00:00
Guido van Rossum 177dd80799 Experimental version writes the command to a file. 1992-01-24 01:12:00 +00:00
Guido van Rossum babe2bf8f4 Initial revision 1992-01-22 22:21:31 +00:00