;ELC ;;; compiled by jwz@thalidomide on Sun May 15 00:43:50 1994 ;;; from file /th/jwz/emacs19/lisp/modes/lisp-mode.el ;;; emacs version 19.10 Lucid (beta23). ;;; bytecomp version 2.24; 26-Apr-94. ;;; 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 "This file was compiled for Emacs 19.")) (defvar lisp-mode-syntax-table nil "\ ") (defvar emacs-lisp-mode-syntax-table nil "\ ") (defvar lisp-mode-abbrev-table nil "\ ") (byte-code " \nW\n#\nTpW\n#\nTpW\n#\nTpW\n#\nTp################)&!&&#&#``\"GU&#&#&#\"M" [emacs-lisp-mode-syntax-table 0 i make-syntax-table 48 modify-syntax-entry "_ " 58 65 91 97 123 128 32 " " 9 10 "> " 12 59 "< " 96 "' " 39 44 46 35 34 "\" " 92 "\\ " 40 "() " 41 ")( " "(] " 93 ")[ " lisp-mode-syntax-table copy-syntax-table parse-partial-sexp 8 "' 58" 124 ". 67" "\" " define-abbrev-table lisp-mode-abbrev-table nil lisp-mode-variables #[(lisp-syntax) "\n! !P! !\n! !!!!!!!ډ" [lisp-syntax set-syntax-table lisp-mode-syntax-table lisp-mode-abbrev-table local-abbrev-table make-local-variable paragraph-start "^$\\|" page-delimiter paragraph-separate paragraph-ignore-fill-prefix t indent-line-function lisp-indent-line indent-region-function lisp-indent-region parse-sexp-ignore-comments outline-regexp ";;; \\|(...." comment-start ";" comment-start-skip ";+ *" comment-column 40 comment-indent-function lisp-comment-indent] 2]] 5) (defvar shared-lisp-mode-map nil "\ Keymap for commands shared by all sorts of Lisp modes.") (byte-code " \"####" [shared-lisp-mode-map make-sparse-keymap set-keymap-name define-key "" indent-sexp "" lisp-fill-paragraph "" backward-delete-char-untabify " " lisp-indent-line] 4) (defvar emacs-lisp-mode-map nil "\ Keymap for Emacs Lisp mode. All commands in shared-lisp-mode-map are inherited by this map.") (byte-code " \" \"##" [emacs-lisp-mode-map make-sparse-keymap set-keymap-name set-keymap-parent shared-lisp-mode-map define-key " " lisp-complete-symbol "" eval-defun] 4) (fset 'emacs-lisp-mode #[nil " \n! !!!" [kill-all-local-variables use-local-map emacs-lisp-mode-map set-syntax-table emacs-lisp-mode-syntax-table emacs-lisp-mode major-mode "Emacs-Lisp" mode-name lisp-mode-variables nil run-hooks emacs-lisp-mode-hook] 2 "\ Major mode for editing Lisp code to run in Emacs. Commands: Delete converts tabs to spaces as it moves back. Blank lines separate paragraphs. Semicolons start comments. \\{emacs-lisp-mode-map} Entry to this mode calls the value of `emacs-lisp-mode-hook' if that value is non-nil." nil]) (defvar lisp-mode-map nil "\ Keymap for ordinary Lisp mode. All commands in `shared-lisp-mode-map' are inherited by this map.") (byte-code " \" \"#" [lisp-mode-map make-sparse-keymap set-keymap-name set-keymap-parent shared-lisp-mode-map define-key "" lisp-send-defun] 4) (fset 'lisp-mode #[nil " \n!!\n!!" [kill-all-local-variables use-local-map lisp-mode-map lisp-mode major-mode "Lisp" mode-name lisp-mode-variables t set-syntax-table lisp-mode-syntax-table run-hooks lisp-mode-hook] 2 "\ Major mode for editing Lisp code for Lisps other than GNU Emacs Lisp. Commands: Delete converts tabs to spaces as it moves back. Blank lines separate paragraphs. Semicolons start comments. \\{lisp-mode-map} Note that `run-lisp' may be used either to start an inferior Lisp job or to switch back to an existing one. Entry to this mode calls the value of `lisp-mode-hook' if that value is non-nil." nil]) (fset 'lisp-send-defun #[nil "!" [error "Process lisp does not exist"] 2 "\ Send the current defun to the Lisp process made by \\[run-lisp]." nil]) (defvar lisp-interaction-mode-map nil "\ Keymap for Lisp Interaction moe. All commands in `emacs-lisp-mode-map' are inherited by this map.") (byte-code " \" \"###" [lisp-interaction-mode-map make-sparse-keymap set-keymap-name set-keymap-parent emacs-lisp-mode-map define-key "" eval-defun " " lisp-complete-symbol "\n" eval-print-last-sexp] 4) (fset 'lisp-interaction-mode #[nil " \n!!!!" [kill-all-local-variables use-local-map lisp-interaction-mode-map lisp-interaction-mode major-mode "Lisp Interaction" mode-name set-syntax-table emacs-lisp-mode-syntax-table lisp-mode-variables nil run-hooks lisp-interaction-mode-hook] 2 "\ Major mode for typing and evaluating Lisp forms. Like Lisp mode except that \\[eval-print-last-sexp] evals the Lisp expression before point, and prints its value into the buffer, advancing point. Commands: Delete converts tabs to spaces as it moves back. Paragraphs are separated only by blank lines. Semicolons start comments. \\{lisp-interaction-mode-map} Entry to this mode calls the value of `lisp-interaction-mode-hook' if that value is non-nil." nil]) (fset 'eval-print-last-sexp #[nil "p ! )" [standard-output terpri eval-last-sexp t] 2 "\ Evaluate sexp before point; print value into current buffer." nil]) (fset 'eval-last-sexp #[(eval-last-sexp-arg-internal) "p` Ȏ\n!!e\n}p!+!)!*" [eval-last-sexp-arg-internal t opoint standard-output prin1 syntax-table stab eval ((set-syntax-table stab)) set-syntax-table emacs-lisp-mode-syntax-table forward-sexp -1 read] 4 "\ Evaluate sexp before point; print value in minibuffer. With argument, print output into current buffer." "P"]) (fset 'eval-defun #[(eval-defun-arg-internal) "pĊ p!)!!)" [eval-defun-arg-internal t standard-output prin1 eval end-of-defun beginning-of-defun read] 4 "\ Evaluate defun that point is in or before. Print value in minibuffer. With argument, insert value in current buffer after the defun." "P"]) (fset 'lisp-comment-indent #[nil "!i! < @ )xnǪiT]" [looking-at "\\s<\\s<\\s<" "\\s<\\s<" calculate-lisp-indent tem " " nil 0 comment-column] 3]) (defconst lisp-indent-offset nil "\ ") (defconst lisp-indent-function 'lisp-indent-function "\ ") (fset 'lisp-indent-line #[(&optional whole-exp) " d`Zy`w!d\nZb!! u<@iZU `|jd\nZ`Vd\nZb U? b!` by` V) #-" [calculate-lisp-indent nil pos end beg shift-amt indent 0 " " looking-at "\\s<\\s<\\s<" "\\s<" "\\s<\\s<" indent-for-comment -1 whole-exp forward-sexp 1 indent-code-rigidly] 7 "\ Indent current line as Lisp code. With argument, indent any additional lines of the same expression rigidly along with this one." "P"]) (fset 'calculate-lisp-indent #[(&optional parse-start) "y`  b `W`#p V̜͜Tb ^ `VY #A@)C Tb i` $!y`) V` U!` $ by` $ iԜbwi! \" b\\." [0 nil t containing-sexp last-sexp retry desired-indent state indent-point parse-start beginning-of-defun parse-partial-sexp 2 1 peek looking-at "\\s(" forward-sexp backward-prefix-chars normal-indent 3 " " boundp lisp-indent-function lisp-indent-offset] 7 "\ Return appropriate indentation for current line as Lisp code. In usual case returns an integer: the column to indent to. Can instead return a list, whose car is the column to indent to. This means that following lines at the same level of indentation should not necessarily be indented the same way. The second element of the list is the buffer position of the start of the containing expression."]) (fset 'lisp-indent-function #[(indent-point state) "i œTb` $ ǜ!y`) V by` $ i`!`{ !N!N = GV\" \"  $  \"*)" [normal-indent state 1 parse-partial-sexp last-sexp 0 t 2 looking-at "\\sw\\|\\s_" backward-prefix-chars forward-sexp nil method function intern-soft lisp-indent-function lisp-indent-hook defun 3 string-match "\\`def" lisp-indent-defform indent-point lisp-indent-specform] 6]) (defconst lisp-body-indent 2 "\ Number of columns to indent the second line of a `(def...)' form.") (byte-code "MM#################" [lisp-indent-specform #[(count state indent-point normal-indent) "\nÉbi \\u!` $` WΏt\nV\nZX \\\\DDU\nU\nU X ," [state 1 count nil containing-form-column body-indent i containing-form-start lisp-body-indent forward-sexp parse-partial-sexp indent-point t (byte-code "S!` $" [count forward-sexp 1 parse-partial-sexp indent-point t] 5) ((error)) 0 normal-indent] 6] lisp-indent-defform #[(state indent-point) "A@by`AA@VA@b\ni\\" [state 1 lisp-body-indent] 2] put lambda lisp-indent-function defun autoload progn 0 prog1 1 prog2 2 save-excursion save-window-excursion save-restriction save-match-data let let* while if catch condition-case unwind-protect with-output-to-temp-buffer] 4) (fset 'indent-sexp #[(&optional endpos) "C`` \n !)`W ?A\n m`` %@\n @  @y FԉD\nX C\" \nT\nTf \nX y.\nV A Sn\nW B Tmy`wm! @ @Y @ @ @[ !  A@[@)i\nU`|\nj $`U$`$. " [nil 0 this-indent state inner-loop-done outer-loop-done bol last-depth last-point starting-point next-depth indent-stack forward-sexp 1 endpos parse-partial-sexp 4 indent-for-comment 3 5 t append " " looking-at "\\s<\\|\n" calculate-lisp-indent val] 11 "\ Indent each line of the list starting just after point. If optional arg ENDPOS is given, indent each line, stopping when ENDPOS is encountered." nil]) (fset 'lisp-indent-region #[(start end) "bnl ! ! Ɖ*" [start lisp-indent-line copy-marker end endmark indent-sexp nil] 3]) (fset 'lisp-fill-paragraph #[(&optional justify) "y!ÔÕ{!w`f=ul`f>f!`!i\"ÔÕ{P)\n!yU!u!y`)y!x`)}PP !,*" [nil comment-fill-prefix has-comment 0 looking-at "[ ]*;[; ]*" t ";\\|$" "^;\n\"\\\\?" 92 2 (34 63) forward-sexp 1 ";+[ ]*" make-string 32 fill-paragraph justify -1 "^[ ]*;" paragraph-start "\\|^[ ;]*$" fill-prefix paragraph-separate] 3 "\ Like \\[fill-paragraph], but handle Emacs Lisp comments. If any of the current line is a comment, fill the comment or the paragraph of it that point is in, preserving the comment's indentation and initial semicolons." "P"]) (fset 'indent-code-rigidly #[(start end arg &optional nochange-regexp) "\nb  bn`y` %`\nW @!  `w`|l \\]\")`y` %C*" [nil state end point-marker start parse-partial-sexp 1 3 nochange-regexp looking-at current-indentation indent " " indent-to 0 arg] 6 "\ Indent all lines of code, starting in the region, sideways by ARG columns. Does not affect lines starting inside comments or strings, assuming that the start of the region is not inside them. Called from a program, takes args START, END, COLUMNS and NOCHANGE-REGEXP. The last is a regexp which, if matched at the beginning of a line, means don't indent that line." "r\np"]) (provide 'lisp-mode)