__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.
This commit is contained in:
Guido van Rossum 1998-08-25 18:44:34 +00:00
parent 90f827c67e
commit afd3daedde
1 changed files with 2 additions and 1 deletions

View File

@ -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;