Mercurial > cpython-lru_cache-weakref
diff Objects/moduleobject.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 | d5b52d56beba |
| children | 0d462d789b18 |
line wrap: on
line diff
--- a/Objects/moduleobject.c Mon Oct 15 02:40:08 2007 +0000 +++ b/Objects/moduleobject.c Mon Oct 15 02:52:41 2007 +0000 @@ -86,12 +86,12 @@ d = ((PyModuleObject *)m)->md_dict; if (d == NULL || (fileobj = PyDict_GetItemString(d, "__file__")) == NULL || - !PyString_Check(fileobj)) + !PyUnicode_Check(fileobj)) { PyErr_SetString(PyExc_SystemError, "module filename missing"); return NULL; } - return PyString_AsString(fileobj); + return PyUnicode_AsString(fileobj); } void
