;ELC ;;; compiled by rms@mole.gnu.ai.mit.edu on Fri Jun 10 19:05:46 1994 ;;; from file /gd/gnu/emacs/19.0/lisp/ielm.el ;;; emacs version 19.25.3. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`/gd/gnu/emacs/19.0/lisp/ielm.el' was compiled for Emacs 19")) (byte-code "ÀÁ!ˆÀÂ!‡" [require comint pp] 2) (defvar ielm-noisy t "\ *If non-nil, IELM will beep on error.") (defvar ielm-prompt "ELISP> " "\ Prompt used in IELM.") (defvar ielm-dynamic-return t "\ *Controls whether \\\\[ielm-return] has intelligent behaviour in IELM. If non-nil, \\[ielm-return] evaluates input for complete sexps, or inserts a newline and indents for incomplete sexps. If nil, always inserts newlines.") (defvar ielm-dynamic-multiline-inputs t "\ *Force multiline inputs to start from column zero? If non-nil, after entering the first line of an incomplete sexp, a newline will be inserted after the prompt, moving the input to the next line. This gives more frame width for large indented sexps, and allows functions such as `edebug-defun' to work with such inputs.") (defvar ielm-mode-hook nil "\ *Hooks to be run when IELM (`inferior-emacs-lisp-mode') is started.") (defvar ielm-working-buffer nil "\ Buffer in which IELM sexps will be evaluated. This variable is buffer-local.") (defvar ielm-header (byte-code "ÀÁÂÃOÄÅR‡" ["*** Welcome to IELM version " "$Revision: 1.3 $" 11 -2 " *** Type (describe-mode) for help.\n" "IELM has ABSOLUTELY NO WARRANTY; type (describe-no-warranty) for details.\n"] 4) "\ Message to display when IELM is started.") (byte-code "ÀÁ!„ „fÃÄ \"ƒÆ Ç \"ˆ‚$ÉBÊ ËÌ#ˆÊ ÍÎ#ˆÊ ÏÐ#ˆÊ ÑÒ#ˆÊ ÓÔ#ˆÊ ÕÖ#ˆÊ ×Ø#ˆÊ ÙÚ#ˆÊ ÛÜ#ˆÊ ÝÞ#ˆÊ ßà#ˆÂ‡" [boundp ielm-map nil string-match "Lucid" emacs-version make-sparse-keymap set-keymap-parent comint-mode-map keymap define-key " " comint-dynamic-complete " " ielm-return "\n" ielm-send-input "" eval-defun " " lisp-complete-symbol "" indent-sexp "q" lisp-fill-paragraph "" backward-delete-char-untabify "" ielm-change-working-buffer "" ielm-display-working-buffer "" ielm-print-working-buffer] 4) (defalias 'ielm-tab #[nil "hÀ=„ hzÁ=… ˆÃ‡" [10 32 ielm-indent-line t] 2 "\ Possibly indent the current line as lisp code." nil]) (defalias 'ielm-complete-symbol #[nil "À ÂÃ!‰…À\f!Æ ˆ À U?†*\fƒ' À\f!U?‚*ÂÃ!+‡" [buffer-modified-tick btick get-buffer "*Completions*" cbuffer ctick lisp-complete-symbol] 4 "\ Complete the lisp symbol before point."]) (defalias 'ielm-complete-filename #[nil "ÀÁ\n`\"8… à ‡" [3 parse-partial-sexp comint-last-input-start comint-dynamic-complete-filename] 4 "\ Dynamically complete filename before point, if in a string."]) (defalias 'ielm-indent-line #[nil "ŠÀyˆÁ\n!)?…à ‡" [0 looking-at comint-prompt-regexp lisp-indent-line] 2 "\ Indent the current line as Lisp code if it is not a prompt line."]) (defalias 'ielm-print-working-buffer #[nil "ÀÁ !\"‡" [message "The current working buffer is: %s" buffer-name ielm-working-buffer] 4 "\ Print the current IELM working buffer's name in the echo area." nil]) (defalias 'ielm-display-working-buffer #[nil "À !ˆÂ ‡" [display-buffer ielm-working-buffer ielm-print-working-buffer] 2 "\ Display the current IELM working buffer. Don't forget that selecting that buffer will change its value of `point' to its value of `window-point'!" nil]) (defalias 'ielm-change-working-buffer #[(buf) "À !† ÂÃ!Å ‡" [get-buffer buf error "No such buffer" ielm-working-buffer ielm-print-working-buffer] 2 "\ Change the current IELM working buffer to BUF. This is the buffer in which all sexps entered at the IELM prompt are evaluated. You can achieve the same effect with a call to `set-buffer' at the IELM prompt." "bSet working buffer to: "]) (defalias 'ielm-return #[nil "ƒ@ŠÁˆÂà `\")‰@ÅWƒ!Æ\f8„!Ç ‚>ƒ<ŠÉyˆÊ !)ƒ<ŠÃ bˆÌÅ!ˆ)Í )‡Ì ‡" [ielm-dynamic-return nil parse-partial-sexp ielm-pm state 1 3 ielm-send-input ielm-dynamic-multiline-inputs 0 looking-at comint-prompt-regexp newline newline-and-indent] 4 "\ Newline and indent, or evaluate the sexp before the prompt. Complete sexps are evaluated; for incomplete sexps inserts a newline and indents. If however `ielm-dynamic-return' is nil, this always simply inserts a newline." nil]) (defalias (quote ielm-input-sender) #[(proc input) "‰‡" [input ielm-input] 2]) (defalias 'ielm-send-input #[nil "pÀà ˆÄ !*‡" [nil ielm-input buf comint-send-input ielm-eval-input] 2 "\ Evaluate the Emacs Lisp expression after the prompt." nil]) (defalias 'ielm-is-whitespace #[(string) "Á˜†\nÂÃ\"‡" [string "" string-match "\\`[ \n]+\\'"] 3 "\ Return non-nil if STRING is all whitespace."]) (byte-code "ÀÁÂ\"ˆÀÃÄ\"‡" [defalias ielm-format-errors #[(errlist) "À\nƒ Ã\n@!ÄQ\nA‰„ ÅÆO)‡" ["" result errlist prin1-to-string ", " 0 -2] 4] ielm-format-error #[(err) "ÀÁ\n@ÃN†\nÄ\nAƒÀÅÆ\nA!\"‚Ç#‡" [format "%s%s" err error-message "Peculiar error" ": %s" ielm-format-errors ""] 7]] 3) (defalias 'ielm-eval-input #[(ielm-string) "À‰‰‰Á\nà  \nË\f!„«ÍÎψ„`Ð\n!„6ÑÒp‚`Ë\f ÀO!ƒZŠ\nqˆÍÙÚˆ,‚`ÛÜ \n=„mÝÞ \"ˆ \fbˆ„zÍßàˆƒ™!ƒ‡â ˆãäR‰P‚¥åP&Pçè \".‡" [nil "" ielm-working-buffer ielm-pm ielm-pmark ielm-wbuf ielm-output ielm-error-type ielm-result ielm-pos ielm-form ielm-is-whitespace ielm-string err (byte-code "À !‰@ A)À‡" [nil rout read-from-string ielm-string ielm-form ielm-pos] 3) ((error (byte-code "À !ÃÀ‡" [ielm-format-error err ielm-result "Read error" ielm-error-type] 2))) buffer-name "Working buffer has been killed" "IELM Error" : :: ::: :::save ::save :save (byte-code " \npÇ! p\n qˆ,LJ" [:save ::save :::save ielm-obuf ::: :: : eval ielm-form ielm-result ielm-wbuf] 4) ((error (byte-code "À !ÃÀ‡" [ielm-format-error err ielm-result "Eval error" ielm-error-type] 2)) (quit (byte-code "ÀÂć" ["Quit during evaluation" ielm-result "Eval error" ielm-error-type nil] 1))) "IELM error" "More than one sexp in input" message "current buffer is now: %s" (byte-code "Á\n!PÁ‡" [ielm-output pp-to-string ielm-result] 3) ((error (byte-code "ÀÂć" ["IELM Error" ielm-error-type "Error during pretty-printing (bug in pp)" ielm-result nil] 1)) (quit (byte-code "ÀÂć" ["IELM Error" ielm-error-type "Quit during pretty-printing" ielm-result nil] 1))) ielm-noisy ding "*** " " *** " "\n" ielm-prompt comint-output-filter ielm-process] 8 "\ Evaluate the Lisp expression IELM-STRING, and pretty-print the result."]) (byte-code "ÀÁÂ\"ˆÀÃÄ\"ˆÀÅÆ\"‡" [defalias ielm-process #[nil "Àp!‡" [get-buffer-process] 2] ielm-pm #[nil "ÀÁp!!‡" [process-mark get-buffer-process] 3] ielm-set-pm #[(pos) "ÀÁp!!\nÓ‡" [process-mark get-buffer-process pos nil] 3]] 3) (defalias 'inferior-emacs-lisp-mode #[nil "À ˆÁ !PÅÆ!ˆ\fÇÉ\nË\fÍÏÑÓ!ˆÕ!ˆÅ×!ˆÅØ!ˆpÙÉÅÚ!ˆÉÅÛ!ˆÉÅÜ!ˆÝp!„Þßpà#ˆáâ !ˆdbˆ#cˆäd!ˆåâ \"ˆ&ç É“ˆèép!å\"ˆêë!‡" [comint-mode "^" regexp-quote ielm-prompt comint-prompt-regexp make-local-variable paragraph-start ielm-input-sender comint-input-sender nil comint-process-echoes (ielm-tab comint-replace-by-expanded-history ielm-complete-filename ielm-complete-symbol) comint-dynamic-complete-functions ielm-get-old-input comint-get-old-input inferior-emacs-lisp-mode major-mode "IELM" mode-name use-local-map ielm-map set-syntax-table emacs-lisp-mode-syntax-table indent-line-function ielm-working-buffer ielm-indent-line : :: ::: comint-check-proc start-process "ielm" "cat" process-kill-without-query ielm-process ielm-header ielm-set-pm comint-output-filter comint-last-input-start ielm-pm set-process-filter get-buffer-process run-hooks ielm-mode-hook] 4 "\ Major mode for interactively evaluating Emacs Lisp expressions. Uses the interface provided by `comint-mode' (which see). * \\\\[ielm-send-input] evaluates the sexp following the prompt. There must be at most one top-level sexp per prompt. * \\[ielm-return] inserts a newline and indents, or evaluates a complete expression (but see variable `ielm-dynamic-return'). Inputs longer than one line are moved to the line following the prompt (but see variable `ielm-dynamic-multiline-inputs'). * \\[comint-dynamic-complete] completes Lisp symbols (or filenames, within strings), or indents the line if there is nothing to complete. During evaluations, the values of the variables `:', `::', and `:::' are the results of the previous, second previous and third previous evaluations respectively. The current working buffer may be changed (with a call to `set-buffer', or with \\[ielm-change-working-buffer]), and its value is preserved between successive evaluations. In this way, expressions may be evaluated in a different buffer than the *ielm* buffer. Display the name of the working buffer with \\[ielm-print-working-buffer], or the buffer itself with \\[ielm-display-working-buffer]. Expressions evaluated by IELM are not subject to `debug-on-quit' or `debug-on-error'. The behaviour of IELM may be customised with the following variables: * To stop beeping on error, set `ielm-noisy' to nil * If you don't like the prompt, you can change it by setting `ielm-prompt'. * Set `ielm-dynamic-return' to nil for bindings like `lisp-interaction-mode' * Entry to this mode runs `comint-mode-hook' and `ielm-mode-hook' (in that order). Customised bindings may be defined in `ielm-map', which currently contains: \\{ielm-map}" nil]) (defalias (quote ielm-get-old-input) #[nil "ŠÀyˆÁ\n!„Ã\n!ˆÄ ˆ`ÅÆ!ˆ`{)‡" [0 looking-at comint-prompt-regexp re-search-backward comint-skip-prompt forward-sexp 1] 3]) (defalias 'ielm #[nil "ÀÁ!„ÂÁ!qˆÃ ˆÄÁ!‡" [comint-check-proc "*ielm*" get-buffer-create inferior-emacs-lisp-mode switch-to-buffer] 2 "\ Interactively evaluate Emacs Lisp expressions. Switches to the buffer *ielm*, or creates it if it does not exist." nil])