(emacs.info) External Lisp

Info Catalog (emacs.info) Lisp Eval (emacs.info) Building
 
 Running an External Lisp
 ========================
 
    Emacs has facilities for running programs in other Lisp systems.
 You can run a Lisp process as an inferior of Emacs, and pass
 expressions to it to be evaluated.  You can also pass changed function
 definitions directly from the Emacs buffers in which you edit the Lisp
 programs to the inferior Lisp process.
 
    To run an inferior Lisp process, type `M-x run-lisp'.  This runs the
 program named `lisp', the same program you would run by typing `lisp'
 as a shell command, with both input and output going through an Emacs
 buffer named `*lisp*'.  That is to say, any "terminal output" from Lisp
 will go into the buffer, advancing point, and any "terminal input" for
 Lisp comes from text in the buffer.  (You can change the name of the
 Lisp executable file by setting the variable `inferior-lisp-program'.)
 
    To give input to Lisp, go to the end of the buffer and type the
 input, terminated by <RET>.  The `*lisp*' buffer is in Inferior Lisp
 mode, which combines the special characteristics of Lisp mode with most
 of the features of Shell mode ( Shell Mode).  The definition of
 <RET> to send a line to a subprocess is one of the features of Shell
 mode.
 
    For the source files of programs to run in external Lisps, use Lisp
 mode.  This mode can be selected with `M-x lisp-mode', and is used
 automatically for files whose names end in `.l', `.lsp', or `.lisp', as
 most Lisp systems usually expect.
 
    When you edit a function in a Lisp program you are running, the
 easiest way to send the changed definition to the inferior Lisp process
 is the key `C-M-x'.  In Lisp mode, this runs the function
 `lisp-eval-defun', which finds the defun around or following point and
 sends it as input to the Lisp process.  (Emacs can send input to any
 inferior process regardless of what buffer is current.)
 
    Contrast the meanings of `C-M-x' in Lisp mode (for editing programs
 to be run in another Lisp system) and Emacs-Lisp mode (for editing Lisp
 programs to be run in Emacs): in both modes it has the effect of
 installing the function definition that point is in, but the way of
 doing so is different according to where the relevant Lisp environment
 is found.   Executing Lisp.
 
Info Catalog (emacs.info) Lisp Eval (emacs.info) Building
automatically generated by info2html