OK that might change matters. Shame on you though for posting a patch without any explanation of the issue.
On Tue, Mar 31, 2009 at 8:36 PM, Maciej Fijalkowski <fij...@gmail.com> wrote: > Because classes have now it's own local scope (according to Martin) > > It's not about exec in class, it's about exec in class in nested function. > > On Wed, Apr 1, 2009 at 5:25 AM, Guido van Rossum <gu...@python.org> wrote: >> Well hold on for a minute, I remember we used to have an exec >> statement in a class body in the standard library, to define some file >> methods in socket.py IIRC. It's a totally different case than exec in >> a nested function, and I don't believe it should be turned into a >> syntax error at all. An exec in a class body is probably meant to >> define some methods or other class attributes. I actually think the >> 2.5 behavior is correct, and I don't know why it changed in 2.6. >> >> --Guido >> >> On Tue, Mar 31, 2009 at 8:15 PM, Maciej Fijalkowski <fij...@gmail.com> wrote: >>> 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 >>> Python-Dev@python.org >>> http://mail.python.org/mailman/listinfo/python-dev >>> Unsubscribe: >>> http://mail.python.org/mailman/options/python-dev/guido%40python.org >>> >> >> >> >> -- >> --Guido van Rossum (home page: http://www.python.org/~guido/) >> > -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com