Current File : //kunden/usr/share/emacs/27.2/lisp/progmodes/inf-lisp.elc |
;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\310\311\312&\210\313\314\315\316\317\320\307\304&\207" [require comint lisp-mode custom-declare-group inferior-lisp nil "Run an outside Lisp in an Emacs buffer." :group lisp :version "22.1" custom-declare-variable inferior-lisp-filter-regexp "\\`\\s *\\(:\\(\\w\\|\\s_\\)\\)?\\s *\\'" "What not to save on inferior Lisp's input history.\nInput matching this regexp is not saved on the input history in Inferior Lisp\nmode. Default is whitespace followed by 0 or 1 single-letter colon-keyword\n(as in :a, :c, etc.)" :type regexp] 8)
(defvar inferior-lisp-mode-map (byte-code "\303!\304 \n\"\210\305 \306\307#\210\305 \310\311#\210\305 \312\313#\210\305 \314\315#\210\305 \316\317#\210\305 \320\321#\210\305 \322\323#\210 )\207" [comint-mode-map map lisp-mode-shared-map copy-keymap set-keymap-parent define-key "" lisp-eval-last-sexp "\f" lisp-load-file "" lisp-compile-file "" lisp-show-arglist "" lisp-describe-sym "" lisp-show-function-documentation "" lisp-show-variable-documentation] 4))
#@20 Inferior Lisp Menu
(defvar inferior-lisp-menu nil (#$ . 1478))
(byte-code "\302\303\304\305$\210\306 \307\310#\210\306 \311\312#\210\306 \313\310#\210\306 \314\315#\210\306 \316\317#\210\306 \320\321#\210\306 \322\323#\210\306 \324\325#\210\306 \326\327#\210\306 \330\331#\210\306 \332\333#\210\306 \334\335#\210\306 \336\337#\210\306 \340\341#\207" [inferior-lisp-mode-map lisp-mode-map easy-menu-do-define inferior-lisp-menu "Inferior Lisp Menu" ("Inf-Lisp" ["Eval Last Sexp" lisp-eval-last-sexp t] "--" ["Load File..." lisp-load-file t] ["Compile File..." lisp-compile-file t] "--" ["Show Arglist..." lisp-show-arglist t] ["Describe Symbol..." lisp-describe-sym t] ["Show Documentation for Function..." lisp-show-function-documentation t] ["Show Documentation for Variable..." lisp-show-variable-documentation t]) define-key "\230" lisp-eval-defun "" lisp-eval-last-sexp "" "" lisp-eval-region "" lisp-eval-form-and-next "" lisp-eval-paragraph "" lisp-compile-defun "" switch-to-lisp "\f" lisp-load-file "" lisp-compile-file "" lisp-show-arglist "" lisp-describe-sym "" lisp-show-function-documentation "" lisp-show-variable-documentation] 5)
(defalias 'inferior-lisp-install-letter-bindings #[nil "\302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\302\313\314#\210\302\315\316#\210\302\317\320#\210\302\321\322#\210\302\323\324#\210\302\325\326#\210\302 \313\314#\210\302 \315\316#\210\302 \317\320#\210\302 \321\322#\210\302 \323\324#\210\302 \325\326#\207" [lisp-mode-map inferior-lisp-mode-map define-key "e" lisp-eval-defun-and-go "r" lisp-eval-region-and-go "c" lisp-compile-defun-and-go "z" switch-to-lisp "l" lisp-load-file "k" lisp-compile-file "a" lisp-show-arglist "d" lisp-describe-sym "f" lisp-show-function-documentation "v" lisp-show-variable-documentation] 4])
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\305\306\307&\210\300\313\314\315\304\316\306\307&\207" [custom-declare-variable inferior-lisp-program "lisp" "Program name for invoking an inferior Lisp in Inferior Lisp mode." :type string :group inferior-lisp inferior-lisp-load-command "(load \"%s\")\n" "Format-string for building a Lisp expression to load a file.\nThis format string should use `%s' to substitute a file name\nand should result in a Lisp expression that will command the inferior Lisp\nto load that file. The default works acceptably on most Lisps.\nThe string \"(progn (load \\\"%s\\\" :verbose nil :print t) (values))\\n\"\nproduces cosmetically superior output for this application,\nbut it works only in Common Lisp." inferior-lisp-prompt "^[^> \n]*>+:? *" "Regexp to recognize prompts in the Inferior Lisp mode.\nDefaults to \"^[^> \\n]*>+:? *\", which works pretty good for Lucid, kcl,\nand franz. This variable is used to initialize `comint-prompt-regexp' in the\nInferior Lisp buffer.\n\nThis variable is only used if the variable\n`comint-use-prompt-regexp' is non-nil.\n\nMore precise choices:\nLucid Common Lisp: \"^\\\\(>\\\\|\\\\(->\\\\)+\\\\) *\"\nfranz: \"^\\\\(->\\\\|<[0-9]*>:\\\\) *\"\nkcl: \"^>+ *\"" regexp] 8)
#@1673 *The current inferior-lisp process buffer.
MULTIPLE PROCESS SUPPORT
===========================================================================
To run multiple Lisp processes, you start the first up
with \[inferior-lisp]. It will be in a buffer named `*inferior-lisp*'.
Rename this buffer with \[rename-buffer]. You may now start up a new
process with another \[inferior-lisp]. It will be in a new buffer,
named `*inferior-lisp*'. You can switch between the different process
buffers with \[switch-to-buffer].
Commands that send text from source buffers to Lisp processes --
like `lisp-eval-defun' or `lisp-show-arglist' -- have to choose a process
to send to, when you have more than one Lisp process around. This
is determined by the global variable `inferior-lisp-buffer'. Suppose you
have three inferior Lisps running:
Buffer Process
foo inferior-lisp
bar inferior-lisp<2>
*inferior-lisp* inferior-lisp<3>
If you do a \[lisp-eval-defun] command on some Lisp source code,
what process do you send it to?
- If you're in a process buffer (foo, bar, or *inferior-lisp*),
you send it to that process.
- If you're in some other buffer (e.g., a source file), you
send it to the process attached to buffer `inferior-lisp-buffer'.
This process selection is performed by function `inferior-lisp-proc'.
Whenever \[inferior-lisp] fires up a new process, it resets
`inferior-lisp-buffer' to be the new process's buffer. If you only run
one process, this does the right thing. If you run multiple
processes, you might need to change `inferior-lisp-buffer' to
whichever process buffer you want to use.
(defvar inferior-lisp-buffer nil (#$ . -4608))
#@42 Hook for customizing Inferior Lisp mode.
(defvar inferior-lisp-mode-hook nil (#$ . 6333))
(put 'inferior-lisp-mode 'mode-class 'special)
(defvar inferior-lisp-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [inferior-lisp-mode-hook variable-documentation put "Hook run after entering Inferior Lisp mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp inferior-lisp-mode-map definition-name inferior-lisp-mode] 4)
(defvar inferior-lisp-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204 \303\307\310\311#\210\312\313 !\210\307\302N\204- \303\307\302\304\314!#\210\306\300!\204B \303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P \303\300\302\304\320!#\210\303\311\321\322#\207" [inferior-lisp-mode-abbrev-table inferior-lisp-mode-map variable-documentation put purecopy "Keymap for `inferior-lisp-mode'." boundp inferior-lisp-mode-syntax-table definition-name inferior-lisp-mode (lambda (#1=#:def-tmp-var) (defvar inferior-lisp-mode-syntax-table #1#)) make-syntax-table "Syntax table for `inferior-lisp-mode'." (lambda (#1#) (defvar inferior-lisp-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `inferior-lisp-mode'." derived-mode-parent comint-mode] 5)
#@2437 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.
(defalias 'inferior-lisp-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204'