diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-06-05-15-49-02.bpo-30167.e956hA.rst b/Misc/NEWS.d/next/Core and Builtins/2018-06-05-15-49-02.bpo-30167.e956hA.rst new file mode 100644 index 00000000000..41bdec899b7 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2018-06-05-15-49-02.bpo-30167.e956hA.rst @@ -0,0 +1,2 @@ +``PyRun_SimpleFileExFlags`` removes ``__cached__`` from module in addition +to ``__file__``. diff --git a/Python/pythonrun.c b/Python/pythonrun.c index 2d5dc88c5c7..9b6371d9c0d 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -434,8 +434,14 @@ PyRun_SimpleFileExFlags(FILE *fp, const char *filename, int closeit, Py_DECREF(v); ret = 0; done: - if (set_file_name && PyDict_DelItemString(d, "__file__")) - PyErr_Clear(); + if (set_file_name) { + if (PyDict_DelItemString(d, "__file__")) { + PyErr_Clear(); + } + if (PyDict_DelItemString(d, "__cached__")) { + PyErr_Clear(); + } + } Py_XDECREF(m); return ret; }