Guido van Rossum wrote: > On 9/1/06, Georg Brandl <[EMAIL PROTECTED]> wrote: >> Guido van Rossum wrote: >> > I would just rip it out. >> >> It turns out that it's not so easy. The exec statement currently can >> modify the locals, which means that >> >> def f(): >> exec "a=1" >> print a >> >> succeeds. To make that possible, the compiler flags scopes containing >> exec statements as unoptimized and does not assume unbound names to >> be global. >> >> With exec being a function, currently the above function won't work >> because "a" is assumed to be global. >> >> I can see only two resolutions: >> >> * change exec() semantics so that it cannot modify the locals >> * do not make exec a function > > Make it so it can't modify the locals. execfile() has the same limitation. >
Good. Patch is at python.org/sf/1550800. There's another one at python.org/sf/1550786 implementing the Ellipsis literal. cheers, Georg _______________________________________________ Python-3000 mailing list [email protected] http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com
