History log of /external/python/cpython2/Python/symtable.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
5f75502a2ed490071514ab0361e1b406a7405de1 15-Sep-2016 Martin Panter <vadmium+py@gmail.com> Issue #24366: Fix indentation

Backports changes by Victor Stinner, Hirokazu Yamamoto, li4ick and Benjamin
Peterson.
/external/python/cpython2/Python/symtable.c
b5f487a0902c82a914cd2398ffd1b5e57715431a 04-Jun-2016 Martin Panter <vadmium+py@gmail.com> Fix typo in code comment
/external/python/cpython2/Python/symtable.c
ee5729dbf978c9d1ee78974b84be9cd02a2bc117 19-Jul-2014 Benjamin Peterson <benjamin@python.org> add missing 'because' (closes #22008)

Patch from A Kaptur.
/external/python/cpython2/Python/symtable.c
8363f77795503e5352d983be844f156f4f495458 16-Jan-2014 Benjamin Peterson <benjamin@python.org> fix error check
/external/python/cpython2/Python/symtable.c
dfaf90da9c4a9a4f7dd7bd716fa0695d32bbd91f 12-Sep-2012 Christian Heimes <christian@cheimes.de> Cleanup 'k' when the creation of PySTEntryObject fails. ad3824a90261 used to decref 'k' in too many error cases.
/external/python/cpython2/Python/symtable.c
65a0141e146aba6e2ae2b82d39d016ab03b8c7e2 12-Sep-2012 Christian Heimes <christian@cheimes.de> Partly revert ad3824a90261 and add comment about reference ownership
/external/python/cpython2/Python/symtable.c
8c1bce00d25ddda20d4e760e5771324865ddae17 10-Sep-2012 Christian Heimes <christian@cheimes.de> Closed reference leak of variable 'k' in function ste_new which wasn't decrefed in error cases
/external/python/cpython2/Python/symtable.c
045bbcdc8e1c745e49d3f4b0d79ca8182375bce0 20-Oct-2010 Benjamin Peterson <benjamin@python.org> Merged revisions 85757 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
r85757 | benjamin.peterson | 2010-10-20 16:25:23 -0500 (Wed, 20 Oct 2010) | 1 line

fix uninitialized struct member #10152
........
/external/python/cpython2/Python/symtable.c
f76942d6bf432d6881dc47070002d226e1e15ce9 16-Oct-2010 Benjamin Peterson <benjamin@python.org> Merged revisions 85562 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
r85562 | benjamin.peterson | 2010-10-15 22:45:45 -0500 (Fri, 15 Oct 2010) | 1 line

don't identify the toplevel namespace by name #9997
........
/external/python/cpython2/Python/symtable.c
c6660cf4d68ec17fef0a49aca2cf441c124a88d4 11-Jun-2010 Benjamin Peterson <benjamin@python.org> different spellings are just unacceptable
/external/python/cpython2/Python/symtable.c
c83ea137d7e717f764e2f31fc2544f522de7d857 09-May-2010 Antoine Pitrou <solipsis@pitrou.net> Untabify C files. Will watch buildbots.
/external/python/cpython2/Python/symtable.c
b646547bb45fe1df6abefd94f892c633798d91d2 11-Jan-2010 Alexandre Vassalotti <alexandre@peadrop.com> Issue #2333: Backport set and dict comprehensions syntax.
/external/python/cpython2/Python/symtable.c
ee936a21308679654b2d458166ff094ed735fef7 10-Jan-2010 Alexandre Vassalotti <alexandre@peadrop.com> Issue #2335: Backport set literals syntax from Python 3.x.
/external/python/cpython2/Python/symtable.c
009b89d22a02af5120e07fb1e8970bf35f45926f 20-Nov-2009 Benjamin Peterson <benjamin@python.org> genexps have linenos
/external/python/cpython2/Python/symtable.c
d16d0abf0bdf3228beed0977a953fa132f5599c3 20-Nov-2009 Benjamin Peterson <benjamin@python.org> provide line number for lambdas
/external/python/cpython2/Python/symtable.c
1a4ceb2f4b5d2423681a2e015d72130a338c902b 23-Jun-2009 Benjamin Peterson <benjamin@python.org> fix grammar
/external/python/cpython2/Python/symtable.c
d9920c255d4a88a70ff9bcfc21f273f5e42fff4e 22-Jun-2009 Benjamin Peterson <benjamin@python.org> remove tmpname support since it's no longer used
/external/python/cpython2/Python/symtable.c
f67caf8523341a7a8430c2065d0e6fa7898782da 22-Jun-2009 Benjamin Peterson <benjamin@python.org> don't need to add the name 'lambda' as assigned
/external/python/cpython2/Python/symtable.c
985951df7f05b8206c5c928a7783326ea942a874 02-Apr-2009 Benjamin Peterson <benjamin@python.org> fix error handling
/external/python/cpython2/Python/symtable.c
269627534811b6b0a5e73fcc2a0298b6048cc3e8 31-Mar-2009 Jeremy Hylton <jeremy@alum.mit.edu> Add check for PyDict_Update() error.
/external/python/cpython2/Python/symtable.c
88f1c042150466f94784526e14842eb694a54735 31-Mar-2009 Jeremy Hylton <jeremy@alum.mit.edu> Global statements from one function leaked into parallel functions.

Re http://bugs.python.org/issue4315

The symbol table used the same name dictionaries to recursively
analyze each of its child blocks, even though the dictionaries are
modified during analysis. The fix is to create new temporary
dictionaries via the analyze_child_block(). The only information that
needs to propagate back up is the names of the free variables.

Add more comments and break out a helper function. This code doesn't
get any easier to understand when you only look at it once a year.
/external/python/cpython2/Python/symtable.c
25f2d89f324c1456c4bf9b4292d3bb9c2ad6293d 17-Aug-2008 Benjamin Peterson <benjamin@python.org> uhh PySTEntry->ste_unoptimized has to be exposed too
/external/python/cpython2/Python/symtable.c
e0d4c7b5bd2ad5c94d12d48f23552da06a0230e5 17-Aug-2008 Benjamin Peterson <benjamin@python.org> expose PySTEntry.nested so the symtable module will work
/external/python/cpython2/Python/symtable.c
e0d12eb85cff367497090b1fdc58582edc0d4c99 17-Aug-2008 Benjamin Peterson <benjamin@python.org> PySTEntry's constructor is static; there's no point in a fancy API name
/external/python/cpython2/Python/symtable.c
0847332716d538cc500f8495ddae81510d05b205 17-Aug-2008 Benjamin Peterson <benjamin@python.org> include filename and line number in SyntaxError
/external/python/cpython2/Python/symtable.c
dd96db63f689e2f0d8ae5a1436b3b3395eec7de5 09-Jun-2008 Gregory P. Smith <greg@mad-scientist.com> 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.
/external/python/cpython2/Python/symtable.c
593daf545bd9b7e7bcb27b498ecc6f36db9ae395 26-May-2008 Christian Heimes <christian@cheimes.de> Renamed PyString to PyBytes
/external/python/cpython2/Python/symtable.c
a48f3ab8951fa97844f2a4fa368483af968b7b73 30-Mar-2008 Georg Brandl <georg@python.org> Patch #2511: Give the "excepthandler" AST item proper attributes by making it a Sum.
/external/python/cpython2/Python/symtable.c
5becac576c18541e09e88c536e6ca71257a283f0 15-Mar-2008 Neal Norwitz <nnorwitz@gmail.com> Handle memory allocation failure. Found by Adam Olsen
/external/python/cpython2/Python/symtable.c
5224d28d38eb784f17c2fed3f48368285df6d17a 23-Feb-2008 Christian Heimes <christian@cheimes.de> Patch #1759: Backport of PEP 3129 class decorators
with some help from Georg
/external/python/cpython2/Python/symtable.c
6819210b9e4e5719a6f7f9c1725f8fa70a8936f6 21-Jul-2007 Martin v. Löwis <martin@v.loewis.de> PEP 3123: Provide forward compatibility with Python 3.0, while keeping
backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size, and
PyVarObject_HEAD_INIT.
/external/python/cpython2/Python/symtable.c
7605936deeeb2fac75b209895717e7798f7a306f 19-Aug-2006 Neal Norwitz <nnorwitz@gmail.com> Handle PyString_FromInternedString() failing (unlikely, but possible).

Klocwork #325

(I'm not backporting this, but if someone wants to, feel free.)
/external/python/cpython2/Python/symtable.c
6f5ff3f3eb7abc2f4750c1319b560f67faf546ac 12-Aug-2006 Neal Norwitz <nnorwitz@gmail.com> Klocwork made another run and found a bunch more problems.
This is the first batch of fixes that should be easy to verify based on context.

This fixes problem numbers: 220 (ast), 323-324 (symtable),
321-322 (structseq), 215 (array), 210 (hotshot), 182 (codecs), 209 (etree).
/external/python/cpython2/Python/symtable.c
18b6adf9b2f581da04cf5cd6149b84408763ea6e 23-Jul-2006 Neal Norwitz <nnorwitz@gmail.com> Handle more mem alloc issues found with failmalloc
/external/python/cpython2/Python/symtable.c
b59d08c2fb407bbb1527b72141e125760863c2ba 22-Jul-2006 Neal Norwitz <nnorwitz@gmail.com> Fix more memory allocation issues found with failmalloc.
/external/python/cpython2/Python/symtable.c
d12bd012a6a4729b5a77c1019ca9da4e9d1b7e3e 21-Jul-2006 Neal Norwitz <nnorwitz@gmail.com> Handle more memory allocation failures without crashing.
/external/python/cpython2/Python/symtable.c
ddbaa660d3b64a71b4ac9eab64b1bb944ca1276b 04-Jun-2006 Georg Brandl <georg@python.org> Patch #1346214: correctly optimize away "if 0"-style stmts
(thanks to Neal for review)
/external/python/cpython2/Python/symtable.c
019aec618a24ce0743ddee50a47d7b7413a81fda 12-Apr-2006 Anthony Baxter <anthonybaxter@gmail.com> Make symtable.c safe for C++ compilers. Changed macros in the same way as
compile.c to add a cast.
/external/python/cpython2/Python/symtable.c
090b3dde06c7590ed7d789bd01a7d800cc09a348 28-Feb-2006 Neal Norwitz <nnorwitz@gmail.com> No need to export PySTEntry_New, it is only used in symtable.c
/external/python/cpython2/Python/symtable.c
c2e20744b2b7811632030470971c31630f0975e2 27-Feb-2006 Guido van Rossum <guido@python.org> 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).
/external/python/cpython2/Python/symtable.c
dca3b9c797f6dd4b08d590fa2aa1031e22ab598e 27-Feb-2006 Thomas Wouters <thomas@python.org> PEP 308 implementation, including minor refdocs and some testcases. It
breaks the parser module, because it adds the if/else construct as well as
two new grammar rules for backward compatibility. If no one else fixes
parsermodule, I guess I'll go ahead and fix it later this week.

The TeX code was checked with texcheck.py, but not rendered. There is
actually a slight incompatibility:

>>> (x for x in lambda:0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: iteration over non-sequence

changes into

>>> (x for x in lambda: 0)
File "<stdin>", line 1
(x for x in lambda: 0)
^
SyntaxError: invalid syntax

Since there's no way the former version can be useful, it's probably a
bugfix ;)
/external/python/cpython2/Python/symtable.c
d96ee909934f3855135589e0e8d6ece1912c1f22 16-Feb-2006 Martin v. Löwis <martin@v.loewis.de> Use Py_ssize_t to count the
/external/python/cpython2/Python/symtable.c
18e165558b24d29e7e0ca501842b9236589b012a 15-Feb-2006 Martin v. Löwis <martin@v.loewis.de> Merge ssize_t branch.
/external/python/cpython2/Python/symtable.c
d8fe7ab711df2d6380aeff085fe8eda6b268f3eb 08-Jan-2006 Tim Peters <tim.peters@gmail.com> analyze_cells(): This no longer compiled under VC 7.1.
Move declaration of local `flags` to top of block.
/external/python/cpython2/Python/symtable.c
46b7bda9bcd0fb11878a154234c3064e19e35f3c 08-Jan-2006 Neal Norwitz <nnorwitz@gmail.com> Fix icc warnings: conversion from "long" to "int" may lose significant bits
/external/python/cpython2/Python/symtable.c
daf595f8a91c1a9f9a8ba5e06be4fa77c66cccf0 07-Jan-2006 Neal Norwitz <nnorwitz@gmail.com> Fix icc warnings: shadowing local variable (i) and complex is set but not used, so remove
/external/python/cpython2/Python/symtable.c
5d0ad50f5acf84f2e8a1ca5c6951f333aef0e25a 19-Dec-2005 Neal Norwitz <nnorwitz@gmail.com> Bug #889500, fix line number on SyntaxWarning for global declarations.
/external/python/cpython2/Python/symtable.c
3715c3e576a182692cf2ad2d390732126f11780d 24-Nov-2005 Neal Norwitz <nnorwitz@gmail.com> Fix a few more ref leaks. Backport candidate
/external/python/cpython2/Python/symtable.c
4737b2348b197d21deffbf12ff23488918e9b9d4 20-Nov-2005 Neal Norwitz <nnorwitz@gmail.com> Last batch of ref leaks in new AST code.
Also converted a bunch of assert(0) to SystemError's.

There are still printfs, etc that need to be cleaned up.
/external/python/cpython2/Python/symtable.c
99b2533539dbc98fe7e5b3ac95e71879afca1c2c 16-Nov-2005 Nick Coghlan <ncoghlan@gmail.com> Bring handling of genexpr in line with other anonymous scope names
/external/python/cpython2/Python/symtable.c
b6fc9df8fc34271a881ab954b843872834f5f112 13-Nov-2005 Neal Norwitz <nnorwitz@gmail.com> Fix a lot of memory and ref leaks in error paths.
(Call symtable_exit_block or compiler_exit_scope as appropriate)

Use PyMem_Free on c_future since it was allocated with PyMem_Malloc
/external/python/cpython2/Python/symtable.c
62c2fac9a0758f303c0382e459031a2679a056e2 24-Oct-2005 Neal Norwitz <nnorwitz@gmail.com> Do not pollute name block_ty, prefix with _Py_
/external/python/cpython2/Python/symtable.c
2dfcef5c57f35af0e1ba200ba36508be8667001a 23-Oct-2005 Neil Schemenauer <nascheme@enme.ucalgary.ca> Fix check_unoptimized() function. The only optimized namespaces are
in function blocks. This elimiates spurious warnings about "import *" and
related statements at the class level.
/external/python/cpython2/Python/symtable.c
8b528b28f15a78c116fc90303194ad8b1476034d 23-Oct-2005 Neil Schemenauer <nascheme@enme.ucalgary.ca> Fix private name mangling. The symtable also must do mangles so that
the scope of names can be correctly determined.
/external/python/cpython2/Python/symtable.c
ec97a28b60b40d366379d22876baebcdd06a89ad 21-Oct-2005 Jeremy Hylton <jeremy@alum.mit.edu> Fix a bunch of imports to use code.h instead of compile.h.
Remove duplicate declarations from compile.h
/external/python/cpython2/Python/symtable.c
31441302171fe882976bcc05f5ded9645cd690af 21-Oct-2005 Armin Rigo <arigo@tunes.org> ANSI-C-ify the placement of local var declarations.
/external/python/cpython2/Python/symtable.c
3e0055f8c65c407e74ce476b8e2b1fb889723514 20-Oct-2005 Jeremy Hylton <jeremy@alum.mit.edu> Merge ast-branch to head

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.
/external/python/cpython2/Python/symtable.c
354433a59dd1701985ec8463ced25a967cade3c1 19-May-2004 Raymond Hettinger <python@rcn.com> SF patch #872326: Generator expression implementation
(Code contributed by Jiwon Seo.)

The documentation portion of the patch is being re-worked and will be
checked-in soon. Likewise, PEP 289 will be updated to reflect Guido's
rationale for the design decisions on binding behavior (as described in
in his patch comments and in discussions on python-dev).

The test file, test_genexps.py, is written in doctest format and is
meant to exercise all aspects of the the patch. Further additions are
welcome from everyone. Please stress test this new feature as much as
possible before the alpha release.
/external/python/cpython2/Python/symtable.c
4d508adae3101434ae62be1c140e9877673dc257 21-May-2003 Jeremy Hylton <jeremy@alum.mit.edu> Fix for SF [ 734869 ] Lambda functions in list comprehensions

The compiler was reseting the list comprehension tmpname counter for each function, but the symtable was using the same counter for the entire module. Repair by move tmpname into the symtable entry.

Bugfix candidate.
/external/python/cpython2/Python/symtable.c
2990640d8af1d1fd6ba264ced46e741b9dc091d0 10-Dec-2001 Jeremy Hylton <jeremy@alum.mit.edu> Add a comment explaining the st_symbols cache.
/external/python/cpython2/Python/symtable.c
0f2d4b84a60e6064640f09c8010dedeaa9453f14 09-Dec-2001 Tim Peters <tim.peters@gmail.com> PySymtableEntry_New(): I'm not sure what this routine is doing, but it
was obviously leaking an int object when whatever the heck it's looking for
was found. Repaired that. This accounts for why entering function and
class definitions at an interactive prompt leaked a reference to the
integer 1 each time.
Bugfix candidate.
/external/python/cpython2/Python/symtable.c
86424e333f1736591114da975c8d2926ba6f51f5 04-Dec-2001 Jeremy Hylton <jeremy@alum.mit.edu> SF bug #488687 reported by Neal Norwitz

The error for assignment to __debug__ used ste->ste_opt_lineno instead
of n->n_lineno. The latter was at best incorrect; often the slot was
uninitialized. Two fixes here: Use the correct lineno for the error.
Initialize ste_opt_lineno in PySymtable_New(); while there are no
current cases where it is referenced unless it has already been
assigned to, there is no harm in initializing it.
/external/python/cpython2/Python/symtable.c
4b4ab20f2c07a0e555c0b982089448b5471f6521 28-Nov-2001 Barry Warsaw <barry@python.org> ste_repr(): Conversion of sprintf() to PyOS_snprintf() for buffer
overrun avoidance.
/external/python/cpython2/Python/symtable.c
6f7993765ac0989b5d13084240797913627a31d8 20-Sep-2001 Guido van Rossum <guido@python.org> Add optional docstrings to member descriptors. For backwards
compatibility, this required all places where an array of "struct
memberlist" structures was declared that is referenced from a type's
tp_members slot to change the type of the structure to PyMemberDef;
"struct memberlist" is now only used by old code that still calls
PyMember_Get/Set. The code in PyObject_GenericGetAttr/SetAttr now
calls the new APIs PyMember_GetOne/SetOne, which take a PyMemberDef
argument.

As examples, I added actual docstrings to the attributes of a few
types: file, complex, instance method, super, and xxsubtype.spamlist.

Also converted the symtable to new style getattr.
/external/python/cpython2/Python/symtable.c
5ca576ed0a0c697c7e7547adfd0b3af010fd2053 19-Jun-2001 Tim Peters <tim.peters@gmail.com> Merging the gen-branch into the main line, at Guido's direction. Yay!
Bugfix candidate in inspect.py: it was referencing "self" outside of
a method.
/external/python/cpython2/Python/symtable.c
4db62b1e14ed909d4bd574633a11c45455c76beb 27-Feb-2001 Jeremy Hylton <jeremy@alum.mit.edu> Improved __future__ parser; still more to do

Makefile.pre.in: add target future.o

Include/compile.h: define PyFutureFeaters and PyNode_Future()
add c_future slot to struct compiling

Include/symtable.h: add st_future slot to struct symtable

Python/future.c: implementation of PyNode_Future()

Python/compile.c: use PyNode_Future() for nested_scopes support

Python/symtable.c: include compile.h to pick up PyFutureFeatures decl
/external/python/cpython2/Python/symtable.c
29906eef3a56c43a4cd68a8706c75844b2384e59 27-Feb-2001 Jeremy Hylton <jeremy@alum.mit.edu> Preliminary support for future nested scopes

compile.h: #define NESTED_SCOPES_DEFAULT 0 for Python 2.1
__future__ feature name: "nested_scopes"

symtable.h: Add st_nested_scopes slot. Define flags to track exec and
import star.

Lib/test/test_scope.py: requires nested scopes

compile.c: Fiddle with error messages.

Reverse the sense of ste_optimized flag on
PySymtableEntryObjects. If it is true, there is an optimization
conflict.

Modify get_ref_type to respect st_nested_scopes flags.

Refactor symtable_load_symbols() into several smaller functions,
which use struct symbol_info to share variables. In new function
symtable_update_flags(), raise an error or warning for import * or
bare exec that conflicts with nested scopes. Also, modify handle
for free variables to respect st_nested_scopes flag.

In symtable_init() assign st_nested_scopes flag to
NESTED_SCOPES_DEFAULT (defined in compile.h).

Add preliminary and often incorrect implementation of
symtable_check_future().

Add symtable_lookup() helper for future use.
/external/python/cpython2/Python/symtable.c
74b3bc47df9979e54c1f0c7866730eb499705f0e 23-Feb-2001 Jeremy Hylton <jeremy@alum.mit.edu> Fix for bug 133489: compiler leaks memory

Two different but related problems:

1. PySymtable_Free() must explicitly DECREF(st->st_cur), which should
always point to the global symtable entry. This entry is setup by the
first enter_scope() call, but there is never a corresponding
exit_scope() call.

Since each entry has a reference to scopes defined within it, the
missing DECREF caused all symtable entries to be leaked.

2. The leak here masked a separate problem with
PySymtableEntry_New(). When the requested entry was found in
st->st_symbols, the entry was returned without doing an INCREF.

And problem c) The ste_children slot was getting two copies of each
child entry, because it was populating the slot on the first and
second passes. Now only populate on the first pass.
/external/python/cpython2/Python/symtable.c
cb17ae8b19c35cc63e7daec871c025d903c49105 09-Feb-2001 Jeremy Hylton <jeremy@alum.mit.edu> Relax the rules for using 'from ... import *' and exec in the presence
of nested functions. Either is allowed in a function if it contains
no defs or lambdas or the defs and lambdas it contains have no free
variables. If a function is itself nested and has free variables,
either is illegal.

Revise the symtable to use a PySymtableEntryObject, which holds all
the revelent information for a scope, rather than using a bunch of
st_cur_XXX pointers in the symtable struct. The changes simplify the
internal management of the current symtable scope and of the stack.

Added new C source file: Python/symtable.c. (Does the Windows build
process need to be updated?)

As part of these changes, the initial _symtable module interface
introduced in 2.1a2 is replaced. A dictionary of
PySymtableEntryObjects are returned.
/external/python/cpython2/Python/symtable.c