]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-41006: Remove init_sys_streams() hack (GH-20954)
authorVictor Stinner <vstinner@python.org>
Wed, 17 Jun 2020 23:11:46 +0000 (01:11 +0200)
committerGitHub <noreply@github.com>
Wed, 17 Jun 2020 23:11:46 +0000 (01:11 +0200)
The encodings.latin_1 module is no longer imported at startup. Now it
is only imported when it is the filesystem encoding or the stdio encoding.

Misc/NEWS.d/next/Core and Builtins/2020-06-18-00-07-09.bpo-41006.H-wN-d.rst [new file with mode: 0644]
Python/pylifecycle.c

diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-06-18-00-07-09.bpo-41006.H-wN-d.rst b/Misc/NEWS.d/next/Core and Builtins/2020-06-18-00-07-09.bpo-41006.H-wN-d.rst
new file mode 100644 (file)
index 0000000..4593e6b
--- /dev/null
@@ -0,0 +1,2 @@
+The ``encodings.latin_1`` module is no longer imported at startup. Now it is
+only imported when it is the filesystem encoding or the stdio encoding.
index c754f2169dece0cc453b15d558451675c5102b8b..87f25e623f570d3853952d32e7bc47d3508d9e8b 100644 (file)
@@ -1939,7 +1939,6 @@ static PyStatus
 init_sys_streams(PyThreadState *tstate)
 {
     PyObject *iomod = NULL;
-    PyObject *m;
     PyObject *std = NULL;
     int fd;
     PyObject * encoding_attr;
@@ -1959,18 +1958,6 @@ init_sys_streams(PyThreadState *tstate)
     }
 #endif
 
-    /* Hack to avoid a nasty recursion issue when Python is invoked
-       in verbose mode: pre-import the Latin-1 and UTF-8 codecs */
-    if ((m = PyImport_ImportModule("encodings.utf_8")) == NULL) {
-        goto error;
-    }
-    Py_DECREF(m);
-
-    if (!(m = PyImport_ImportModule("encodings.latin_1"))) {
-        goto error;
-    }
-    Py_DECREF(m);
-
     if (!(iomod = PyImport_ImportModule("io"))) {
         goto error;
     }