Newsgroups: comp.unix.shell Path: utzoo!utgpu!news-server.csri.toronto.edu!torsqnt!lethe!comspec!scocan!john From: john@sco.COM (John R. MacMillan) Subject: Re: separate the command language and interactive she Organization: SCO Canada, Inc. Date: Thu, 02 May 1991 17:10:36 GMT Message-ID: <1991May02.171036.23843@sco.COM> References: <2509@optima.cs.arizona.edu> <3496@wn1.sci.kun.nl> Sender: news@sco.COM (News administration) |Sorry for injection some facts into an otherwise useful theoretical |discussion, but in 1987 (according to the copyright notice) Kazumasa |Utashiro of Software Research Associates, Inc. wrote a nice "ish" |called "fep" (for Front End Processor). It's invocation is | | [...] | |Conclusions: |1. It Can Be Done. |2. The clang doesn't have to know about the ish. The problem is that ideally, there are some ish-y functions which require information that the clang has. Completion is an example. In an ish that wants to do file name completion, it must know clang's current directory. Most of the fep-like programs I've seen do this in some really ugly manner. IMHO, what is needed is a good widely portable ish with a well-defined protocol so that cooperative clangs can work well with them. I envision something like the following: user starts "ish -emacs fsh". Ish advertises a communications channel, and starts a friendly sh, which notices the communications channel. User types "cdb pro", and ish passes "cdb pro" down the communication channel (probably with some other info). Fsh completes to "cdb program", gives it back to ish. User hits return, and fsh starts the cooperating debugger, which notices the communications channel. User types "break fun", down the channel it goes, fsh isn't listening because it's waiting for cdb, but cdb completes it to "break function", and passes it back. Obviously, there are other details, but that's basically what I'd like to see. So many projects, so little time...