From 052a04d34a3841996af59962b038f05af63abacc Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 13 Oct 2010 23:24:06 +0000 Subject: Revert r85435 (and r85440): decode command line arguments from utf-8 Python exits with a fatal error if the command line contains an undecodable argument. PyUnicode_FromString() fails at the first undecodable byte because it calls the error handler, but error handlers are not ready before Python initialization. --- Misc/NEWS | 3 --- Modules/python.c | 11 +---------- 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/Misc/NEWS b/Misc/NEWS index 06fbe9d..142c9fc 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -10,9 +10,6 @@ What's New in Python 3.2 Beta 1? Core and Builtins ----------------- -- Issue #9992: On Mac OS X, decode command line arguments from utf-8 instead of - the locale encoding. - - Issue #9992: Remove PYTHONFSENCODING environment variable. Library diff --git a/Modules/python.c b/Modules/python.c index 488aa79..9a71cd0 100644 --- a/Modules/python.c +++ b/Modules/python.c @@ -41,19 +41,10 @@ main(int argc, char **argv) oldloc = strdup(setlocale(LC_ALL, NULL)); setlocale(LC_ALL, ""); for (i = 0; i < argc; i++) { -#ifdef __APPLE__ - /* Use utf-8 on Mac OS X */ - PyObject *unicode = PyUnicode_FromString(argv[i]); - if (!unicode) - return 1; - argv_copy[i] = PyUnicode_AsWideCharString(unicode, NULL); - Py_DECREF(unicode); -#else argv_copy[i] = _Py_char2wchar(argv[i]); -#endif - argv_copy2[i] = argv_copy[i]; if (!argv_copy[i]) return 1; + argv_copy2[i] = argv_copy[i]; } setlocale(LC_ALL, oldloc); free(oldloc); -- cgit v0.12