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

Guido van Rossum guido@python.org
Tue, 07 Mar 2000 12:04:42 -0500


> Yes, it would probably get clunky. An advantage of a seperate input area
> would be that you could for instance enter an entire class definition
> (including newlines between or in methods) at once, something the
> current shell doesn't allow.

Hm, interesting.  It *almost* lets you do that.  You can actually
paste in an entire class, but you can't enter one by typing: you'd
have to put comment signs on the blank lines.

> Disadvantage of that is that you need somekind
> of special button or key combo to 'enter' the code, instead of the
> enter key. This will likely get terribly clunky.

And this is exactly why I like the shell mode so much: the return
usually does what you want.

> I myself do feel the same confusion if I use certain mud clients that
> seperate input from output. 'tinyfugue' (a command line mud client) allows
> both options; you can set an option to have a special input area or you
> can just use the bottom line.

I've never used muds, but I've seen a few of the interfaces and they
look tedious to use.  Like chats, really (also never used, but seen).

> > 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.
> 
> Yes, that's the tinytugue model (with 'visual off') too. I'd be comfortable
> with that myself.

Am I really supposed to know what tinytugue is?  Don't tell me unless
it's relevant to this discussion. :-)

> Sounds good to me. What about bash/readline style history behavior? i.e.
> press the 'up' key and you go through your history?

That would come naturally.

> Emulating 'bash' style behavior would also fix the backspace trouble I 
> described earlier; in a bash shell you can't backspace through its 
> prompt. :)

I don't care about emulating bash exactly, but I plan to make
everything in the buffer up to and including the prompt read-only, so
this would have the same effect.

Those shell folks knew what they were doing!

(Note that bash didn't invent any of this; ksh was way earlier, and
maybe tcsh is even older.  It's just that bash is the form that people
are most familiar with.)

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