separate the command language and interactive she

John R. MacMillan john at sco.COM
Fri May 3 03:10:36 AEST 1991


|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<ESC><ESC>", 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<ESC><ESC>", 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...



More information about the Comp.unix.shell mailing list