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