summaryrefslogtreecommitdiffstats
path: root/Python/traceback.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix a bug introduced by the warnings rewrite where tracebacks were beingBrett Cannon2008-04-281-2/+0
| | | | | | improperly indented. Closes issue #2699.
* Re-implement the 'warnings' module in C. This allows for usage of theBrett Cannon2008-04-121-22/+38
| | | | | | | | | 'warnings' code in places where it was previously not possible (e.g., the parser). It could also potentially lead to a speed-up in interpreter start-up if the C version of the code (_warnings) is imported over the use of the Python version in key places. Closes issue #1631171.
* Coverity issue CID #169Christian Heimes2008-01-181-1/+2
| | | | | | local_ptr_assign_local: Assigning address of stack variable "namebuf" to pointer "filename" out_of_scope: Variable "namebuf" goes out of scope use_invalid: Used "filename" pointing to out-of-scope variable "namebuf"
* PEP 3123: Provide forward compatibility with Python 3.0, while keepingMartin v. Löwis2007-07-211-2/+1
| | | | | backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size, and PyVarObject_HEAD_INIT.
* Make PyTraceBack_Here use the current thread, not theMartin v. Löwis2007-01-231-1/+1
| | | | | frame's thread state. Fixes #1579370. Will backport.
* Use Py_VISIT in all tp_traverse methods, instead of traversing manually orThomas Wouters2006-04-151-9/+3
| | | | | | | | using a custom, nearly-identical macro. This probably changes how some of these functions are compiled, which may result in fractionally slower (or faster) execution. Considering the nature of traversal, visiting much of the address space in unpredictable patterns, I'd argue the code readability and maintainability is well worth it ;P
* Use Py_CLEAR instead of in-place DECREF/XDECREF or custom macros, forThomas Wouters2006-04-151-4/+2
| | | | tp_clear methods.
* Use macro versions instead of function versions when we already know the type.Neal Norwitz2006-03-201-1/+1
| | | | | | | | This will hopefully get rid of some Coverity warnings, be a hint to developers, and be marginally faster. Some asserts were added when the type is currently known, but depends on values from another function.
* SF #1444030: Fix several potential defects found by Coverity.Hye-Shik Chang2006-03-071-1/+5
| | | | (reviewed by Neal Norwitz)
* Use Py_ssize_t to count theMartin v. Löwis2006-02-161-1/+2
|
* Merge ast-branch to headJeremy Hylton2005-10-201-1/+1
| | | | | | | | | | This change implements a new bytecode compiler, based on a transformation of the parse tree to an abstract syntax defined in Parser/Python.asdl. The compiler implementation is not complete, but it is in stable enough shape to run the entire test suite excepting two disabled tests.
* Moved tracebackobject to traceback.h, Closes SF Bug #497067Nicholas Bastin2004-03-211-23/+16
|
* Getting rid of support for the ancient Apple MPW compiler.Jack Jansen2003-11-191-5/+0
|
* After the removal of SET_LINENO, PyCode_Addr2Line has always beenMichael W. Hudson2003-02-221-3/+0
| | | | | | called to find tb_lineno -- even if Py_OptimizeFlag is true. So don't call it again when printing the traceback.
* This is my patchMichael W. Hudson2002-08-151-6/+5
| | | | | | | | [ 587993 ] SET_LINENO killer Remove SET_LINENO. Tracing is now supported by inspecting co_lnotab. Many sundry changes to document and adapt to this change.
* Mass checkin of universal newline support.Jack Jansen2002-04-141-3/+3
| | | | | | | | Highlights: import and friends will understand any of \r, \n and \r\n as end of line. Python file input will do the same if you use mode 'U'. Everything can be disabled by configuring with --without-universal-newlines. See PEP278 for details.
* Call PyObject_GC_UnTrack before putting an object on the list of trash.Neil Schemenauer2002-03-291-2/+2
|
* Use PyOS_snprintf instead of sprintf.Jeremy Hylton2001-11-281-1/+1
|
* SF bug 485175: buffer overflow in traceback.c.Tim Peters2001-11-271-3/+3
| | | | | | | Bugfix candidate. tb_displayline(): the sprintf format was choking off the file name, but used plain %s for the function name (which can be arbitrarily long). Limit both to 500 chars max.
* Make traceback objects collectable.Jeremy Hylton2001-10-221-2/+46
| | | | | This should eliminate the traceback returned by sys.exc_info() as a common source of memory leaks.
* Removed two pointless and obfuscating macros.Tim Peters2001-10-221-7/+4
|
* REMOVED all CWI, CNRI and BeOpen copyright markings.Guido van Rossum2000-09-011-9/+0
| | | | This should match the situation in the 1.6b1 tree.
* Mass ANSIfication of function definitions. Doesn't cover all 'extern'Thomas Wouters2000-07-221-23/+8
| | | | declarations yet, those come later.
* Change copyright notice - 2nd try.Guido van Rossum2000-06-301-6/+0
|
* Change copyright notice.Guido van Rossum2000-06-301-21/+6
|
* Trent Mick's Win64 changes: size_t vs. int or long; also some overflowGuido van Rossum2000-06-281-3/+3
| | | | tests.
* Vladimir Marangozov's long-awaited malloc restructuring.Guido van Rossum2000-05-031-1/+1
| | | | | | | | | | For more comments, read the patches@python.org archives. For documentation read the comments in mymalloc.h and objimpl.h. (This is not exactly what Vladimir posted to the patches list; I've made a few changes, and Vladimir sent me a fix in private email for a problem that only occurs in debug mode. I'm also holding back on his change to main.c, which seems unnecessary to me.)
* Change traceback error message to "most recent call last" fromGuido van Rossum2000-03-311-1/+1
| | | | "innermost last". The latter was mysterious to newbies.
* Christian Tismer's "trashcan" patch:Guido van Rossum2000-03-131-0/+2
| | | | | | | | Added wrapping macros to dictobject.c, listobject.c, tupleobject.c, frameobject.c, traceback.c that safely prevends core dumps on stack overflow. Macros and functions in object.c, object.h. The method is an "elevator destructor" that turns cascading deletes into tail recursive behavior when some limit is hit.
* Tim Peters fixed PR#75: very long lines cause incorrect tracebacks.Guido van Rossum1999-09-181-2/+11
|
* PyFile_WriteString now returns an error indicator instead of callingGuido van Rossum1997-05-221-14/+30
| | | | PyErr_Clear(). Add checking of those errors.
* Massive changes for separate thread state management.Guido van Rossum1997-05-051-30/+6
| | | | | All per-thread globals are moved into a struct which is manipulated separately.
* Only use PyCode_Addr2Line to get tb_lineno when Py_OptimizeFlag is set.Guido van Rossum1997-05-051-2/+3
|
* Quickly renamed.Guido van Rossum1997-04-291-57/+57
|
* Keep gcc -Wall and Microsoft VC happy.Guido van Rossum1997-04-111-1/+1
|
* Get the line number from PyCode_Addr2Line instead of believingGuido van Rossum1997-01-241-1/+4
| | | | tb_lineno. Store it in tb_lineno for the user.
* New permission notice, includes CNRI.Guido van Rossum1996-10-251-12/+19
|
* spell TraceBack with capital BGuido van Rossum1995-09-181-2/+2
|
* keyword arguments and faster callsGuido van Rossum1995-07-181-3/+4
|
* ignore control-l (parallelling change to tokenizer.c)Guido van Rossum1995-07-071-1/+1
|
* Added 1995 to copyright message.Guido van Rossum1995-01-041-2/+2
| | | | | | bltinmodule.c: fixed coerce() nightmare in ternary pow(). modsupport.c (initmodule2): pass METH_FREENAME flag to newmethodobject(). pythonrun.c: move flushline() into and around print_error().
* Lots of changes, most minor (fatal() instead of abort(), use ofGuido van Rossum1995-01-021-1/+0
| | | | | | err_fetch/err_restore and so on). But... NOTE: import.c has been rewritten and all the DL stuff is now in the new file importdl.c.
* * Python/traceback.c: security fix -- check for buffer oveflowGuido van Rossum1994-09-291-1/+6
| | | | before concatenating sys.path item and module name
* add function name to traceback infoGuido van Rossum1994-08-291-15/+15
| | | | MPW fixes
* * mpzmodule.c: cast some methods to the proper type.Guido van Rossum1993-12-171-5/+23
| | | | | | | * traceback.c (tb_print): use sys.tracebacklimit as a maximum number of traceback entries to print (default 1000). * ceval.c (printtraceback): Don't print stack trace header -- this is now done by tb_print().
* * Changed all copyright messages to include 1993.Guido van Rossum1993-03-291-2/+2
| | | | | | | | | | | | | | | | | * Stubs for faster implementation of local variables (not yet finished) * Added function name to code object. Print it for code and function objects. THIS MAKES THE .PYC FILE FORMAT INCOMPATIBLE (the version number has changed accordingly) * Print address of self for built-in methods * New internal functions getattro and setattro (getattr/setattr with string object arg) * Replaced "dictobject" with more powerful "mappingobject" * New per-type functio tp_hash to implement arbitrary object hashing, and hashobject() to interface to it * Added built-in functions hash(v) and hasattr(v, 'name') * classobject: made some functions static that accidentally weren't; added __hash__ special instance method to implement hash() * Added proper comparison for built-in methods and functions
* Modified most (but not yet all) I/O to always go through sys.stdout orGuido van Rossum1992-09-251-16/+19
| | | | | | sys.stderr or sys.stdin, and to work with any object as long as it has a write() (respectively readline()) methods. Some functions that took a FILE* argument now take an object* argument.
* Copyright for 1992 addedGuido van Rossum1992-04-051-1/+1
|
* Move printing of filename and lineno to tb_displayline.Guido van Rossum1992-02-261-20/+45
| | | | | Search sys.path if the filename isn't found. Include osdefs.h.
* tb_here() can now get the lasti and lineno arguments from the frame.Guido van Rossum1992-01-141-4/+2
|