From afd3daedded4f77f9803a3a486ca00f9fe363859 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Tue, 25 Aug 1998 18:44:34 +0000 Subject: [PATCH] __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. --- Python/import.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Python/import.c b/Python/import.c index 33d266a36c5..7099d1b92b4 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;