Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!purdue!bu-cs!bloom-beacon!athena.mit.edu!jik From: jik@athena.mit.edu (Jonathan I. Kamens) Newsgroups: comp.unix.questions Subject: Where Goeth the Line-editing? (was Re: Strangeness in shell) Message-ID: <13303@bloom-beacon.MIT.EDU> Date: 6 Aug 89 18:50:37 GMT References: <432@mccc.UUCP> <9700009@osiris.cso.uiuc.edu> <2277@auspex.auspex.com> <10639@smoke.BRL.MIL> <5404@ficc.uu.net> <10650@smoke.BRL.MIL> <673@skye.ed.ac.uk> Sender: daemon@bloom-beacon.MIT.EDU Reply-To: jik@athena.mit.edu (Jonathan I. Kamens) Organization: Massachusetts Institute of Technology Lines: 28 A good place to look for an example of one way to have a uniform line-editing interface is in Multics (Multics people correct me if I'm wrong, because I'm writing this second-hand -- I never even got to login to MIT Multics before it went away :-(). In multics, it was possible to install a driver that lived at the gateway between the actual terminal and user processes. This driver would intercept and process *all* input before sending it to the process. Therefore, if you wrote a line-editing driver and installed it, it would work for *every* program on the system, without fail. There were, of course, ways to turn off the line-editing features for programs that needed character-by-character input. So Multics did what several people have been suggesting -- make the terminal editing capabilities separate both from the program and the actual terminal by putting it in a driver that can be modified or replaced by the user. Wouldn't it be great if you could use line-editing in ed? History substitution? Wouldn't it be great if all of the shells used the same characters and commands for history substitution and command-line editing? You get the idea.... Jonathan Kamens USnail: MIT Project Athena 432 S. Rose Blvd. jik@Athena.MIT.EDU Akron, OH 44320 Office: 617-253-4261 Home: 216-869-6432