Serhiy Storchaka added the comment:

There are yet few subtle details.

1. _PyUnicode_FromId() uses UTF-8 for decoding from C string, but 
PyUnicode_CompareWithASCIIString() uses Latin1. Two ways of comparison can 
return different results. Currently all identifiers are ASCII, thus perhaps we 
can ignore this issue for a time. Perhaps the simplest solution is to make 
PyUnicode_FromId() using ASCII or Latin1.

2. PyUnicode_READY() can fail either because Unicode object is misformed or due 
to MemoryError. The former case is unavoidable error and returning false is 
good. But the latter can be temporary error and we should add a fallback, 
compare wchar_t * representation of non-ready Unicode object with char * 
representation of identifier.

----------

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

Reply via email to