Mercurial > cpython-lru_cache-weakref
diff Python/pythonrun.c @ 43569:19319e70fc3e
Patch #1272, by Christian Heimes and Alexandre Vassalotti.
Changes to make __file__ a proper Unicode object, using the default
filesystem encoding.
This is a bit tricky because the default filesystem encoding isn't
set by the time we import the first modules; at that point we fudge
things a bit. This is okay since __file__ isn't really used much
except for error reporting.
Tested on OSX and Linux only so far.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Mon, 15 Oct 2007 02:52:41 +0000 |
| parents | b9d19d51de36 |
| children | a2bb76d11d66 |
line wrap: on
line diff
--- a/Python/pythonrun.c Mon Oct 15 02:40:08 2007 +0000 +++ b/Python/pythonrun.c Mon Oct 15 02:52:41 2007 +0000 @@ -867,7 +867,8 @@ return -1; d = PyModule_GetDict(m); if (PyDict_GetItemString(d, "__file__") == NULL) { - PyObject *f = PyString_FromString(filename); + PyObject *f; + f = PyUnicode_DecodeFSDefault(filename); if (f == NULL) return -1; if (PyDict_SetItemString(d, "__file__", f) < 0) {
