%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/progmodes/ |
Current File : //usr/local/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' \316\317 \"\210\320\f!\211\2036 \321 =\203<