[Python-Dev] cpython: Document PyUnicode_Copy() and PyUnicode_EncodeCodePage()
"Martin v. Löwis"
martin at v.loewis.de
Sun Dec 11 23:44:50 CET 2011
Am 09.12.2011 20:32, schrieb Antoine Pitrou:
> On Fri, 09 Dec 2011 19:51:14 +0100
> Victor Stinner <victor.stinner at haypocalc.com> wrote:
>> On 09/12/2011 01:35, Antoine Pitrou wrote:
>>> On Fri, 09 Dec 2011 00:16:02 +0100
>>> victor.stinner<python-checkins at python.org> wrote:
>>>>
>>>> +.. c:function:: PyObject* PyUnicode_Copy(PyObject *unicode)
>>>> +
>>>> + Get a new copy of a Unicode object.
>>>> +
>>>> + .. versionadded:: 3.3
>>>
>>> I'm not sure I understand. Why would you make a copy of an immutable
>>> object?
>>
>> PyUnicode_Copy() can be used to modify a string to create a new string
>> with the same length. It is used for example by str.upper(),
>> str.title(), ... (fixup()).
>
> Then the doc should mention that the returned string can be modified.
> Otherwise it's a bit obscure why the function exists.
I'm skeptical about this modification part. If you make a copy, it's
not clear at all that the new characters that you put in will fit
in range with the width of the unicode string. Even decreasing the
ordinal of a character may be incorrect as the result may not be
canonical anymore.
Regards,
Martin
More information about the Python-Dev
mailing list