Mercurial > cpython-lru_cache-weakref
diff Python/compile.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 | b06b191b7cfa |
| children | 0d462d789b18 |
line wrap: on
line diff
--- a/Python/compile.c Mon Oct 15 02:40:08 2007 +0000 +++ b/Python/compile.c Mon Oct 15 02:52:41 2007 +0000 @@ -1247,7 +1247,7 @@ PyObject_REPR(name), PyString_AS_STRING(c->u->u_name), reftype, arg, - PyString_AS_STRING(co->co_name), + PyUnicode_AsString(co->co_name), PyObject_REPR(co->co_freevars)); Py_FatalError("compiler_make_closure()"); } @@ -4001,7 +4001,7 @@ freevars = dict_keys_inorder(c->u->u_freevars, PyTuple_Size(cellvars)); if (!freevars) goto error; - filename = PyString_FromString(c->c_filename); + filename = PyUnicode_DecodeFSDefault(c->c_filename); if (!filename) goto error;
