◐ Shell
clean mode source ↗

Message 96853 - Python tracker

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.