> > > My intention in this post was to clarify whether I'm misunderstanding > > something or the term 'free' is indeed used for different things in > > different places. If this is the latter, IMHO it's an inconsistency, even > if > > a small one. When I read the code I saw 'free' I went to the docs only > to > > read that 'free' is something else. This was somewhat confusing. > > I'm still not clear if my explanation that globals are a subset of > free variables got rid of the confusion. The full name for what > CPython marks as "free" would be "free but not global" but that's too > much of a mouthful. >
Yes, I understand it now. The source code of symtable.c has a long comment above the SET_SCOPE macro which says, among other things: "An implicit global is a free variable for which the compiler has found no binding in an enclosing function scope", which is in tune with what you said. > Also you're digging awfully deep into the implementation here -- > Indeed, it all started when I set to understand how symbol tables are implemented in CPython. The inconsistency in the usage of "free" confused me, so I consulted pydev for clarification. I'm no longer confused :-) Regards, Eli
_______________________________________________ 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