[Python-Dev] Adventures with x64, VS7 and VS8 on Windows (original) (raw)
M.-A. Lemburg mal at egenix.com
Mon May 21 13:28:04 CEST 2007
- Previous message: [Python-Dev] Adventures with x64, VS7 and VS8 on Windows
- Next message: [Python-Dev] Adventures with x64, VS7 and VS8 on Windows
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 2007-05-21 12:30, Kristján Valur Jónsson wrote:
[PyUNICODE being #defined as "unsigned short" on Windows] I'd rather make it a platform-specific definition (for platform=Windows API). Correct me if I'm wrong, but isn't wchart also available in VS 2003 (and even in VC6?). And doesn't it have the "right" definition in all these compilers? So +1 for setting PyUNICODE to wchart on Windows. Yes. Btw, in previous visual studio versions, wchart was not treated as a builtin type by default, but rather as synonymous with unsighed short. Now the default is that it is, and this causes some semantic differences and incompatibilities of the type seen.
+1 from me.
If think this is simply a bug introduced with the UCS4 patches in Python 2.2.
unicodeobject.h already has this code:
#ifndef PY_UNICODE_TYPE
/* Windows has a usable wchar_t type (unless we're using UCS-4) */
if defined(MS_WIN32) && Py_UNICODE_SIZE == 2
define HAVE_USABLE_WCHAR_T
define PY_UNICODE_TYPE wchar_t
endif
if defined(Py_UNICODE_WIDE)
define PY_UNICODE_TYPE Py_UCS4
endif
#endif
But for some reason, pyconfig.h defines:
/* Define as the integral type used for Unicode representation. */ #define PY_UNICODE_TYPE unsigned short
/* Define as the size of the unicode type. */ #define Py_UNICODE_SIZE SIZEOF_SHORT
/* Define if you have a useable wchar_t type defined in wchar.h; useable means wchar_t must be 16-bit unsigned type. (see Include/unicodeobject.h). */ #if Py_UNICODE_SIZE == 2 #define HAVE_USABLE_WCHAR_T #endif
disabling the default settings in the unicodeobject.h.
-- Marc-Andre Lemburg eGenix.com
Professional Python Services directly from the Source (#1, May 21 2007)
Python/Zope Consulting and Support ... http://www.egenix.com/ mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/ mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
:::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! ::::
eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48 D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg Registered at Amtsgericht Duesseldorf: HRB 46611
- Previous message: [Python-Dev] Adventures with x64, VS7 and VS8 on Windows
- Next message: [Python-Dev] Adventures with x64, VS7 and VS8 on Windows
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]