]> granicus.if.org Git - python/commitdiff
Patch #794826: Add __file__ in dynamically loaded modules for multiple
authorMartin v. Löwis <martin@v.loewis.de>
Thu, 4 Sep 2003 18:45:59 +0000 (18:45 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Thu, 4 Sep 2003 18:45:59 +0000 (18:45 +0000)
interpreters. Fixes #698282. Will backport to 2.3.

Python/importdl.c

index c2400f7a3ced3529ace558374983d7f51f96ec32..9c325e447d3f485144f4210e9714c5782cd354da 100644 (file)
@@ -54,8 +54,6 @@ _PyImport_LoadDynamicModule(char *name, char *pathname, FILE *fp)
        _Py_PackageContext = oldcontext;
        if (PyErr_Occurred())
                return NULL;
-       if (_PyImport_FixupExtension(name, pathname) == NULL)
-               return NULL;
 
        m = PyDict_GetItemString(PyImport_GetModuleDict(), name);
        if (m == NULL) {
@@ -66,6 +64,9 @@ _PyImport_LoadDynamicModule(char *name, char *pathname, FILE *fp)
        /* Remember the filename as the __file__ attribute */
        if (PyModule_AddStringConstant(m, "__file__", pathname) < 0)
                PyErr_Clear(); /* Not important enough to report */
+
+       if (_PyImport_FixupExtension(name, pathname) == NULL)
+               return NULL;
        if (Py_VerboseFlag)
                PySys_WriteStderr(
                        "import %s # dynamically loaded from %s\n",