diff Python/pythonrun.c @ 16539:a47d93ef103a legacy-trunk

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.
author Jeremy Hylton <jeremy@alum.mit.edu>
date Fri, 09 Feb 2001 22:22:18 +0000
parents aa844711463a
children e8e636cc1a09
line wrap: on
line diff