| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
| |
called to find tb_lineno -- even if Py_OptimizeFlag is true.
So don't call it again when printing the traceback.
|
|
|
|
|
|
|
|
| |
[ 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.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This should eliminate the traceback returned by sys.exc_info() as a
common source of memory leaks.
|
| |
|
|
|
|
| |
This should match the situation in the 1.6b1 tree.
|
|
|
|
| |
declarations yet, those come later.
|
| |
|
| |
|
|
|
|
| |
tests.
|
|
|
|
|
|
|
|
|
|
| |
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.)
|
|
|
|
| |
"innermost last". The latter was mysterious to newbies.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
PyErr_Clear(). Add checking of those errors.
|
|
|
|
|
| |
All per-thread globals are moved into a struct which is manipulated
separately.
|
| |
|
| |
|
| |
|
|
|
|
| |
tb_lineno. Store it in tb_lineno for the user.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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().
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
before concatenating sys.path item and module name
|
|
|
|
| |
MPW fixes
|
|
|
|
|
|
|
| |
* 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().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Search sys.path if the filename isn't found.
Include osdefs.h.
|
| |
|
|
|
|
| |
Print ';' instead of ',' between file and line for MPW.
|
| |
|
| |
|
|
|