Let's try grep on py3k: grep 'Py_BuildValue("[^"]*c' $(find -name "*.c") Py_BuildValue("c") is used for: - mmap.read_byte() result - .getkey() result: this method returns also unicode string => your patch breaks getkey()! - array.__reduce__(): i don't understand if the patch breaks anything I think that curses and array should use "C" format, but... it doesn't exist for Py_BuildValue. It was maybe forgotten.
> "C" format, but... it doesn't exist for Py_BuildValue Ooops, it does exist but it looks that nobody uses it. It's also not documented :-( I wrote a new patch: - document "C" format for Py_BuildValue (fix also a typo) - use "C" format in array and _curses - (and leave ocean-city's changes unchanged)