So. The issue was closed and I suppose it was closed by not entirely
understanding
the problem (or I didn't get it completely).
The question is - what the following code should do?
def f():
a = 2
class C:
exec 'a = 42'
abc = a
return C
print f().abc
(quick answer - on python2.5 it return 42, on python 2.6 and up it
returns 2, the patch changes
it to syntax error).
I would say that returning 2 is the less obvious thing to do. The
reason why IMO this should
be a syntax error is this code:
def f():
a = 2
def g():
exec 'a = 42'
abc = a
which throws syntax error.
Cheers,
fijal
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com