From 221508cdefd30426b853c77e57ea9ddfc6828d75 Mon Sep 17 00:00:00 2001 From: Nadeem Vawda Date: Sun, 27 Jan 2013 14:21:26 +0100 Subject: [PATCH] Issue #13886: Fix input() to not strip out supposedly-invalid input bytes. --- Misc/NEWS | 3 +++ Modules/readline.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Misc/NEWS b/Misc/NEWS index fd14f3a0948..243781dd481 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 b5e258db67e..3cb6236298d 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) {