[Idle-dev] new idlefork package

Guido van Rossum guido@python.org
Wed, 01 Jan 2003 08:51:17 -0500


[Bruce Sherwood]
> I would like to request another configuration option, one to turn
> off the "Okay to save?" window that comes up after an edit when I
> hit F5 to run.  [...]

+1 (as long as the default stays the same).

FWIW, I also want the default statup window to be the Python Shell
window -- that's already a configurable option and I'm merely
requesting a change of default.

Now that all output goes to the Python Shell window, I'd like to see a
delimiter in that window whenever the subprocess is restarted.
Otherwise it's not always clear from viewing that window what
happened.

> There is what looks like a very serious problem with running VPython
> programs, and I don't know whether this is an idlefork issue or a
> VPython issue. With the original idlefork, I could kill a running
> VPython program by clicking in the close box of the graphics window
> (leaving the print output window up, with whatever printing occurred
> up to that time). I could then hit F5 again (with the edit window
> active, with or without making an edit) to re-run the program. Now
> however, when I hit the close box of the VPython graphics window and
> then try to re-run the program, I'm told that "The Python Shell
> window is already executing a command; please wait until it is
> finished." I have found no way to do another run, or even to quit
> Python, without going to the system monitor and killing the Python
> job. (I should mention for context that most VPython programs run as
> infinite loops; a good example is a program of orbiting stars. And
> even if a VPython program goes to completion, the graphics windows
> stay up so you can see the resulting images.)

This sounds like it's an issue with VPython's main loop.  Maybe it
doesn't exit its main loop when its graphics window is closed?

I'm not sure if IDLEfork has a way to kill an uncooperative
subprocess; it should have one as a last resort.  Also, ^C in the
shell window should send it something like SIGINT (on Unix).  (Maybe
it does, I have no time to experiment right now -- the family's
waiting.)

> A related issue is that with the original idlefork I didn't even
> have to hit the close box before starting a new run. With the edit
> window active I could hit F5 and that killed the old graphics
> windows and re-ran the program. Now I get into the "already
> executing a command" bind.

Maybe there could be an option (off by default) that F5 also kills the
subprocess.

> I noticed a (very minor) typo in the history/credits given at the start of
> the installer on Windows: "IDLEfork is a separate line of development which
> was initiated by D. Scherer at CMU as part of Visual Python." It should be
> VPython, not Visual Python. The latter name existed for a relatively short
> time and was abandoned due to activity elsewhere aimed at incorporating
> support for Python in Microsoft's Visual Studio. (FYI, see
> http://vpython.org for VPython.)

And shouldn't it be *David* Scherer?

(Somehow I always mix up my Sherers and Scherwoods.  You both deserve
a lot of credit. :-)

--Guido van Rossum (home page: http://www.python.org/~guido/)