Benjamin Peterson
12554cb224
more flags which only work for function blocks
2009-01-31 23:54:38 +00:00
Benjamin Peterson
da9327faf7
add explanatory comment
2009-01-31 23:43:25 +00:00
Amaury Forgeot d'Arc
59ce042766
#4077 : No need to append \n when calling Py_FatalError
...
+ fix a declaration to make it match the one in pythonrun.h
2009-01-17 20:18:59 +00:00
Benjamin Peterson
8d5934b25d
#4748 lambda generators shouldn't return values
2008-12-27 18:24:11 +00:00
Antoine Pitrou
d0c3515bc5
Issue #2183 : Simplify and optimize bytecode for list comprehensions.
2008-12-17 00:38:28 +00:00
Benjamin Peterson
2c98faada6
check for assignment to __debug__ during AST generation
...
Also, give assignment to None a better error message
2008-11-08 18:38:54 +00:00
Gregory P. Smith
9d53457e59
Merge in release25-maint r60793:
...
Added checks for integer overflows, contributed by Google. Some are
only available if asserts are left in the code, in cases where they
can't be triggered from Python code.
2008-06-11 07:41:16 +00:00
Gregory P. Smith
dd96db63f6
This reverts r63675 based on the discussion in this thread:
...
http://mail.python.org/pipermail/python-dev/2008-June/079988.html
Python 2.6 should stick with PyString_* in its codebase. The PyBytes_* names
in the spirit of 3.0 are available via a #define only. See the email thread.
2008-06-09 04:58:54 +00:00
Christian Heimes
593daf545b
Renamed PyString to PyBytes
2008-05-26 12:51:38 +00:00
Georg Brandl
a48f3ab895
Patch #2511 : Give the "excepthandler" AST item proper attributes by making it a Sum.
2008-03-30 06:40:17 +00:00
Amaury Forgeot d'Arc
69b747b735
Fix a reference leak found by Georg, when compiling a class nested in another class.
...
Now "regrtest.py -R:: test_compile" is satisfied.
Will backport.
2008-03-28 20:30:50 +00:00
Georg Brandl
fc8eef3c78
Patch #1810 by Thomas Lee, reviewed by myself:
...
allow compiling Python AST objects into code objects
in compile().
2008-03-28 12:11:56 +00:00
Neal Norwitz
400aedacc0
Add a warning for code like:
...
assert (0, 'message')
An empty tuple does not create a warning. While questionable usage:
assert (), 'message'
should not display a warning. Tested manually.
The warning message could be improved. Feel free to update it.
2008-03-15 22:03:18 +00:00
Nick Coghlan
7af53be66f
Speed up with statements by storing the __exit__ method on the stack instead of in a temp variable (bumps the magic number for pyc files)
2008-03-07 14:13:28 +00:00
Neal Norwitz
0031ff3f1c
Fix indentation
2008-02-25 01:45:37 +00:00
Christian Heimes
5224d28d38
Patch #1759 : Backport of PEP 3129 class decorators
...
with some help from Georg
2008-02-23 15:01:05 +00:00
Brett Cannon
a6c41bc9e5
Cast a struct to a void pointer so as to do a type-safe pointer comparison
...
(mistmatch found by clang).
2008-02-07 07:47:31 +00:00
Amaury Forgeot d'Arc
99af7dbc07
Change r60575 broke test_compile:
...
there is no need to emit co_lnotab item when both offsets are zeros.
2008-02-05 00:26:21 +00:00
Amaury Forgeot d'Arc
6fd03bb607
#1750076 : Debugger did not step on every iteration of a while statement.
...
The mapping between bytecode offsets and source lines (lnotab) did not contain
an entry for the beginning of the loop.
Now it does, and the lnotab can be a bit larger:
in particular, several statements on the same line generate several entries.
However, this does not bother the settrace function, which will trigger only
one 'line' event.
The lnotab seems to be exactly the same as with python2.4.
2008-02-04 21:45:05 +00:00
Mark Dickinson
105be7725b
Issue #1678380 . Fix a bug that identifies 0j and -0j when they appear
...
in the same code unit. The fix is essentially the same as the fix for a
previous bug identifying 0. and -0.
2008-01-31 22:17:37 +00:00
Christian Heimes
d7e1b2bd17
static PyObject* variables should use PyString_InternFromString() instead of PyObject_FromString() to store a python string in a function level static var.
2008-01-28 02:07:53 +00:00
Amaury Forgeot d'Arc
16570f59ca
#1920 : when considering a block starting by "while 0", the compiler optimized the
...
whole construct away, even when an 'else' clause is present::
while 0:
print("no")
else:
print("yes")
did not generate any code at all.
Now the compiler emits the 'else' block, like it already does for 'if' statements.
Will backport.
2008-01-24 22:51:18 +00:00
Raymond Hettinger
dff1fd93ef
Add comments
2007-12-20 01:25:05 +00:00
Raymond Hettinger
70fcfd03bc
Bigger range for non-extended opargs.
2007-12-19 22:14:34 +00:00
Raymond Hettinger
eca274367e
Zap a duplicate line
2007-12-19 00:27:21 +00:00