From: Victor Stinner Date: Mon, 21 Feb 2011 20:51:28 +0000 (+0000) Subject: Remove bootstrap code of PyUnicode_AsEncodedString() X-Git-Tag: v3.3.0a1~3136 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fd34b3788fbfb1e46ece705e1df49ac6ac1e8b84;p=python Remove bootstrap code of PyUnicode_AsEncodedString() Issue #11187: Remove bootstrap code (use ASCII) of PyUnicode_AsEncodedString(), it was replaced by a better fallback (use the locale encoding) in PyUnicode_EncodeFSDefault(). Prepare also empty sections in NEWS. --- diff --git a/Misc/NEWS b/Misc/NEWS index d01a0e1d93..e9113209cf 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -12,11 +12,15 @@ Core and Builtins - Check for NULL result in PyType_FromSpec. +- Issue #11187: Remove bootstrap code (use ASCII) of + PyUnicode_AsEncodedString(), it was replaced by a better fallback (use the + locale encoding) in PyUnicode_EncodeFSDefault(). + Library ------- - Issue #11089: Fix performance issue limiting the use of ConfigParser() - with large config files. + with large config files. - Issue #10276: Fix the results of zlib.crc32() and zlib.adler32() on buffers larger than 4GB. Patch by Nadeem Vawda. diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index 456719685d..069be7b6c6 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -1673,21 +1673,6 @@ PyObject *PyUnicode_AsEncodedString(PyObject *unicode, PyUnicode_GET_SIZE(unicode), errors); } - /* During bootstrap, we may need to find the encodings - package, to load the file system encoding, and require the - file system encoding in order to load the encodings - package. - - Break out of this dependency by assuming that the path to - the encodings module is ASCII-only. XXX could try wcstombs - instead, if the file system encoding is the locale's - encoding. */ - if (Py_FileSystemDefaultEncoding && - strcmp(encoding, Py_FileSystemDefaultEncoding) == 0 && - !PyThreadState_GET()->interp->codecs_initialized) - return PyUnicode_EncodeASCII(PyUnicode_AS_UNICODE(unicode), - PyUnicode_GET_SIZE(unicode), - errors); /* Encode via the codec registry */ v = PyCodec_Encode(unicode, encoding, errors);