Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!usc!snorkelwacker.mit.edu!bloom-picayune.mit.edu!athena.mit.edu!jik From: jik@athena.mit.edu (Jonathan I. Kamens) Newsgroups: comp.unix.wizards Subject: Re: POSIX bashing (actually cooked vs raw or cbreak mode) Message-ID: <1991Apr11.140508.9012@athena.mit.edu> Date: 11 Apr 91 14:05:08 GMT References: <3419@unisoft.UUCP> <5980071@hpfcdc.HP.COM> <3446@unisoft.UUCP> <15621@smoke.brl.mil> <70319@brunix.UUCP> <3478@unisoft.UUCP> <71479@brunix.UUCP> <1991Apr10.192226.24909@world.std.com> Sender: news@athena.mit.edu (News system) Organization: Massachusetts Institute of Technology Lines: 38 In article <1991Apr10.192226.24909@world.std.com>, geoff@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@Athena.MIT.EDU Allston, MA 02134 Office: 617-253-8085 Home: 617-782-0710