Ivan Levkivskyi
8c83c23fa3
bpo-28936: Detect lexically first syntax error first ( #4097 )
...
Lexically first global and nonlocal syntax errors at given scope should be detected first.
2017-10-27 00:28:35 +03:00
Eric Snow
2ebc5ce42a
bpo-30860: Consolidate stateful runtime globals. ( #3397 )
...
* group the (stateful) runtime globals into various topical structs
* consolidate the topical structs under a single top-level _PyRuntimeState struct
* add a check-c-globals.py script that helps identify runtime globals
Other globals are excluded (see globals.txt and check-c-globals.py).
2017-09-07 23:51:28 -06:00
Serhiy Storchaka
3b73ea1278
Issue #28701 : Replace PyUnicode_CompareWithASCIIString with _PyUnicode_EqualToASCIIString.
...
The latter function is more readable, faster and doesn't raise exceptions.
2016-11-16 10:19:20 +02:00
Serhiy Storchaka
f4934ea77d
Issue #28701 : Replace PyUnicode_CompareWithASCIIString with _PyUnicode_EqualToASCIIString.
...
The latter function is more readable, faster and doesn't raise exceptions.
2016-11-16 10:17:58 +02:00
Christian Heimes
517507c6d5
Issue #28100 : Refactor error messages, patch by Ivan Levkivskyi
2016-09-23 20:26:30 +02:00
Yury Selivanov
52c4e7cc84
Issue #28008 : Implement PEP 530 -- asynchronous comprehensions.
2016-09-09 10:36:01 -07:00
Guido van Rossum
6cff8744a0
Issue #27999 : Make "global after use" a SyntaxError, and ditto for nonlocal.
...
Patch by Ivan Levkivskyi.
2016-09-09 09:36:26 -07:00
Yury Selivanov
eb6364557f
Issue #28003 : Implement PEP 525 -- Asynchronous Generators.
2016-09-08 22:01:51 -07:00
Yury Selivanov
f8cb8a16a3
Issue #27985 : Implement PEP 526 -- Syntax for Variable Annotations.
...
Patch by Ivan Levkivskyi.
2016-09-08 20:50:03 -07:00
Christian Heimes
45af0c83da
Fix potential NULL pointer dereference in update_symbols()
...
symtable_analyze() calls analyze_block() with bound=NULL. Theoretically
that NULL can be passed down to update_symbols(). update_symbols() may
deference NULL and pass it to PySet_Contains()
2016-09-09 00:22:28 +02:00
Martin Panter
19409197e2
Merge typo fixes from 3.5
2016-06-04 05:26:40 +00:00
Martin Panter
3ee6270262
Fix typos in code comment and documentation
2016-06-04 04:57:19 +00:00
Victor Stinner
f2c1aa1661
Add ast.Constant
...
Issue #26146 : Add a new kind of AST node: ast.Constant. It can be used by
external AST optimizers, but the compiler does not emit directly such node.
An optimizer can replace the following AST nodes with ast.Constant:
* ast.NameConstant: None, False, True
* ast.Num: int, float, complex
* ast.Str: str
* ast.Bytes: bytes
* ast.Tuple if items are constants too: tuple
* frozenset
Update code to accept ast.Constant instead of ast.Num and/or ast.Str:
* compiler
* docstrings
* ast.literal_eval()
* Tools/parser/unparse.py
2016-01-26 00:40:57 +01:00
Benjamin Peterson
5aab44b301
merge 3.5 ( #25973 )
2015-12-29 10:08:51 -06:00
Benjamin Peterson
3cc8f4b969
make recording and reporting errors and nonlocal and global directives more robust ( closes #25973 )
2015-12-29 10:08:34 -06:00
Serhiy Storchaka
ef1585eb9a
Issue #25923 : Added more const qualifiers to signatures of static and private functions.
2015-12-25 20:01:53 +02:00
Eric V. Smith
235a6f0984
Issue #24965 : Implement PEP 498 "Literal String Interpolation". Documentation is still needed, I'll open an issue for that.
2015-09-19 14:51:32 -04:00
Yury Selivanov
b7666a3093
Issue #24619 : More tests; fix nits in compiler.c
2015-07-22 14:48:57 +03:00
Yury Selivanov
f488fb422a
Issue #19235 : Add new RecursionError exception. Patch by Georg Brandl.
2015-07-03 01:04:23 -04:00
Yury Selivanov
7544508f02
PEP 0492 -- Coroutines with async and await syntax. Issue #24017 .
2015-05-11 22:57:16 -04:00
Benjamin Peterson
025e9ebd0a
PEP 448: additional unpacking generalizations ( closes #2292 )
...
Patch by Neil Girdhar.
2015-05-05 20:16:41 -04:00
Benjamin Peterson
1dfd247c1b
remove the concept of an unoptimized function scope from the compiler, since it can't happen anymore
2015-04-27 21:44:22 -04:00
Benjamin Peterson
9bdd61338d
remove dead *-import checking code ( closes #24049 )
2015-04-24 12:02:29 -04:00
Benjamin Peterson
c30d05855a
merge 3.3 ( #19098 )
2013-09-26 22:21:41 -04:00
Benjamin Peterson
305e5aac85
don't scale compiler stack frames if the recursion limit is huge ( closes #19098 )
2013-09-26 22:17:45 -04:00
Victor Stinner
14e461d5b9
Close #11619 : The parser and the import machinery do not encode Unicode
...
filenames anymore on Windows.
2013-08-26 22:28:21 +02:00
Victor Stinner
9a4fb66966
Issue #18408 : ste_new() initialize all attributes before handling error
...
If an attribute is not initialized, the destructor can crash
2013-07-11 22:49:00 +02:00
Benjamin Peterson
e2135c6158
move definition to top of block
2013-05-16 19:38:22 -05:00
Benjamin Peterson
e8e14591eb
rather than passing locals to the class body, just execute the class body in the proper environment
2013-05-16 14:37:25 -05:00
Benjamin Peterson
1e93b06007
complain about "global __class__" in a class body ( closes #17983 )
2013-05-15 16:17:25 -05:00
Benjamin Peterson
312595ce3a
hide the __class__ closure from the class body ( #12370 )
2013-05-15 15:26:42 -05:00
Benjamin Peterson
cda75be02a
unify some ast.argument's attrs; change Attribute column offset ( closes #16795 )
...
Patch from Sven Brauch.
2013-03-18 10:48:58 -07:00
Benjamin Peterson
442f20996d
create NameConstant AST class for None, True, and False literals ( closes #16619 )
2012-12-06 17:41:04 -05:00
Mark Dickinson
073f067369
Issue #16546 : merge fix from 3.3
2012-11-25 14:37:43 +00:00
Mark Dickinson
ded35aeb9d
Issue #16546 : make ast.YieldFrom argument mandatory.
2012-11-25 14:36:26 +00:00
Nick Coghlan
e69bfc3fb6
Issue #5765 : Merge from 3.3
2012-11-04 23:53:15 +10:00
Nick Coghlan
aab9c2b2ea
Issue #5765 : Apply a hard recursion limit in the compiler
...
Previously, excessive nesting in expressions would blow the
stack and segfault the interpreter. Now, a hard limit based
on the configured recursion limit and a hardcoded scaling
factor is applied.
2012-11-04 23:14:34 +10:00
Benjamin Peterson
d9c8702c0f
point errors related to nonlocals and globals to the statement declaring them ( closes #10189 )
2012-10-31 20:26:20 -04:00
Benjamin Peterson
e132f527c9
check return value of _PyUnicode_AsString
2012-10-31 19:01:42 -04:00
Christian Heimes
10ca1fee8f
Cleanup 'k' when the creation of PySTEntryObject fails. ad3824a90261 used to decref 'k' in too many error cases.
2012-09-12 17:58:20 +02:00
Christian Heimes
55ad6515c9
Cleanup 'k' when the creation of PySTEntryObject fails. ad3824a90261 used to decref 'k' in too many error cases.
2012-09-12 17:58:10 +02:00
Christian Heimes
9c5b521c71
Partly revert ad3824a90261 and add comment about reference ownership
2012-09-12 17:53:15 +02:00
Christian Heimes
1526582df6
Partly revert ad3824a90261 and add comment about reference ownership
2012-09-12 17:52:46 +02:00
Christian Heimes
310f81449a
Closed reference leak of variable 'k' in function ste_new which wasn't decrefed in error cases
2012-09-10 03:09:17 +02:00
Christian Heimes
837e53a7c2
Closed reference leak of variable 'k' in function ste_new which wasn't decrefed in error cases
2012-09-10 03:08:46 +02:00
Nick Coghlan
0b43bcf528
Close #14857 : fix regression in references to PEP 3135 implicit __class__ closure variable. Reopens issue #12370 , but also updates unittest.mock to workaround that issue
2012-05-27 18:17:07 +10:00
Benjamin Peterson
527c622926
make YieldFrom its own distinct from Yield ( closes #13780 )
2012-01-14 08:58:23 -05:00
Nick Coghlan
1f7ce62bd6
Implement PEP 380 - 'yield from' ( closes #11682 )
2012-01-13 21:43:40 +10:00
Amaury Forgeot d'Arc
9028a10144
Issue #13343 : Fix a SystemError when a lambda expression uses a global
...
variable in the default value of a keyword-only argument:
(lambda *, arg=GLOBAL_NAME: None)
2011-11-04 22:29:24 +01:00
Amaury Forgeot d'Arc
97c1bef6a4
Issue #13343 : Fix a SystemError when a lambda expression uses a global
...
variable in the default value of a keyword-only argument:
(lambda *, arg=GLOBAL_NAME: None)
2011-11-04 22:17:45 +01:00