• Jeremy Hylton's avatar
    Relax the rules for using 'from ... import *' and exec in the presence · cb17ae8b
    Jeremy Hylton yazdı
    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.
    cb17ae8b
symtablemodule.c 2.1 KB