Commit 6f02ea02 authored by Nadeem Vawda's avatar Nadeem Vawda

Issue #13886: Fix input() to not strip out supposedly-invalid input bytes.

Also fix sporadic failures in test_builtin due to dependence on whether the
readline module has previously been imported.
parent 8916b853
......@@ -18,6 +18,13 @@ try:
import pty, signal
except ImportError:
pty = signal = None
# Importing this module has the side-effect of changing the behavior of input().
# Ensure that we always use the readline version (if available), so we don't get
# different results depending on what other tests have already imported.
try:
import readline
except ImportError:
pass
class Squares:
......
......@@ -10,6 +10,10 @@ What's New in Python 3.2.4
Core and Builtins
-----------------
- Issue #13886: Fix input() to not strip out input bytes that cannot be decoded
using the locale encoding. Also fix sporadic failures in test_builtin due to
dependence on whether the readline module has previously been imported.
- Issue #10156: In the interpreter's initialization phase, unicode globals
are now initialized dynamically as needed.
......
......@@ -1068,7 +1068,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) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment