(original) (raw)
2011/11/22 Victor Stinner <victor.stinner@haypocalc.com>
Hi,
In Python 3.2, PyUnicode_Resize() expects a number of Py_UNICODE units,
whereas Python 3.3 expects a number of characters.
It is tricky to convert a number of Py_UNICODE units to a number of
characters, so it is diffcult to provide a backward compatibility
PyUnicode_Resize() function taking a number of Py_UNICODE units in Python 3.3.
Should we rename PyUnicode_Resize() in Python 3.3 to avoid surprising bugs?
The issue only concerns Windows with non-BMP characters, so a very rare use
case.
The easiest solution is to do nothing in Python 3.3: the API changed, but it
doesn't really matter. Developers just have to be careful on this particular
issue (which is not well documented today).
+1. A note in the "Porting C code" section of whatsnew/3.3 should be enough.
Amaury Forgeot d'Arc