Shrinky-dink Python (also, non-Unicode Python build is broken)
Neil Hodgson
nyamatongwe+thunder at gmail.com
Mon Jan 16 20:59:06 EST 2006
Larry Hastings:
> First and foremost: turning off Py_USING_UNICODE *breaks the build*
> on Windows. The following list of breakages were all fixed with
> judicious applications of #ifdef Py_USING_UNICODE:
> * The implementation of "multi-byte codecs" (CJK codecs) implicitly
> assumes that they can use all the Unicode facilities. So all the
> files in "Modules/cjkcodecs" fail to build.
> * Obviously, the Unicode string object depends on Unicode support,
> so Objects/unicode* doesn't build.
> * There are several spots in the code that need to handle Unicode
> strings in some slightly special way, and assume Unicode is turned
> on. E.g.:
> * Modules/posixmodule.c, posix__getfullpathname(), line 1745
> * same file, posix_open(), starting on line 5201
> * Objects/fileobject.c, open_the_file(), starting on line 158
> * _winreg.c, Py2Reg(), starting on lines 724 and 777
I'm probably responsible for some of the breakage when adding
Unicode file name support to Python. Windows is a Unicode based
operating system and I expect Unicode calls will eventually infest the
code base to a greater extent than currently. Requiring each
modification that adds a Unicode feature to be safe with
Py_USING_UNICODE turned off will add to the implementation effort for
that feature. I'd prefer to drop support for turning off
Py_USING_UNICODE in Windows specific code. Well, since it is currently
broken, document that it isn't supported. Other platforms may need to
continue allowing non Py_USING_UNICODE builds.
Neil
More information about the Python-list
mailing list