Input Line Editing
Doug Alan
nessus at wonko.MIT.EDU
Wed Jul 13 14:08:09 AEST 1988
In article <16456 at brl-adm.ARPA> rbj at nav.icst.nbs.gov (Root Boy Jim) writes:
> I suspect that the real place for line editing is either in the shell
> itsef (as in tcsh, ksh, (and brlsh?)) or in the kernel.
Putting line editing in the shell is wrong, because it should work in
all programs and be consistent. Putting it in the kernal is gross.
Thus, the right place to put it is precisely where Bob Pendleton wants
to put it -- in a process which gets input from the user and feeds
edited input to the user's other programs. If needed, mods to the
kernal and convention, however, should be made to make this as easy
and efficient as possible.
The same is true for output. This "termcap" stuff is a crock. There
should be a process which gets the output from programs, processes it,
and displays it. This process should be responsible for managing the
screen, and keeping track of what is on it for an entire login. Every
program having to clear the screen when it is started, so it knows
what state the screen is in, and having to have this big library
compiled in, is bogus. The ITS operating system knew better than this
decades ago. It had a decent virtual terminal system. So did MIT's
version of Tops-20 (it was in the kernal, however).
In fact, X currently does much of this. It should be made to be more
well-integrated, however. Every program should know about X, so no
program has to worry about managing the screen on its own. Perhaps X
should have input line editing added to it. Every window could have
an input editing sub-window, where the user would type and edit his
input. In fact, this is just what Apollo's do, now that I think of
it. Darn, they thought of it first!
There should also be a version of X that runs in a limitted form, but
supports the most basic features, on a normal, dumb terminal, so you
don't *have* to have a workstation to use programs that don't need
one.
|>oug /\lan
More information about the Comp.unix.wizards
mailing list