File: inf-lisp.el.html
Hacked from tea.el by Olin Shivers (shivers@cs.cmu.edu). 8/88
This file defines a lisp-in-a-buffer package (inferior-lisp mode) built on top of comint mode. This version is more featureful, robust, and uniform than the Emacs 18 version. The key bindings are also more compatible with the bindings of Hemlock and Zwei (the Lisp Machine Emacs).
Since this mode is built on top of the general command-interpreter-in- a-buffer mode (comint mode), it shares a common base functionality, and a common set of bindings, with all modes derived from comint mode. This makes these modes easier to use.
For documentation on the functionality provided by comint mode, and the hooks available for customizing it, see the file comint.el. For further information on inferior-lisp mode, see the comments below.
Needs fixing:
The load-file/compile-file default mechanism could be smarter -- it
doesn't know about the relationship between filename extensions and
whether the file is source or executable. If you compile foo.lisp
with compile-file, then the next load-file should use foo.bin for
the default, not foo.lisp. This is tricky to do right, particularly
because the extension for executable files varies so much (.o, .bin,
.lbin, .mo, .vo, .ao, ...).
It would be nice if inferior-lisp (and inferior scheme, T, ...) modes
had a verbose minor mode wherein sending or compiling defuns, etc.
would be reflected in the transcript with suitable comments, e.g.
";;; redefining fact". Several ways to do this. Which is right?
When sending text from a source file to a subprocess, the process-mark can move off the window, so you can lose sight of the process interactions. Maybe I should ensure the process mark is in the window when I send text to the process? Switch selectable?
Defined variables (17)
inferior-lisp-buffer | The current ‘inferior-lisp’ process buffer. |
inferior-lisp-filter-regexp | What not to save on inferior Lisp’s input history. |
inferior-lisp-load-command | Format-string for building a Lisp expression to load a file. |
inferior-lisp-load-hook | This hook is run when the library ‘inf-lisp’ is loaded. |
inferior-lisp-menu | Inferior Lisp Menu. |
inferior-lisp-mode-abbrev-table | Abbrev table for ‘inferior-lisp-mode’. |
inferior-lisp-mode-hook | Hook for customizing Inferior Lisp mode. |
inferior-lisp-mode-map | Keymap for ‘inferior-lisp-mode’. |
inferior-lisp-mode-syntax-table | Syntax table for ‘inferior-lisp-mode’. |
inferior-lisp-program | Program name for invoking an inferior Lisp in Inferior Lisp mode. |
inferior-lisp-prompt | Regexp to recognize prompts in the Inferior Lisp mode. |
lisp-arglist-command | Command to query inferior Lisp for a function’s arglist. |
lisp-describe-sym-command | Command to query inferior Lisp for a variable’s documentation. |
lisp-function-doc-command | Command to query inferior Lisp for a function’s documentation. |
lisp-prev-l/c-dir/file | Record last directory and file used in loading or compiling. |
lisp-source-modes | Used to determine if a buffer contains Lisp source code. |
lisp-var-doc-command | Command to query inferior Lisp for a variable’s documentation. |
Defined functions (29)
inferior-lisp | (CMD) |
inferior-lisp-menu | (ARG1) |
inferior-lisp-mode | () |
lisp-compile-defun | (&optional AND-GO) |
lisp-compile-defun-and-go | () |
lisp-compile-file | (FILE-NAME) |
lisp-compile-region | (START END &optional AND-GO) |
lisp-compile-region-and-go | (START END) |
lisp-compile-string | (STRING) |
lisp-describe-sym | (SYM) |
lisp-do-defun | (DO-STRING DO-REGION) |
lisp-eval-defun | (&optional AND-GO) |
lisp-eval-defun-and-go | () |
lisp-eval-form-and-next | () |
lisp-eval-last-sexp | (&optional AND-GO) |
lisp-eval-paragraph | (&optional AND-GO) |
lisp-eval-region | (START END &optional AND-GO) |
lisp-eval-region-and-go | (START END) |
lisp-eval-string | (STRING) |
lisp-fn-called-at-pt | () |
lisp-get-old-input | () |
lisp-input-filter | (STR) |
lisp-load-file | (FILE-NAME) |
lisp-show-arglist | (FN) |
lisp-show-function-documentation | (FN) |
lisp-show-variable-documentation | (VAR) |
lisp-symprompt | (PROMPT DEFAULT) |
run-lisp | (CMD) |
switch-to-lisp | (EOB-P) |