[issue36000] __debug__ is a keyword but not a keyword

2020-02-22 Thread Cheryl Sabella


Cheryl Sabella  added the comment:

Serhiy wrote in msg336099 that __debug__ isn't a keyword and the error message 
was changed in 3.8.  Due to that, I'm going to close this as not a bug.

--
nosy: +cheryl.sabella
resolution:  -> not a bug
stage:  -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue36000] __debug__ is a keyword but not a keyword

2019-12-21 Thread Batuhan


Batuhan  added the comment:

import builtins
builtins.__dict__['__debug__'] = 'Surprise!'
builtins.__dict__['None'] = 'Surprise!'

print(__debug__)
print(None)

 $ ./python ../t.py
True
None

I guess this is related to Python/ast_opt.c transformation

case Name_kind:
if (_PyUnicode_EqualToASCIIString(node_->v.Name.id, "__debug__")) {
return make_const(node_, PyBool_FromLong(!optimize_), ctx_);
}
break;

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue36000] __debug__ is a keyword but not a keyword

2019-12-01 Thread Batuhan


Change by Batuhan :


--
nosy: +BTaskaya

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue36000] __debug__ is a keyword but not a keyword

2019-02-20 Thread Karthikeyan Singaravelan


Change by Karthikeyan Singaravelan :


--
nosy: +serhiy.storchaka

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue36000] __debug__ is a keyword but not a keyword

2019-02-16 Thread Karthikeyan Singaravelan


Karthikeyan Singaravelan  added the comment:

See also issue34464

--
nosy: +xtreak

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue36000] __debug__ is a keyword but not a keyword

2019-02-15 Thread Stéphane Wirtel

Change by Stéphane Wirtel :


--
nosy: +matrixise

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue36000] __debug__ is a keyword but not a keyword

2019-02-15 Thread Steven D'Aprano


Steven D'Aprano  added the comment:

I'm not sure that __debug__ is a proper keyword. Unlike None, if you 
monkey-patch builtins, you can modify it:

py> builtins.__dict__['__debug__'] = 'Surprise!'
py> __debug__
'Surprise!'

py> builtins.__dict__['None'] = 'Surprise!'
py> None
py>


And it is not listed here:

https://docs.python.org/3.7/reference/lexical_analysis.html#keywords

So __debug__ appears to me to be in a strange grey area, part regular name and 
part keyword, but not quite either.

--
nosy: +steven.daprano

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue36000] __debug__ is a keyword but not a keyword

2019-02-15 Thread Dan Snider


New submission from Dan Snider :

keyword.py is used by stuff like the idle colorizer to help determine if an 
identifier is considered a keyword but it doesn't identify __debug__ despite 
the fact that the parser treats it exactly the same as None, True, and False. I 
could not find a more recent issue to bring this back up than #34464 and there 
it was suggested a issue be made so here it is. 

As mentioned on that previous issue, currently keyword.py builds the list 
automatically by scanning "Python/graminit.c" but since there is no "__debug__" 
token to be found in that file it doesn't get added to kwlist.

There is a file that groups the keywords True, False, None, and __debug__: 
ast.c. But there's no reason for it to be that complicated when nothing would 
break by for example adding on line 54 of keyword.py the statement "kwlist += 
['__debug__']?

Actually, I'm interested in knowing why __debug__ is a keyword in the first 
place. I'm terrible at searching apparently so there might be more but from 
what I can tell, the only thing the docs have to say about __debug__ really is 
the following tautology: "The value for the built-in variable [__debug__] is 
determined when the interpreter starts."

--
components: Library (Lib)
messages: 335605
nosy: bup
priority: normal
severity: normal
status: open
title: __debug__ is a keyword but not a keyword
type: enhancement
versions: Python 3.6, Python 3.7, Python 3.8

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com