This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients loewis, vstinner
Date 2010-04-12.17:14:23
SpamBayes Score 2.113014e-09
Marked as misclassified No
Message-id <1271092469.87.0.574860206819.issue8242@psf.upfronthosting.co.za>
In-reply-to
Content
New patch fixing more issues about undecodable filenames.

 Lib/test/test_subprocess.py |    4 -
 Lib/unittest/runner.py      |    4 +
 Modules/_posixsubprocess.c  |   21 ++++++++--
 Modules/getpath.c           |   90 +++++++++++++++++++++++++++++++++++++++-----
 Modules/posixmodule.c       |    5 +-
 Modules/python.c            |    6 +-
 Modules/zipimport.c         |   11 ++++-
 Objects/fileobject.c        |    6 +-
 Objects/unicodeobject.c     |   22 ++++++++--
 Parser/tokenizer.c          |   14 ++++--
 Python/_warnings.c          |    7 +++
 Python/ast.c                |   10 +++-
 Python/ceval.c              |    2
 Python/errors.c             |    2
 Python/import.c             |   37 +++++++++++++-----
 Python/traceback.c          |   38 ++++++++++++++----
 16 files changed, 225 insertions(+), 54 deletions(-)

TODO:
 - Remove assert(PyBytes_Check(opath)); from NullImporter_init() and zipimporter_init()
 - Fix setup_context() (_warnings.c)
 - Reencode module filenames if the system default encoding changes
 - Lib/unittest/runner.py and Lib/test/test_subprocess.py contain hacks to fix tests. It might be rewritten
 - Fix the 3 "FIXME: use _Py_char2wchar" in getpath.c

I restored code setting the system encoding.

The patch fixes also _posixsubprocess.fork_exec() to support undecodable current working directory.
History
Date User Action Args
2010-04-12 17:14:29vstinnersetrecipients: + vstinner, loewis
2010-04-12 17:14:29vstinnersetmessageid: <1271092469.87.0.574860206819.issue8242@psf.upfronthosting.co.za>
2010-04-12 17:14:28vstinnerlinkissue8242 messages
2010-04-12 17:14:27vstinnercreate