Removed calls to _PyUnicode_AsDefaultEncodedString and replaced them wit PyUnicode_AsString. Also removed calls to PyString_* and replaced them by the equivalent PyUnicode_*
Is this still relevant? The patch fails applying with quit a bit of fireworks: patching file moduleobject.c Hunk #1 FAILED at 66. Hunk #2 succeeded at 86 (offset -5 lines). Hunk #3 FAILED at 115. Hunk #4 FAILED at 128. 3 out of 4 hunks FAILED -- saving rejects to file moduleobject.c.rej patching file floatobject.c Reversed (or previously applied) patch detected! Assume -R? [n] n Apply anyway? [n] n Skipping patch. 3 out of 3 hunks ignored -- saving rejects to file floatobject.c.rej