cpython/Python
Jeremy Hylton 88f1c04215 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.
2009-03-31 13:48:15 +00:00
..
_warnings.c Require implementations for warnings.showwarning() support the 'line' argument. 2009-03-11 04:51:06 +00:00
asdl.c Merge in release25-maint r60793: 2008-06-11 07:41:16 +00:00
ast.c #4077: No need to append \n when calling Py_FatalError 2009-01-17 20:18:59 +00:00
atof.c
bltinmodule.c Issue 1242657: list(obj) can swallow KeyboardInterrupt. 2009-02-02 21:50:13 +00:00
ceval.c Backport r69961 to trunk, replacing JUMP_IF_{TRUE,FALSE} with 2009-02-28 19:03:21 +00:00
codecs.c This reverts r63675 based on the discussion in this thread: 2008-06-09 04:58:54 +00:00
compile.c Backport r69961 to trunk, replacing JUMP_IF_{TRUE,FALSE} with 2009-02-28 19:03:21 +00:00
dup2.c
dynload_aix.c Fix SF bug #1072182, problems with signed characters. 2005-12-19 06:05:18 +00:00
dynload_atheos.c
dynload_beos.c
dynload_dl.c
dynload_hpux.c Oops, I forgot to include this file in the last commit (46046): 2006-05-19 07:05:01 +00:00
dynload_next.c Fix for 838140: don't call NSUnlinkModule when we fail to find our 2004-07-15 22:28:48 +00:00
dynload_os2.c
dynload_shlib.c Fix a warning from gcc by adding a missed const qualifier. 2006-01-04 01:30:17 +00:00
dynload_stub.c
dynload_win.c On Windows, use the Python 'Activation Context' when loading extensions 2009-01-27 23:12:23 +00:00
errors.c Issue #2534: speed up isinstance() and issubclass() by 50-70%, so as to 2008-08-26 22:42:08 +00:00
formatter_string.c Refactor and clean up str.format() code (and helpers) in advance of optimizations. 2008-05-30 18:10:04 +00:00
formatter_unicode.c fix building the core with --disable-unicode 2009-01-25 17:15:10 +00:00
frozen.c
frozenmain.c
future.c move unprefixed error into .c file 2008-10-30 23:59:18 +00:00
getargs.c fix #4720: the format to PyArg_ParseTupleAndKeywords can now start with '|' 2008-12-22 20:51:15 +00:00
getcompiler.c
getcopyright.c welcome to 2009, Python! 2009-01-01 17:29:49 +00:00
getcwd.c Define MAXPATHLEN to be at least PATH_MAX, if that's defined. Python uses 2006-04-25 15:29:46 +00:00
getopt.c Improve -X error message. 2008-04-13 20:50:29 +00:00
getplatform.c
getversion.c
graminit.c Issue #4279: Fix build of parsermodule under Cygwin. 2009-01-11 09:26:54 +00:00
import.c Backport r69961 to trunk, replacing JUMP_IF_{TRUE,FALSE} with 2009-02-28 19:03:21 +00:00
importdl.c Patch #794826: Add __file__ in dynamically loaded modules for multiple 2003-09-04 18:45:59 +00:00
importdl.h
mactoolboxglue.c This reverts r63675 based on the discussion in this thread: 2008-06-09 04:58:54 +00:00
marshal.c Issue #4258: Use 30-bit digits for Python longs, on 64-bit platforms. 2009-03-20 15:51:55 +00:00
modsupport.c This reverts r63675 based on the discussion in this thread: 2008-06-09 04:58:54 +00:00
mysnprintf.c Fix issue2588: Do not execute str[size-1] = '\0' when a 0 size is 2008-05-26 22:07:28 +00:00
mystrtoul.c Revert r61969 which added casts to Py_CHARMASK to avoid compiler warnings. 2008-03-28 04:58:51 +00:00
peephole.c Backport r69961 to trunk, replacing JUMP_IF_{TRUE,FALSE} with 2009-02-28 19:03:21 +00:00
pyarena.c Fix more memory allocation issues found with failmalloc. 2006-07-22 16:20:49 +00:00
pyfpe.c
pymath.c Issue #4575: fix Py_IS_INFINITY macro to work correctly on x87 FPUs. 2009-02-09 14:18:43 +00:00
pystate.c Adds a sanity check to avoid a *very rare* infinite loop due to a corrupt tls 2008-08-04 07:33:37 +00:00
pystrcmp.c Remove compiler warnings (on Alpha at least) about using chars as 2008-03-23 06:19:57 +00:00
pystrtod.c Fix issue 3411: default float format spec fails on negative numbers. 2008-07-19 00:24:05 +00:00
Python-ast.c fix compiler warning 2008-10-19 13:59:01 +00:00
pythonrun.c Issue #4258: Use 30-bit digits for Python longs, on 64-bit platforms. 2009-03-20 15:51:55 +00:00
sigcheck.c
strdup.c
strtod.c Remove unnecessary curly braces around an int literal. 2008-02-07 08:04:07 +00:00
structmember.c This reverts r63675 based on the discussion in this thread: 2008-06-09 04:58:54 +00:00
symtable.c Global statements from one function leaked into parallel functions. 2009-03-31 13:48:15 +00:00
sysmodule.c Issue #4258: Use 30-bit digits for Python longs, on 64-bit platforms. 2009-03-20 15:51:55 +00:00
thread.c Issue #4893: Use NT threading on CE. 2009-01-12 08:11:24 +00:00
thread_atheos.h
thread_beos.h
thread_cthread.h
thread_foobar.h
thread_lwp.h
thread_nt.h Issue #4893: Use NT threading on CE. 2009-01-12 08:11:24 +00:00
thread_os2.h bugfix: PyThread_start_new_thread() returns the thread ID, not a flag; 2006-07-23 13:00:04 +00:00
thread_pth.h Patch #805613: Fix usage of the PTH library. 2003-09-20 11:13:36 +00:00
thread_pthread.h Patch #1454481: Make thread stack size runtime tunable. 2006-06-13 15:04:24 +00:00
thread_sgi.h Remove support for DYNIX, IRIX 4, --with-sgi-dl, --with-dl-dld 2004-01-17 04:04:13 +00:00
thread_solaris.h Patch #716969: Detect thread creation failure. Will backport to 2.2. 2003-04-19 07:44:52 +00:00
thread_wince.h bug 1234979 addition 2005-07-09 15:26:33 +00:00
traceback.c fix strange errors when setting attributes on tracebacks #4034 2009-03-18 20:52:15 +00:00