mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
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
3 changed files with 12 additions and 1 deletions
|
@ -18,6 +18,13 @@ try:
|
||||||
import pty, signal
|
import pty, signal
|
||||||
except ImportError:
|
except ImportError:
|
||||||
pty = signal = None
|
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:
|
class Squares:
|
||||||
|
|
|
@ -10,6 +10,10 @@ What's New in Python 3.2.4
|
||||||
Core and Builtins
|
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
|
- Issue #10156: In the interpreter's initialization phase, unicode globals
|
||||||
are now initialized dynamically as needed.
|
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));
|
char *saved_locale = strdup(setlocale(LC_CTYPE, NULL));
|
||||||
if (!saved_locale)
|
if (!saved_locale)
|
||||||
Py_FatalError("not enough memory to save locale");
|
Py_FatalError("not enough memory to save locale");
|
||||||
setlocale(LC_CTYPE, "");
|
setlocale(LC_CTYPE, "C");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (sys_stdin != rl_instream || sys_stdout != rl_outstream) {
|
if (sys_stdin != rl_instream || sys_stdout != rl_outstream) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue