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.
This commit is contained in:
parent
8916b853b9
commit
6f02ea02c8
|
@ -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) {
|
||||
|
|
Loading…
Reference in New Issue