[Python-Dev] Re: [Python-checkins]python/dist/src/Objects unicodeobject.c, 2.197, 2.198 (original) (raw)
M.-A. Lemburg mal at lemburg.com
Sun Sep 21 07:30:27 EDT 2003
- Previous message: [Python-Dev] Re: [Python-checkins]python/dist/src/Objects unicodeobject.c, 2.197, 2.198
- Next message: [Python-Dev] Re: [Python-checkins]python/dist/src/Objects unicodeobject.c, 2.197, 2.198
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Tim Peters wrote:
[M.-A. Lemburg]
Since wchart is the only case where a signed type can pop up, why not extend the autoconf test to check for signedness and then reject signed wchart value as not-usable (ie. undefine HAVEUSABLEWCHART). [martin at v.loewis.de] Because that would exclude a number of relevant systems where wchart would be usable. So what if MAL ammened his suggestion to reject signed 2-byte wchart value as not-usable +++++++ ?
That would not solve the problem.
Note that we have proper conversion routines that allow converting between wchar_t and Py_UNICODE. These routines must be used for conversions anyway (even if Py_UNICODE and wchar_t happen to be the same type), so from a programmer perspective changing Py_UNICODE to be unsigned won't be noticed and we don't lose anything much.
Again, I don't see the point in using a signed type for data that doesn't have any concept of signed values. It's just bad design and we shouldn't try to go down the same route if we don't have to.
The Unicode implementation has always defined Py_UNICODE to be an unsigned type; see the Unicode PEP 100:
""" Internal Format
The internal format for Unicode objects should use a Python
specific fixed format <PythonUnicode> implemented as 'unsigned
short' (or another unsigned numeric type having 16 bits). Byte
order is platform dependent.
...
The configure script should provide aid in deciding whether Python
can use the native wchar_t type or not (it has to be a 16-bit
unsigned type).
"""
Python can also deal with UCS4 now, but the concept remains the same.
-- Marc-Andre Lemburg eGenix.com
Professional Python Software directly from the Source (#1, Sep 21 2003)
Python/Zope Products & Consulting ... http://www.egenix.com/ mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,FreeBSD for free ! ::::
- Previous message: [Python-Dev] Re: [Python-checkins]python/dist/src/Objects unicodeobject.c, 2.197, 2.198
- Next message: [Python-Dev] Re: [Python-checkins]python/dist/src/Objects unicodeobject.c, 2.197, 2.198
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]