Include/unicodeobject.h includes prototypes for PyUnicode_FromFormat and
PyUnicode_FromFormatV in both 2.6 and 2.7, but those functions are not
included in the documention.
And worse, the implementation contains bugs: the %R format code tries to
include the repr() of an object and blindly assumes that the result of
PyObject_Repr is a unicode string. In the 2.x tree PyObject_Repr usually
(but not allways) returns a regular string (str instead of unicode).
The same problem is present in the implementation of %S.
For the %U and %V formats the code does typechecking in an assert
statement rather than always testing and bailing out using a NULL result
from the function. |