[Python-Dev] [Python-checkins] cpython: Migrate str.expandtabs to the new API (original) (raw)

Victor Stinner victor.stinner at haypocalc.com
Wed Oct 5 01:44:31 CEST 2011


Le 04/10/2011 18:45, "Martin v. Löwis" a écrit :

Migrate str.expandtabs to the new API This needs if (PyUnicodeREADY(self) == -1) return NULL; right after the ParseTuple call. In most cases, the check will be a noop. But if it's not, omitting it will make expandtabs have no effect, since the string length will be 0 (in a debug build, you also get an assertion failure).

This "make input string ready" code path is not well tested because all functions creating strings in unicodeobject.c ensure that the string is ready.

I disabled the call to PyUnicode_READY() on result in debug mode in unicodeobject.c (define DONT_MAKE_RESULT_READY). It helped me to fix bugs in various functions, see my commit b66033a0f140.

Victor



More information about the Python-Dev mailing list