Patch #914291: Restore locale while readline is running.
diff --git a/Modules/readline.c b/Modules/readline.c
index 40d489f..5e771d9 100644
--- a/Modules/readline.c
+++ b/Modules/readline.c
@@ -821,6 +821,10 @@
 static char *
 call_readline(FILE *sys_stdin, FILE *sys_stdout, char *prompt)
 {
+#ifdef SAVE_LOCALE
+	char *saved_locale = strdup(setlocale(LC_CTYPE, NULL));
+	setlocale(LC_CTYPE, "");
+#endif
 	size_t n;
 	char *p, *q;
 	int signal;
@@ -879,6 +883,10 @@
 		p[n+1] = '\0';
 	}
 	free(q);
+#ifdef SAVE_LOCALE
+	setlocale(LC_CTYPE, saved_locale); /* Restore locale */
+	free(saved_locale);
+#endif
 	return p;
 }