Mercurial > cpython-lru_cache-weakref
diff Python/import.c @ 16534:b59f3a1eb123 legacy-trunk
This modified version of a patch by Thomas Heller allows __import__
hooks to take over the Python import machinery at a very early stage
in the Python startup phase.
If there are still places in the Python interpreter which need to
bypass the __import__ hook, these places must now use
PyImport_ImportModuleEx() instead. So far no other places than in
the import mechanism itself have been identified.
| author | Marc-André Lemburg <mal@egenix.com> |
|---|---|
| date | Fri, 09 Feb 2001 19:40:15 +0000 |
| parents | 0076e8d28f9e |
| children | 6341f8d909ac |
line wrap: on
line diff
--- a/Python/import.c Fri Feb 09 17:05:53 2001 +0000 +++ b/Python/import.c Fri Feb 09 19:40:15 2001 +0000 @@ -1458,13 +1458,13 @@ PyObject * PyImport_ImportModule(char *name) { - static PyObject *fromlist = NULL; - if (fromlist == NULL && strchr(name, '.') != NULL) { - fromlist = Py_BuildValue("(s)", "*"); - if (fromlist == NULL) - return NULL; - } - return PyImport_ImportModuleEx(name, NULL, NULL, fromlist); + PyObject *pname; + PyObject *result; + + pname = PyString_FromString(name); + result = PyImport_Import(pname); + Py_DECREF(pname); + return result; } /* Forward declarations for helper routines */ @@ -1906,7 +1906,8 @@ if (standard_builtins == NULL) { standard_builtins = - PyImport_ImportModule("__builtin__"); + PyImport_ImportModuleEx("__builtin__", + NULL, NULL, NULL); if (standard_builtins == NULL) return NULL; }
