[Idle-dev] IDLE "shell" (was: IDLE interpreter window)

Guido van Rossum guido@python.org
Tue, 07 Mar 2000 11:06:24 -0500


> So, in brief, one area for input and the rest for "stuff I've done/stuff
> that has happened".

I've worked with systems where the input and output area were
phyisically separate, and they confused me.

But I do like the bash-in-an-xterm model (For Windows 9x users,
DOSKEY; for NT users, a DOS box): it looks like a single text area,
and you can select text anywhere with the mouse for copying, but you
can only ever edit the current command line.

> I find the IDLE/etc. model confusing because it intertwingles these two
> ideas. I can never remember quite what is going to happen if I move the
> cursor up (hmm - no, it doesn't scroll stuff in my bottom line - oh dear, so
> it's not like my "normal" shell - but it is *labelled* as a shell), whether
> it matters if I'm at the end of a line when I hit "return", what happens if
> I try to edit a line in my past history (!!! what a concept !!!) and then
> hit return, and so on. I can't remember if you can do that last in IDLE, but
> it can be a major confusion in [X]Emacs - the past is no longer what it was!
> 
> Sorry for the long post - does that make any sense?
> 
> (BTW: regardless, IDLE and PythonWin are seriously neat, and I *especially*
> love having my interactive session stuff colourised)

My plan is for the next version of IDLE to *look* exactly the way it
currently looks, but to completely disallow you from editing the text
before the beginning of the current command.  This shouldn't be too
hard (the undo framework already intercepts all changes, all I have to
do is add a hook that rejects certain changes).

This is, by the way, how DrScheme's interactive buffer works.  I
played with it a bit and I like it.  If only Matthias wasn't such a
curmudgeon. :-)

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