Function: inferior-lisp-mode
inferior-lisp-mode is an interactive and byte-compiled function
defined in inf-lisp.el.gz.
Signature
(inferior-lisp-mode)
Documentation
Major mode for interacting with an inferior Lisp process.
Runs a Lisp interpreter as a subprocess of Emacs, with Lisp I/O through an
Emacs buffer. Variable inferior-lisp-program controls which Lisp interpreter
is run. Variables inferior-lisp-prompt, inferior-lisp-filter-regexp and
inferior-lisp-load-command can customize this mode for different Lisp
interpreters.
For information on running multiple processes in multiple buffers, see
documentation for variable inferior-lisp-buffer.
<delete> delete-forward-char
<kp-delete> delete-forward-char
<mouse-2> comint-insert-input
C-<down> comint-next-input
C-<up> comint-previous-input
C-M-l comint-show-output
C-M-q indent-sexp
C-M-q prog-indent-sexp
C-c . comint-insert-previous-argument
C-c C-\ comint-quit-subjob
C-c C-a lisp-show-arglist
C-c C-c comint-interrupt-subjob
C-c C-d lisp-describe-sym
C-c C-e comint-show-maximum-output
C-c C-f lisp-show-function-documentation
C-c C-k lisp-compile-file
C-c C-l lisp-load-file
C-c C-n comint-next-prompt
C-c C-o comint-delete-output
C-c C-p comint-previous-prompt
C-c C-r comint-show-output
C-c C-s comint-write-output
C-c C-u comint-kill-input
C-c C-v lisp-show-variable-documentation
C-c C-w backward-kill-word
C-c C-x comint-get-next-from-history
C-c C-z comint-stop-subjob
C-c M-o comint-clear-buffer
C-c M-r comint-previous-matching-input-from-input
C-c M-s comint-next-matching-input-from-input
C-c RET comint-copy-old-input
C-c SPC comint-accumulate
C-d comint-delchar-or-maybe-eof
C-x <up> comint-complete-input-ring
C-x C-e lisp-eval-last-sexp
DEL backward-delete-char-untabify
M-n comint-next-input
M-p comint-previous-input
M-q prog-fill-reindent-defun
M-r comint-history-isearch-backward-regexp
RET comint-send-input
Customization: Entry to this mode runs the hooks on comint-mode-hook and
inferior-lisp-mode-hook (in that order).
You can send text to the inferior Lisp process from other buffers containing
Lisp source.
switch-to-lisp switches the current buffer to the Lisp process buffer.
lisp-eval-defun sends the current defun to the Lisp process.
lisp-compile-defun compiles the current defun.
lisp-eval-region sends the current region to the Lisp process.
lisp-compile-region compiles the current region.
Prefixing the lisp-eval/compile-defun/region commands with
a C-u (universal-argument) causes a switch to the Lisp process buffer after sending
the text.
Commands:RET (comint-send-input) after the end of the process' output sends the text from the
end of process to point.
RET (comint-send-input) before the end of the process' output copies the sexp ending at point
to the end of the process' output, and sends it.
C-c RET (comint-copy-old-input) copies the sexp ending at point to the end of the process' output,
allowing you to edit it before sending it.
If comint-use-prompt-regexp is nil (the default), <mouse-2> (comint-insert-input) on old input
copies the entire old input to the end of the process' output, allowing
you to edit it before sending it. When not used on old input, or if
comint-use-prompt-regexp is non-nil, <mouse-2> (comint-insert-input) behaves according to
its global binding.
DEL (backward-delete-char-untabify) converts tabs to spaces as it moves back.
M-x lisp-indent-line (lisp-indent-line) indents for Lisp; with argument, shifts rest
of expression rigidly with the current line.
C-M-q (indent-sexp) does M-x lisp-indent-line (lisp-indent-line) on each line starting within following expression.
Paragraphs are separated only by blank lines. Semicolons start comments.
If you accidentally suspend your process, use M-x comint-continue-subjob (comint-continue-subjob)
to continue it.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/inf-lisp.el.gz
(define-derived-mode inferior-lisp-mode comint-mode "Inferior Lisp"
"Major mode for interacting with an inferior Lisp process.
Runs a Lisp interpreter as a subprocess of Emacs, with Lisp I/O through an
Emacs buffer. Variable `inferior-lisp-program' controls which Lisp interpreter
is run. Variables `inferior-lisp-prompt', `inferior-lisp-filter-regexp' and
`inferior-lisp-load-command' can customize this mode for different Lisp
interpreters.
For information on running multiple processes in multiple buffers, see
documentation for variable `inferior-lisp-buffer'.
\\{inferior-lisp-mode-map}
Customization: Entry to this mode runs the hooks on `comint-mode-hook' and
`inferior-lisp-mode-hook' (in that order).
You can send text to the inferior Lisp process from other buffers containing
Lisp source.
`switch-to-lisp' switches the current buffer to the Lisp process buffer.
`lisp-eval-defun' sends the current defun to the Lisp process.
`lisp-compile-defun' compiles the current defun.
`lisp-eval-region' sends the current region to the Lisp process.
`lisp-compile-region' compiles the current region.
Prefixing the lisp-eval/compile-defun/region commands with
a \\[universal-argument] causes a switch to the Lisp process buffer after sending
the text.
Commands:\\<inferior-lisp-mode-map>
\\[comint-send-input] after the end of the process' output sends the text from the
end of process to point.
\\[comint-send-input] before the end of the process' output copies the sexp ending at point
to the end of the process' output, and sends it.
\\[comint-copy-old-input] copies the sexp ending at point to the end of the process' output,
allowing you to edit it before sending it.
If `comint-use-prompt-regexp' is nil (the default), \\[comint-insert-input] on old input
copies the entire old input to the end of the process' output, allowing
you to edit it before sending it. When not used on old input, or if
`comint-use-prompt-regexp' is non-nil, \\[comint-insert-input] behaves according to
its global binding.
\\[backward-delete-char-untabify] converts tabs to spaces as it moves back.
\\[lisp-indent-line] indents for Lisp; with argument, shifts rest
of expression rigidly with the current line.
\\[indent-sexp] does \\[lisp-indent-line] on each line starting within following expression.
Paragraphs are separated only by blank lines. Semicolons start comments.
If you accidentally suspend your process, use \\[comint-continue-subjob]
to continue it."
(setq comint-prompt-regexp inferior-lisp-prompt)
(setq mode-line-process '(":%s"))
(lisp-mode-variables)
(set-syntax-table lisp-mode-syntax-table)
(setq comint-get-old-input (function lisp-get-old-input))
(setq comint-input-filter (function lisp-input-filter)))