Index: Python/ceval.c =================================================================== --- Python/ceval.c (révision 78805) +++ Python/ceval.c (copie de travail) @@ -3989,10 +3989,10 @@ if (PyDict_GetItem(kwdict, key) != NULL) { PyErr_Format(PyExc_TypeError, "%.200s%s got multiple values " - "for keyword argument '%.200s'", + "for keyword argument '%U'", PyEval_GetFuncName(func), PyEval_GetFuncDesc(func), - _PyUnicode_AsString(key)); + key); Py_DECREF(key); Py_DECREF(value); Py_DECREF(kwdict); Index: Python/import.c =================================================================== --- Python/import.c (révision 78805) +++ Python/import.c (copie de travail) @@ -2691,8 +2691,8 @@ parent = PyDict_GetItem(modules, parentname); if (parent == NULL) { PyErr_Format(PyExc_ImportError, - "reload(): parent %.200s not in sys.modules", - _PyUnicode_AsString(parentname)); + "reload(): parent %U not in sys.modules", + parentname); Py_DECREF(parentname); imp_modules_reloading_clear(); return NULL; Index: Objects/typeobject.c =================================================================== --- Objects/typeobject.c (révision 78805) +++ Objects/typeobject.c (copie de travail) @@ -1295,10 +1295,15 @@ for (j = i + 1; j < n; j++) { if (PyList_GET_ITEM(list, j) == o) { o = class_name(o); - PyErr_Format(PyExc_TypeError, - "duplicate base class %.400s", - o ? _PyUnicode_AsString(o) : "?"); - Py_XDECREF(o); + if (o != NULL) { + PyErr_Format(PyExc_TypeError, + "duplicate base class %U", + o); + Py_DECREF(o); + } else { + PyErr_SetString(PyExc_TypeError, + "duplicate base class"); + } return -1; } } Index: Objects/funcobject.c =================================================================== --- Objects/funcobject.c (révision 78805) +++ Objects/funcobject.c (copie de travail) @@ -295,9 +295,9 @@ PyTuple_GET_SIZE(op->func_closure)); if (nclosure != nfree) { PyErr_Format(PyExc_ValueError, - "%s() requires a code object with %zd free vars," + "%U() requires a code object with %zd free vars," " not %zd", - _PyUnicode_AsString(op->func_name), + op->func_name, nclosure, nfree); return -1; } Index: Modules/zipimport.c =================================================================== --- Modules/zipimport.c (révision 78805) +++ Modules/zipimport.c (copie de travail) @@ -321,15 +321,12 @@ /* add __path__ to the module *before* the code gets executed */ PyObject *pkgpath, *fullpath; - char *prefix = _PyUnicode_AsString(self->prefix); char *subname = get_subname(fullname); int err; - fullpath = PyUnicode_FromFormat("%s%c%s%s", - _PyUnicode_AsString(self->archive), - SEP, - prefix ? prefix : "", - subname); + fullpath = PyUnicode_FromFormat("%U%c%U%s", + self->archive, SEP, + self->prefix, subname); if (fullpath == NULL) goto error; Index: Modules/_hashopenssl.c =================================================================== --- Modules/_hashopenssl.c (révision 78805) +++ Modules/_hashopenssl.c (copie de travail) @@ -294,10 +294,7 @@ static PyObject * EVP_repr(EVPobject *self) { - char buf[100]; - PyOS_snprintf(buf, sizeof(buf), "<%s HASH object @ %p>", - _PyUnicode_AsString(self->name), self); - return PyUnicode_FromString(buf); + return PyUnicode_FromFormat("<%U HASH object @ %p>", self->name, self); } #if HASH_OBJ_CONSTRUCTOR