POSIX bashing (actually cooked vs raw or cbreak mode)
Jonathan I. Kamens
jik at athena.mit.edu
Fri Apr 12 00:05:08 AEST 1991
In article <1991Apr10.192226.24909 at world.std.com>, geoff at world.std.com (Geoff Collyer) writes:
|> Curtis Yarvin:
|> >Isn't it better to get the choice out of the kernel, and let each
|> >application decide what it wants?
|>
|> No, it isn't. The last thing I want is each application having a
|> different idea of what I have to type to erase input (for example).
The point, Geoff, which I tried to make in my earlier reference to Multics
(although perhaps the reference was missed by many people who are not familiar
with how Multics does what I was talking about), is that it is possible to
*both* remove the input processing from the Kernel, *and* allow a uniform
input interface for all clients.
The way Multics did things was by allowing users to plug their own input
interface library in between the terminal and whatever programs they were
running. That library could include line-editing, history editing, and
anything else the user chose to write into it. The programs being run didn't
control how the input editing happening, the user did when putting his chosen
editing interface into place.
(I've probably got the terminology all wrong above, since I never programmed
under Multics and don't remember all the words they used instead of what we
use under Unix, but you get the idea. :-)
Now, I've never programmed with streams, but I was under the impression that
it's possible to use them to do something like this. Can't the user write a
streams driver that does his line-editing, etc. for him, and set the tty to
use that driver by default, so that applications that don't muck with the line
discipline will automatically have whatever interface the user installs? In
my opinion, this is the right direction to go. And, as I said in my previous
message, Multics was doing it long ago.
--
Jonathan Kamens USnail:
MIT Project Athena 11 Ashford Terrace
jik at Athena.MIT.EDU Allston, MA 02134
Office: 617-253-8085 Home: 617-782-0710
More information about the Comp.unix.wizards
mailing list