From fd34b3788fbfb1e46ece705e1df49ac6ac1e8b84 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Mon, 21 Feb 2011 20:51:28 +0000 Subject: [PATCH] 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. --- Misc/NEWS | 6 +++++- Objects/unicodeobject.c | 15 --------------- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/Misc/NEWS b/Misc/NEWS index d01a0e1d93d..e9113209cf3 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 456719685d4..069be7b6c63 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);