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)))