On May 5, 2009, at 3:04 PM, Lisandro Dalcin wrote:

> On Mon, May 4, 2009 at 7:10 PM, Robert Bradshaw
> <[email protected]> wrote:
>>> Unfortunatelly, I have to agree, for different reasons... As an
>>> starter, the current code does not handle Py3K on Windows  
>>> (because of
>>> the new wchar_t based API)
>>
>> This should be sufficient, right?
>>
>> http://hg.cython.org/cython-devel/rev/2e35d5caac86
>>
>
> No, unfortunately it is not enough... I didn't tell you the whole
> story... Py3K has a wchar_t-based API for all platforms. On Windows,
> the fix is easy, you just use wmain(). On POSIX, not so easy... you
> have to use char-based, traditional main(), and use mbrtowc() to
> convent all the argument one by one...
>
> IMHO, core CPython is doing it wrong here... See the nightmare in
> py3k/Modules/python.c ... IMHO, Python should provide a both
> char-based and wchar_t-based API's, and internally implement the
> char-based ones as wrappers, managing the conversion char->wchat_t and
> then call the wchar_t-based API's.
>
> If this is not done, any one trying to embed python have to start
> converting arguments (and managing the tmp mem blocks), and have to
> cope with the apparent brokenness of mbrtowc() on some platforms...
> I've already had to implement all that crap in mpi4py, see
> http://code.google.com/p/mpi4py/source/browse/trunk/src/python.c
> (borrow code from Py3_Main_GetArgs() if you like it). Fortunately,
> that file is not frequently required for end-users, but I'm not even
> sure if it works on the many Unix-like systems out-there (current
> supercomputer systems hardly have python3 available for end-users)
>
> I do not have the energy to go to Python-Dev to discuss all this... Do
> any of you have it :-)? Stefan? Greg?

:( That is just ugly. I am with you that CPython should be fixed, but  
don't have the time to look into hacking around this myself.

- Robert


_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to