Issue #13886: Fix input() to not strip out supposedly-invalid input bytes.
diff --git a/Misc/NEWS b/Misc/NEWS
index fd14f3a..243781d 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -9,6 +9,9 @@
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 b5e258d..3cb6236 100644
--- a/Modules/readline.c
+++ b/Modules/readline.c
@@ -1041,7 +1041,7 @@
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) {