From: Guido van Rossum Date: Tue, 25 Aug 1998 18:44:34 +0000 (+0000) Subject: __file__ used to be always set to the .pyc (or .pyo) file, even if X-Git-Tag: v1.5.2a2~343 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=afd3daedded4f77f9803a3a486ca00f9fe363859;p=thirdparty%2FPython%2Fcpython.git __file__ used to be always set to the .pyc (or .pyo) file, even if that file in fact did not exist or at least was not used. Change this so that __file__ is *only* set to the .pyc/.pyo file when it actually read the code object from it; otherwise __file__ is set to the .py file. --- diff --git a/Python/import.c b/Python/import.c index 33d266a36c50..7099d1b92b4a 100644 --- a/Python/import.c +++ b/Python/import.c @@ -706,6 +706,7 @@ load_source_module(name, pathname, fp) if (Py_VerboseFlag) fprintf(stderr, "import %s # precompiled from %s\n", name, cpathname); + pathname = cpathname; } else { co = parse_source_module(pathname, fp); @@ -716,7 +717,7 @@ load_source_module(name, pathname, fp) name, pathname); write_compiled_module(co, cpathname, mtime); } - m = PyImport_ExecCodeModuleEx(name, (PyObject *)co, cpathname); + m = PyImport_ExecCodeModuleEx(name, (PyObject *)co, pathname); Py_DECREF(co); return m;