
Neal Norwitz schrieb:
We are planning the release of 2.5.2 for next week. Unless there are serious bugs, please hold off making big changes to the 2.5 branch until after 2.5.2 final is released. Anthony gets cranky when things break and he scares me...a lot. :-) Doc/test fixes as always are still fine.
The plan is cut the release candidate around Tuesday/Wednesday next week (Oct 16/17). If all goes well, 2.5.2 final will follow a week later.
Please test the 2.5 branch now and let us know if there are any serious problems. If there are serious bugs that you think should be addressed, let us know. Bugs are here: http://bugs.python.org/
Neal, I have one patch for ctypes still sitting in some of my sandboxes. ctypes doesn't work when configured with --with-system-ffi on machines where 'sizeof(long long) != sizeof(long)', in other words on 32-bit boxes. This is because I misinterpreted the meaning of the FFI_ type codes. See also this bug: https://bugs.launchpad.net/bugs/72505 Here is the fairly simple patch, even a little bit simpler than the patch posted on the page above, which I want to apply to thrunk AND release25-maint branch: theller@tubu610:~/devel/release25-maint$ svn diff Index: Modules/_ctypes/cfield.c =================================================================== --- Modules/_ctypes/cfield.c (revision 52840) +++ Modules/_ctypes/cfield.c (working copy) @@ -1541,18 +1541,22 @@ /* XXX Hm, sizeof(int) == sizeof(long) doesn't hold on every platform */ /* As soon as we can get rid of the type codes, this is no longer a problem */ #if SIZEOF_LONG == 4 - { 'l', l_set, l_get, &ffi_type_sint, l_set_sw, l_get_sw}, - { 'L', L_set, L_get, &ffi_type_uint, L_set_sw, L_get_sw}, + { 'l', l_set, l_get, &ffi_type_sint32, l_set_sw, l_get_sw}, + { 'L', L_set, L_get, &ffi_type_uint32, L_set_sw, L_get_sw}, #elif SIZEOF_LONG == 8 - { 'l', l_set, l_get, &ffi_type_slong, l_set_sw, l_get_sw}, - { 'L', L_set, L_get, &ffi_type_ulong, L_set_sw, L_get_sw}, + { 'l', l_set, l_get, &ffi_type_sint64, l_set_sw, l_get_sw}, + { 'L', L_set, L_get, &ffi_type_uint64, L_set_sw, L_get_sw}, #else # error #endif #ifdef HAVE_LONG_LONG - { 'q', q_set, q_get, &ffi_type_slong, q_set_sw, q_get_sw}, - { 'Q', Q_set, Q_get, &ffi_type_ulong, Q_set_sw, Q_get_sw}, +#if SIZEOF_LONG_LONG == 8 + { 'q', q_set, q_get, &ffi_type_sint64, q_set_sw, q_get_sw}, + { 'Q', Q_set, Q_get, &ffi_type_uint64, Q_set_sw, Q_get_sw}, +#else +# error #endif +#endif { 'P', P_set, P_get, &ffi_type_pointer}, { 'z', z_set, z_get, &ffi_type_pointer}, #ifdef CTYPES_UNICODE theller@tubu610:~/devel/release25-maint$ Is is ok to apply this patch? Thomas