But all this is moot unless someone comes up with a way to spell this that doesn't require a new keyword or change the meaning of 'global x' even if there's an x at an intermediate scope (i.e. you can't change 'global x' to mean "search for the next outer scope that defines x").
And we still have to answer Alex's complaint that newbies misinterpret the word 'global'.
I'm not averse to introducing a new keyword, which would address both concerns. yield was introduced with apparently little problem, so it seems possible to add a keyword without causing too much disruption.
If we decide we must stick with global, then it's very hard to address Alex's concern about global being a confusing word choice <wink>.
OK, the tension is mounting. Which keyword do you have in mind? And would you use the same keyword for module-globals as for outer-scope variables?
--Guido van Rossum (home page: http://www.python.org/%7Eguido/)