On Windows, -i shouldn't call set[v]buf(stdin, ...) because it screws
up the _tkinter main loop. Not clear why; the _kbhit() call _tkinter
makes probably confuses the stdio library when buffering isn't set to
whatever it is by default.
diff --git a/Modules/main.c b/Modules/main.c
index 556a67a..58df084 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -230,7 +230,7 @@
else if (Py_InteractiveFlag) {
#ifdef MS_WINDOWS
/* Doesn't have to have line-buffered -- use unbuffered */
- setvbuf(stdin, (char *)NULL, _IONBF, BUFSIZ);
+ /* Any set[v]buf(stdin, ...) screws up Tkinter :-( */
setvbuf(stdout, (char *)NULL, _IONBF, BUFSIZ);
#else /* !MS_WINDOWS */
#ifdef HAVE_SETVBUF