New submission from Terry J. Reedy <tjre...@udel.edu>:

Current" 2.3.2. Reserved classes of identifiers
"__*__
    System-defined names. These names are defined by the interpreter and its 
implementation (including the standard library); applications should not expect 
to define additional names using this convention. The set of names of this 
class defined by Python may be extended in future versions. See section Special 
method names."

Current pydev thread,Is it intentional that "sys.__debug__ = 1" is illegal in 
Python 2.7?, Guido said;
"But yes, the docs should clarify that *any* use of __*__ names, in
any* context, that does not follow explicitly documented use, is
subject to breakage without warning."

I think I would replace the current "applications ... convention" with Guido's 
sentence, starting with "*Any* use", though I might put it at the end as the 
second most important sentence of the paragraph.

Until this thread, I did not understand the import of 'expect to' in that 
middle sentence. Apparently, it means that if a definition works now, it may 
become invalid in the future if it becomes not just a system word, but a 
reserved word like __debug__ did. Guido's sentence covers this case and all 
others, so the current sentence would no longer be needed.

----------
assignee: d...@python
components: Documentation
messages: 112395
nosy: d...@python, tjreedy
priority: normal
severity: normal
status: open
title: Strengthen __*__ system name warning
versions: Python 2.7, Python 3.1, Python 3.2

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue9451>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to