From: Nadeem Vawda Date: Sun, 27 Jan 2013 13:21:26 +0000 (+0100) Subject: Issue #13886: Fix input() to not strip out supposedly-invalid input bytes. X-Git-Tag: v2.7.4rc1~199 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=221508cdefd30426b853c77e57ea9ddfc6828d75;p=thirdparty%2FPython%2Fcpython.git Issue #13886: Fix input() to not strip out supposedly-invalid input bytes. --- diff --git a/Misc/NEWS b/Misc/NEWS index fd14f3a0948e..243781dd4816 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -9,6 +9,9 @@ What's New in Python 2.7.4 Core and Builtins ----------------- +- Issue #13886: Fix input() to not strip out input bytes that cannot be decoded + using the locale encoding. + - Issue #10156: In the interpreter's initialization phase, unicode globals are now initialized dynamically as needed. diff --git a/Modules/readline.c b/Modules/readline.c index b5e258db67e4..3cb6236298db 100644 --- a/Modules/readline.c +++ b/Modules/readline.c @@ -1041,7 +1041,7 @@ call_readline(FILE *sys_stdin, FILE *sys_stdout, char *prompt) char *saved_locale = strdup(setlocale(LC_CTYPE, NULL)); if (!saved_locale) Py_FatalError("not enough memory to save locale"); - setlocale(LC_CTYPE, ""); + setlocale(LC_CTYPE, "C"); #endif if (sys_stdin != rl_instream || sys_stdout != rl_outstream) {