[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

response to "emacs interface to franz?"

Here are the responses that I received to my question "What's out
there for emacs?"  

------- Forwarded Messages

Received: From SU-SCORE by RAND-UNIX at Mon Jan 24 23:41:37 1983
Original-Date: Mon 24 Jan 83 22:43:01-PST
Date: Tue, 25 Jan 83 06:43:01 GMT
Subject: Re: emacs interface to franz?
In-Reply-To: Your message of Mon 24 Jan 83 18:49:21-PST

I'm sure you've probably received several messages similar to this one,
but just in case...

There exists the capability in Unix Emacs to run a process in its own
buffer.  Typein can be directed to the process, and output is just sent
right to the buffer.  This is an excellent way of running Lisp, because 
you get all of the nice Emacs features (paren balancing, local sexpr
editing) at essentially no cost.  I have been largely unsuccessful with
trying to run Emacs under Lisp.

The process package is part of the standard Unix Emacs distribution.

Jay Lark

------- Message 2

Received: From UTAH-CS by RAND-UNIX at Tue Jan 25 07:01:36 1983
Original-Date: 25 Jan 1983 7:20-MST
Date: Tue, 25 Jan 83 14:20:00 GMT
From: Russ Fish <utah-gr!fish@UTAH-CS> (host
Subject: Re: emacs interface to franz?
To: mike@RAND-UNIX
Cc: utah-gr!galway@UTAH-CS
In-Reply-To: mike's message of Monday, 24 Jan 1983 15:34-PST

We have been running our PSL (Portable Standard Lisp) in gemacs
(Gosling's emacs) windows for some time.  I suspect it would be a minor
hack to convert it to Franz, but haven't done it and am not a Franz
user.  I could mail you our .ml code if you wanted to undertake
converting it to Franz (or just using it for inspiration and hacking
your own) and distributing it to Franz folks.

It works like this:  The lisp process is associated with a gemacs
buffer/window.  In that window you can carry on a normal line-by-line
conversation, if you wish.  <CR> sends the current line, (back to mark,
which is left after the prompt) into the lisp.  We mostly use the PSL
in Rlisp syntax, which is algol-like, but this part of the code is just
a wrapping for the new-shell function in process.ml with appropriate
editting syntax set, so you could do the same with no work for any

You can send an expression, fn def, etc. from any other lisp-mode
window with a single keypress.  Echoing as input in the dialog window
is inhibited if a prefix arg is provided, so you don't have to look at
long exprs or fn defs again, just the lisp response.  

Sending multiple line exprs in response to a single prompt depends on
the fact that PSL numbers the prompts for history, like the c-shell.  A
gemacs mlisp output filter process monitors the output for toploop
prompts and feeds another line of input if the same prompt number comes
back, instead of printing the prompt.

The result is pretty classy.  You get the full many-window gemacs
editing environment with tags, etc. for random-access navigation and
just send chunks of code as you change them.  The extreme of usage is
"menu" like windows which contain debugging code in clusters rather
than sequences.  You select exprs with the cursor and send them in any

We also provide key fns for the common case of sending single lines to
the toploop or single-character commands to the break-loop without
editting them into a buffer.

Best respond directly to me, since I am not on Franz-Friends.

-Russ Fish  (Fish@Utah-20, utah-cs!fish)

------- Message 3

Received: From UDEL-RELAY by RAND-UNIX at Tue Jan 25 18:18:55 1983
Return-Path: <israel.umcp-cs@UDel-Relay>
Original-Date:     25 Jan 83 15:13:51 EST  (Tue)
Date: Tue, 25 Jan 83 20:13:51 GMT
From: Bruce Israel <israel.umcp-cs@UDel-Relay>
Subject:  Re:  emacs interface to franz?
To: mike@RAND-UNIX
In-Reply-To: Message of Monday, 24 Jan 1983 15:34-PST from mike@RAND-UNIX
Via:  UMCP-CS; 25 Jan 83 20:45-EST

We have a few franz<->emacs interfaces, but I'm not sure what you mean.
One is the process.ml package that comes with gosling's emacs (the emacs
that I assume you are talking about).  With this package, you can run
franz inside a window from within emacs and have the facilities of an
editor along with lisp.  The other thing we have is a local Franz
package called the load1 package.  This package was written for
compiling flavors (like in the lisp machine; another local package)
and has a function called vi.  (vi 'lisp-function) will call the
editor (from the environment variable VISUAL, /usr/ucb/vi is default) on the
file which contains the definition of the lisp function, positioning
the editor at the point in the file where the function is defined.  Upon
exiting the editor, it asks you if you want to reload the modified file.
To edit a function from a file this way, the file must have been load1'ed
previously so that the info on where the function is stored and what type
it is will have been saved.  Load1 will distinguish between different
types of functions, ie. defflavors, defmethods, defmacros, defuns etc.
and will search for the correct definition in the file.  Is this what
you mean?  If you like I can send you the four or five files necessary.
- Bruce

------- Message 4

Received: From CMU-CS-VLSI by RAND-UNIX at Thu Jan 27 06:53:41 1983
Original-Date: 27 Jan 1983 09:44-EST
Date: Thu, 27 Jan 83 14:44:00 GMT
From: Carl.Ebeling@CMU-CS-VLSI
Subject: Re: emacs interface to franz?
To: mike@RAND-UNIX
Message-Id: <412526661/ce@CMU-CS-VLSI>
In-Reply-To: mike@RAND-UNIX's bboard message of 27-Jan-83 04:14    

I have an electric lisp package and process package for emacs.  It
includes 'zap-function-to-lisp' among other things.  It is for
Gosling's emacs and uses the subprocess facility.  I can mail them to
you if you like.

------- End of Forwarded Messages