summaryrefslogtreecommitdiffstats
path: root/Python/symtable.c
Commit message (Collapse)AuthorAgeFilesLines
* bpo-32836: Remove obsolete code from symtable pass (GH-5680)Nitish Chandra2018-02-261-25/+0
| | | | | | | When comprehensions switched to using a nested scope, the old code for generating a temporary name to hold the accumulation target became redundant, but was never actually removed. Patch by Nitish Chandra.
* bpo-10544: Disallow "yield" in comprehensions and generator expressions. ↵Serhiy Storchaka2018-02-041-24/+7
| | | | (GH-4564)
* bpo-10544: Deprecate "yield" in comprehensions and generator expressions. ↵Serhiy Storchaka2017-12-011-1/+30
| | | | | | | | | | | | | | (GH-4579) The current behaviour of yield expressions inside comprehensions and generator expressions is essentially an accident of implementation - it arises implicitly from the way the compiler handles yield expressions inside nested functions and generators. Since the current behaviour wasn't deliberately designed, and is inherently confusing, we're deprecating it, with no current plans to reintroduce it. Instead, our advice will be to use a named nested generator definition for cases where this behaviour is desired.
* bpo-28936: Detect lexically first syntax error first (#4097)Ivan Levkivskyi2017-10-261-18/+16
| | | | Lexically first global and nonlocal syntax errors at given scope should be detected first.
* bpo-30860: Consolidate stateful runtime globals. (#3397)Eric Snow2017-09-081-0/+4
| | | | | | | * 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).
* Issue #28701: Replace PyUnicode_CompareWithASCIIString with ↵Serhiy Storchaka2016-11-161-2/+2
|\ | | | | | | | | | | _PyUnicode_EqualToASCIIString. The latter function is more readable, faster and doesn't raise exceptions.
| * Issue #28701: Replace PyUnicode_CompareWithASCIIString with ↵Serhiy Storchaka2016-11-161-2/+2
| | | | | | | | | | | | _PyUnicode_EqualToASCIIString. The latter function is more readable, faster and doesn't raise exceptions.
* | Issue #28100: Refactor error messages, patch by Ivan LevkivskyiChristian Heimes2016-09-231-12/+8
| |
* | Issue #28008: Implement PEP 530 -- asynchronous comprehensions.Yury Selivanov2016-09-091-0/+6
| |
* | Issue #27999: Make "global after use" a SyntaxError, and ditto for nonlocal.Guido van Rossum2016-09-091-68/+36
| | | | | | | | Patch by Ivan Levkivskyi.
* | Issue #28003: Implement PEP 525 -- Asynchronous Generators.Yury Selivanov2016-09-091-2/+4
| |
* | Issue #27985: Implement PEP 526 -- Syntax for Variable Annotations.Yury Selivanov2016-09-091-0/+56
| | | | | | | | Patch by Ivan Levkivskyi.
* | Fix potential NULL pointer dereference in update_symbols()Christian Heimes2016-09-081-1/+1
| | | | | | | | | | | | 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()
* | Merge typo fixes from 3.5Martin Panter2016-06-041-1/+1
|\ \ | |/
| * Fix typos in code comment and documentationMartin Panter2016-06-041-1/+1
| |
* | Add ast.ConstantVictor Stinner2016-01-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | merge 3.5 (#25973)Benjamin Peterson2015-12-291-8/+16
|\ \ | |/
| * make recording and reporting errors and nonlocal and global directives more ↵Benjamin Peterson2015-12-291-8/+16
| | | | | | | | robust (closes #25973)
* | Issue #25923: Added more const qualifiers to signatures of static and ↵Serhiy Storchaka2015-12-251-2/+2
| | | | | | | | private functions.
* | Issue #24965: Implement PEP 498 "Literal String Interpolation". ↵Eric V. Smith2015-09-191-0/+8
|/ | | | Documentation is still needed, I'll open an issue for that.
* Issue #24619: More tests; fix nits in compiler.cYury Selivanov2015-07-221-1/+1
|
* Issue #19235: Add new RecursionError exception. Patch by Georg Brandl.Yury Selivanov2015-07-031-2/+2
|
* PEP 0492 -- Coroutines with async and await syntax. Issue #24017.Yury Selivanov2015-05-121-6/+43
|
* PEP 448: additional unpacking generalizations (closes #2292)Benjamin Peterson2015-05-061-18/+8
| | | | Patch by Neil Girdhar.
* remove the concept of an unoptimized function scope from the compiler, since ↵Benjamin Peterson2015-04-281-16/+0
| | | | it can't happen anymore
* remove dead *-import checking code (closes #24049)Benjamin Peterson2015-04-241-31/+0
|
* merge 3.3 (#19098)Benjamin Peterson2013-09-271-2/+6
|\
| * don't scale compiler stack frames if the recursion limit is huge (closes #19098)Benjamin Peterson2013-09-271-2/+6
| |
| * move definition to top of blockBenjamin Peterson2013-05-171-1/+2
| |
| * complain about "global __class__" in a class body (closes #17983)Benjamin Peterson2013-05-151-0/+6
| |
* | Close #11619: The parser and the import machinery do not encode UnicodeVictor Stinner2013-08-261-15/+40
| | | | | | | | filenames anymore on Windows.
* | Issue #18408: ste_new() initialize all attributes before handling errorVictor Stinner2013-07-111-13/+9
| | | | | | | | If an attribute is not initialized, the destructor can crash
* | rather than passing locals to the class body, just execute the class body in ↵Benjamin Peterson2013-05-161-6/+1
| | | | | | | | the proper environment
* | hide the __class__ closure from the class body (#12370)Benjamin Peterson2013-05-151-15/+19
| |
* | unify some ast.argument's attrs; change Attribute column offset (closes #16795)Benjamin Peterson2013-03-181-6/+6
| | | | | | | | Patch from Sven Brauch.
* | create NameConstant AST class for None, True, and False literals (closes #16619)Benjamin Peterson2012-12-061-0/+1
| |
* | Issue #16546: merge fix from 3.3Mark Dickinson2012-11-251-6/+6
|\ \ | |/
| * Issue #16546: make ast.YieldFrom argument mandatory.Mark Dickinson2012-11-251-6/+6
| |
* | Issue #5765: Merge from 3.3Nick Coghlan2012-11-041-31/+70
|\ \ | |/
| * Issue #5765: Apply a hard recursion limit in the compilerNick Coghlan2012-11-041-29/+68
| | | | | | | | | | | | | | 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.
* | point errors related to nonlocals and globals to the statement declaring ↵Benjamin Peterson2012-11-011-8/+49
|/ | | | them (closes #10189)
* check return value of _PyUnicode_AsStringBenjamin Peterson2012-10-311-2/+6
|
* Cleanup 'k' when the creation of PySTEntryObject fails. ad3824a90261 used to ↵Christian Heimes2012-09-121-1/+3
|\ | | | | | | decref 'k' in too many error cases.
| * Cleanup 'k' when the creation of PySTEntryObject fails. ad3824a90261 used to ↵Christian Heimes2012-09-121-1/+3
| | | | | | | | decref 'k' in too many error cases.
* | Partly revert ad3824a90261 and add comment about reference ownershipChristian Heimes2012-09-121-2/+1
|\ \ | |/
| * Partly revert ad3824a90261 and add comment about reference ownershipChristian Heimes2012-09-121-2/+1
| |
* | Closed reference leak of variable 'k' in function ste_new which wasn't ↵Christian Heimes2012-09-101-1/+2
|\ \ | |/ | | | | decrefed in error cases
| * Closed reference leak of variable 'k' in function ste_new which wasn't ↵Christian Heimes2012-09-101-1/+2
| | | | | | | | decrefed in error cases
* | Close #14857: fix regression in references to PEP 3135 implicit __class__ ↵Nick Coghlan2012-05-271-11/+8
| | | | | | | | closure variable. Reopens issue #12370, but also updates unittest.mock to workaround that issue
* | make YieldFrom its own distinct from Yield (closes #13780)Benjamin Peterson2012-01-141-2/+6
| |