Message185694
I found the root cause of the original error.
Entering "exit()" at the shell raises SystemExit which gets written to the shell's text widget. The call to actually write the text passes through .write() in Lib/idlelib/OutputWindow.py, which calls text.update(). The call to .update() enters the Tk event loop and flushes pending events, including expired .after callbacks.
Forcing the .after callback in .close() to 1 ms will always trigger the error. Commenting out the text.update() in OutputWindow.py avoids the error.
The patch causes .kill_subprocess() to execute immediately which prevents the subprocess from writing to sys.stderr. |
|
Date |
User |
Action |
Args |
2013-03-31 23:22:08 | roger.serwy | set | recipients:
+ roger.serwy, terry.reedy, ajaksu2, gpolo, gerluijten, srid, Boris.FELD |
2013-03-31 23:22:08 | roger.serwy | set | messageid: <1364772128.49.0.86021422733.issue5492@psf.upfronthosting.co.za> |
2013-03-31 23:22:08 | roger.serwy | link | issue5492 messages |
2013-03-31 23:22:08 | roger.serwy | create | |
|