tree 5fd51200881acad3410e05b2eb52e7204e23a8ec
parent a52e8fe49a625d13d89967bc17adeb71520bf3d0
author Jeremy Hylton <jeremy@alum.mit.edu> 983426974 +0000
committer Jeremy Hylton <jeremy@alum.mit.edu> 983426974 +0000
HG:extra convert_revision:svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/python/branches/legacy-trunk%4019767

Fix core dump in example from Samuele Pedroni:

from __future__ import nested_scopes
x=7
def f():
    x=1
    def g():
        global x
        def i():
            def h():
                return x
            return h()
        return i()
    return g()

print f()
print x

This kind of code didn't work correctly because x was treated as free
in i, leading to an attempt to load x in g to make a closure for i.

Solution is to make global decl apply to nested scopes unless their is
an assignment.  Thus, x in h is global.
