[Python-Dev] New Py_UNICODE doc

Thomas Heller theller at python.net
Wed May 4 18:08:54 CEST 2005


Nicholas Bastin <nbastin at opnet.com> writes:

> The current documentation for Py_UNICODE states:
>
> "This type represents a 16-bit unsigned storage type which is used by  
> Python internally as basis for holding Unicode ordinals. On  platforms 
> where wchar_t is available and also has 16-bits,  Py_UNICODE is a 
> typedef alias for wchar_t to enhance  native platform compatibility. On 
> all other platforms,  Py_UNICODE is a typedef alias for unsigned 
> short."
>
> I propose changing this to:
>
> "This type represents the storage type which is used by Python 
> internally as the basis for holding Unicode ordinals.  On platforms 
> where wchar_t is available, Py_UNICODE is a typedef alias for wchar_t 
> to enhance native platform compatibility.  On all other platforms, 
> Py_UNICODE is a typedef alias for unsigned short.  Extension module 
> developers should make no assumptions about the size of this type on 
> any given platform."
>
> If no one has a problem with that, I'll make the change in CVS.

AFAIK, you can configure Python to use 16-bits or 32-bits Unicode chars,
independend from the size of wchar_t.  The HAVE_USABLE_WCHAR_T macro can
be used by extension writers to determine if Py_UNICODE is the same as
wchar_t.  At least that's my understanding, so the above seems still
wrong.  And +1 for trying to clean up this confusion.

Thomas



More information about the Python-Dev mailing list