* tkintermodule.c: OK, I've fixed the "tty" problem. You're right
no need for the stdin handler, a Tk_DoOneEvent(TK_DONT_WAIT) did
the trick. I've included a diff to tkintermodule.c.
diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c
index 1653408..9db12df 100644
--- a/Modules/_tkinter.c
+++ b/Modules/_tkinter.c
@@ -33,7 +33,6 @@
#include <tk.h>
extern char *getprogramname ();
-extern int isatty (int);
/* Internal declarations from tkInt.h. */
extern int tk_NumMainWindows;
@@ -1012,20 +1011,12 @@
PyErr_Print ();
}
if (tk_NumMainWindows > 0)
- Tk_DoOneEvent (0);
+ Tk_DoOneEvent (TK_DONT_WAIT);
return 0;
}
#endif /* WITH_READLINE */
static void
-StdinProc (clientData, mask)
- ClientData clientData;
- int mask;
-{
- /* Do nothing. */
-}
-
-static void
Tkinter_Cleanup ()
{
/* XXX rl_deprep_terminal is static, damned! */
@@ -1056,10 +1047,6 @@
v = Py_BuildValue ("i", TK_EXCEPTION);
PyDict_SetItemString (d, "EXCEPTION", v);
- /* Unblock stdin. */
- if (isatty (0))
- Tk_CreateFileHandler (0, TK_READABLE, StdinProc, (ClientData) 0);
-
#ifdef WITH_READLINE
rl_event_hook = EventHook;
#endif /* WITH_READLINE */