]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
Merged revisions 70823 via svnmerge from
authorJeremy Hylton <jeremy@alum.mit.edu>
Tue, 31 Mar 2009 16:17:06 +0000 (16:17 +0000)
committerJeremy Hylton <jeremy@alum.mit.edu>
Tue, 31 Mar 2009 16:17:06 +0000 (16:17 +0000)
commit8dbc9fa84f8c1767ff58c3240fb7fa1bf4cf9974
tree49bccfe77e6e9a73724e1fd7d16feec3c806eacc
parent193add3af11c12da7a706a4fda29ed44f77b84b1
Merged revisions 70823 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r70823 | jeremy.hylton | 2009-03-31 11:26:37 -0400 (Tue, 31 Mar 2009) | 29 lines

  Merged revisions 70801,70809 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  The merge ran into a lot of conflicts because dicts were replaced with
  sets in the Python 3 version of the symbol table.

  ........
    r70801 | jeremy.hylton | 2009-03-31 09:17:03 -0400 (Tue, 31 Mar 2009) | 3 lines

    Add is_declared_global() which distinguishes between implicit and
    explicit global variables.
  ........
    r70809 | jeremy.hylton | 2009-03-31 09:48:15 -0400 (Tue, 31 Mar 2009) | 14 lines

    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.
  ........
................
Lib/symtable.py
Lib/test/test_scope.py
Lib/test/test_symtable.py
Python/symtable.c