208 Commits

Author SHA1 Message Date
Georg Brandl
20aa477a2d Patch #1638243: the compiler package is now able to correctly compile
a with statement; previously, executing code containing a with statement
compiled by the compiler package crashed the interpreter.
 (backport from rev. 53575)
2007-01-27 17:43:07 +00:00
Neil Schemenauer
4c6b0d5bec Fix a bug in the `compiler` package that caused invalid code to be
generated for generator expressions.
2006-08-16 23:38:05 +00:00
Neil Schemenauer
06ded09d40 Fix the 'compiler' package to generate correct code for MAKE_CLOSURE.
In the 2.5 development cycle, MAKE_CLOSURE as changed to take free
variables as a tuple rather than as individual items on the stack.
Closes patch #1534084.
2006-08-04 16:20:30 +00:00
Georg Brandl
afcd838f1f Revert rev 42617, it was introduced to work around bug #1441397.
test_compiler now passes again.
2006-07-29 10:25:46 +00:00
Georg Brandl
edd9b0dfb3 Bug #1441397: The compiler module now recognizes module and function
docstrings correctly as it did in Python 2.4.
2006-07-29 09:33:26 +00:00
Tim Peters
3249d00f4d Whitespace normalization. 2006-06-27 11:52:49 +00:00
Georg Brandl
c3f49ca558 Set lineno correctly on list, tuple and dict literals. 2006-06-22 14:46:17 +00:00
Georg Brandl
ad29e637d8 fix [ 1509132 ] compiler module builds incorrect AST for TryExceptFinally 2006-06-21 17:45:17 +00:00
Neal Norwitz
6aaccc6b55 Fix errors found by pychecker 2006-06-11 08:35:14 +00:00
Georg Brandl
1bb6230930 Bug #1385040: don't allow "def foo(a=1, b): pass" in the compiler package. 2006-05-03 18:18:32 +00:00
Guido van Rossum
da5b701aee Get rid of __context__, per the latest changes to PEP 343 and python-dev
discussion.
There are two places of documentation that still mention __context__:
Doc/lib/libstdtypes.tex -- I wasn't quite sure how to rewrite that without
spending a whole lot of time thinking about it; and whatsnew, which Andrew
usually likes to change himself.
2006-05-02 19:47:52 +00:00
Neal Norwitz
b902f4e401 Use absolute imports 2006-04-03 04:45:34 +00:00
Nick Coghlan
cb35b95f86 Teach the compiler module about augmented assignment to tuple subscripts 2006-03-14 13:21:14 +00:00
Guido van Rossum
f669436189 Um, I thought I'd already checked this in.
Anyway, this is the changes to the with-statement
so that __exit__ must return a true value in order
for a pending exception to be ignored.
The PEP (343) is already updated.
2006-03-10 02:28:35 +00:00
Tim Peters
39e11fb104 Whitespace normalization. 2006-03-04 02:43:44 +00:00
Neal Norwitz
10be2ea85d SF bug 1442442: LIST_APPEND optimization got lost in the AST merge.
Add it back.
2006-03-03 20:29:11 +00:00
Neal Norwitz
d4e3035701 Fix compiler breakage related to absolute imports 2006-03-03 20:21:48 +00:00
Neal Norwitz
eaed39f303 Hopefully this removes all vestiges of CO_GENERATOR_ALLOWED that can
be removed in 2.x.
2006-03-03 19:12:58 +00:00
Thomas Wouters
fa0cf4f3ae Add support for absolute/relative imports and if/else expressions:
- regenerate ast.py
 - add future flags for absolute-import and with-statement so they
   (hopefully) properly get set in code-object flags
 - try out if/else expressions in actual code for the hell of it.

Seems to generate the same kind of bytecode as the normal compiler.
2006-03-03 18:16:20 +00:00
Guido van Rossum
5bde08dba3 Fix failure of test_compiler.py when compiling test_contextlib.py.
The culprit was an expression-less yield -- the first apparently in
the standard library.  I added a unit test for this.
Also removed the hack to force compilation of test_with.py.
2006-03-02 04:24:01 +00:00
Thomas Wouters
34aa7ba114 from __future__ import with_statement addon for 'with', mostly written by
Neal.
2006-02-28 19:02:24 +00:00
Tim Peters
710ab3b5f8 Whitespace normalization. 2006-02-28 18:30:36 +00:00
Guido van Rossum
baf3eb2410 Forgot to explain the effect of the new opcode.
Sigh -- we really should have one place for all opcode metadata.
2006-02-28 00:40:16 +00:00
Guido van Rossum
7ad94f011e Update the compiler package to compile the with-statement.
Jeremy, please review!
2006-02-28 00:32:16 +00:00
Guido van Rossum
c2e20744b2 PEP 343 -- the with-statement.
This was started by Mike Bland and completed by Guido
(with help from Neal).

This still needs a __future__ statement added;
Thomas is working on Michael's patch for that aspect.

There's a small amount of code cleanup and refactoring
in ast.c, compile.c and ceval.c (I fixed the lltrace
behavior when EXT_POP is used -- however I had to make
lltrace a static global).
2006-02-27 22:32:47 +00:00