;ELC ;;; compiled by roland@churchy.gnu.ai.mit.edu on Mon Jul 25 15:44:30 1994 ;;; from file /gd/gnu/emacs/19.0/lisp/lisp-mode.el ;;; emacs version 19.25.91.2. ;;; 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/lisp-mode.el' 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 "„ÂÁà \nÄWƒÅ\nÆ#ˆ\nT‰‚\nÇÇÈWƒ1Å\nÆ#ˆ\nT‰‚ÉÉÊWƒFÅ\nÆ#ˆ\nT‰‚4ËËÌWƒ[Å\nÆ#ˆ\nT‰‚IÅÍÎ#ˆÅÏÎ#ˆÅÐÑ#ˆÅÒÑ#ˆÅÓÑ#ˆÅÔÕ#ˆÅÖ×#ˆÅØ×#ˆÅÙ×#ˆÅÚÆ#ˆÅÛ×#ˆÅÜÝ#ˆÅÞß#ˆÅàá#ˆÅâã#ˆÅÉä#ˆÅåæ#ˆ)'„áè!'Åéê'#ˆÅÉÆ'#ˆÅåÆ'#ˆëìí\"ˆîïð\"‡" [emacs-lisp-mode-syntax-table 0 i make-syntax-table 48 modify-syntax-entry "_ " 58 65 91 97 123 128 32 " " 9 10 "> " 13 12 59 "< " 96 "' " 39 44 46 35 34 "\" " 92 "\\ " 40 "() " 41 ")( " "(] " 93 ")[ " lisp-mode-syntax-table copy-syntax-table 124 "\" " define-abbrev-table lisp-mode-abbrev-table nil defalias lisp-mode-variables #[(lisp-syntax) "ƒÁ\n!ˆ ÅÆ!ˆÇPÅÉ!ˆ ÅÊ!ˆË\nÅÌ!ˆÍ\fÅÎ!ˆÏÅÐ!ˆËÅÑ!ˆÒÅÓ!ˆÔÅÕ!ˆÖÅ×!ˆØÅÙ!ˆÚ‰‡" [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 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 "„Á \n¤ÃÄÅ#ˆÃÆÇ#ˆÁ‡" [emacs-lisp-mode-map make-sparse-keymap shared-lisp-mode-map define-key " " lisp-complete-symbol "" eval-defun] 4) (defalias 'emacs-lisp-mode #[nil "À ˆÁ\n!ˆÃ\f!ˆÅÇÉÊ!ˆËÌ!‡" [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 "„Á \n¤ÃÄÅ#ˆÃÆÇ#ˆÁ‡" [lisp-mode-map make-sparse-keymap shared-lisp-mode-map define-key "" lisp-eval-defun "" run-lisp] 4) (defalias '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]) (defalias 'lisp-eval-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 `shared-lisp-mode-map' are inherited by this map.") (byte-code "„Á \n¤ÃÄÅ#ˆÃÆÇ#ˆÃÈÉ#ˆÁ‡" [lisp-interaction-mode-map make-sparse-keymap shared-lisp-mode-map define-key "" eval-defun " " lisp-complete-symbol "\n" eval-print-last-sexp] 4) (defalias '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]) (defalias 'eval-print-last-sexp #[nil "pÁ ˆÂÃ!ˆÁ )‡" [standard-output terpri eval-last-sexp t] 2 "\ Evaluate sexp before point; print value into current buffer." nil]) (defalias '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"]) (defalias '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"]) (defalias (quote lisp-comment-indent) #[nil "ÀÁ!ƒi‡ÀÂ!ƒà ‰<ƒ\f@‚\f)‡ÅÆxˆnƒ*Ç‚,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 (quote lisp-indent-function) "\ ") (defalias 'lisp-indent-line #[(&optional whole-exp) "À Á‰‰d`ZÇyˆ`ÈÁwˆÉÊ!ƒ$d\nZb‚ŽÉË!ƒ9ÉÌ!„9Í ˆÎuˆ‚W<ƒD@iZ‰ÇU„W\f`|ˆjˆd\nZ`Vƒdd\nZbˆ…Ž ÇU?…ŽŠ\fbˆÐÑ!ˆ`\fbˆÑyˆ` \fV)…ŽÒ\f #-‡" [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"]) (defalias 'calculate-lisp-indent #[(&optional parse-start) "ŠÀyˆ`Á‰‰ÂÁ‰ \nƒ\"\nbˆ‚%Ë ˆ` Wƒ7Ì` À#‚% ƒ~ƒ~Àœ‰ÀVƒ~Á͜Μ‰Tbˆ\fƒ7\f`Vƒ7Ì\f À#‰A@‰ƒz)‚7 „Ï Tbˆ\f„i‚ÏÌ`\fÀÂ$ˆÐÑ!„ÏŠÎyˆ`)\fVƒ¿`\fU„¹ÒÎ!ˆÌ`\fÀÂ$ˆÓ ˆ‚Ï\fbˆÀyˆÌ`\fÀÂ$ˆÓ ˆiÕœƒå bˆÖÁwˆi‚¨ƒù ƒù bˆi\\‚†ØÙ!ƒƒ „ \"†‚. ‡" [0 nil t containing-sexp last-sexp retry desired-indent paren-depth 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 " " lisp-indent-offset boundp lisp-indent-function] 8 "\ 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."]) (defalias (quote lisp-indent-function) #[(indent-point state) "i ÂœTbˆÃ`\fÅÆ$ˆ Çœƒ:ÈÉ!„:ŠÂyˆ`)\fV„3\fbˆÅyˆÃ`\fÅÆ$ˆÊ ˆi‚—`ËÂ!ˆ`{Ì Ï!ÐN†UÏ!ÑN‰ Ò=„r „zGÓVƒzÔÕ\"ƒzÖ \"‚– ¨ƒ‹Ø $‚– …– \"*)‡" [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 "ÀÁÂ\"ˆÀÃÄ\"ˆÅÆÇÈ#ˆÅÉÇÈ#ˆÅÊÇË#ˆÅÌÇÍ#ˆÅÎÇÏ#ˆÅÐÇË#ˆÅÑÇË#ˆÅÒÇË#ˆÅÓÇË#ˆÅÔÇÍ#ˆÅÕÇÍ#ˆÅÖÇÍ#ˆÅ×ÇÏ#ˆÅØÇÍ#ˆÅÙÇÏ#ˆÅÚÇÍ#ˆÅÛÇÍ#‡" [defalias lisp-indent-specform #[(count state indent-point normal-indent) "Áœ\nɉbˆi\f\\ÁuˆÉÁ!ˆÊ` ÁÌ$ˆ` Wƒ3ÃÍ΄%\nÏVƒV\nZÁXƒN\f‰\\\\D‚vD‚vÏUƒc\nÏU„p\nÏUƒt Xƒt ‚v,‡" [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ÁÂ!ˆÃ`\fÂÅ$‡" [count forward-sexp 1 parse-partial-sexp indent-point t] 5) ((error)) 0 normal-indent] 6] lisp-indent-defform #[(state indent-point) "A@bˆÁyˆ`AA@V…A@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) (defalias 'indent-sexp #[(&optional endpos) "ÀCÁ``À‰‰‰‰‰ \n ŠÌÍ!ˆ)ŠÀƒ0`W‚2 ?…]\nÀ\f„€m‰„€Ï`Àˆ`À‰ %‰@\nÐ ›@ƒgÑ ˆÀˆÐ ›À ˆÒ ›@ƒzÍyˆÓ ›À ˆ‚;Ô‰ƒ?ƒ¢\nÁXƒ¢Õ Ö\n[À\"\" \nZÁ\n „«\nÁX ƒµÍyˆ‚J\nVƒË A S‰‚·\nWƒâÀ B T‰‚ÍÍyˆ`×Àwˆm„JØÙ!„J @ƒ  @ÁYƒ  @‚<Ú @ƒ @[‚ !‰¨ƒ. ‰ ˆ‚; A@[ ˆ@)i\nU„J`|ˆ\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 make-list " " 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]) (defalias (quote lisp-indent-region) #[(start end) "Šbˆnƒl„Á ˆÂ !Å\f!ˆ\fƉ“*‡" [start lisp-indent-line copy-marker end endmark indent-sexp nil] 3]) (defalias 'lisp-fill-paragraph #[(&optional justify) "À‰ŠÃyˆÄÅ!ƒÆÔÕ{‚QÄÇ!„>ÈÀwˆ`fÉ=ƒ0Êuˆ‚`fË>ƒÌÍ!ˆ‚ÄÎ!ƒQÆÏiÐ\"ÔÕ{P)\n„]Ñ!‚™ŒŠÓyÃUƒlÄÔ!„_ÄÔ!„uÍyˆ`)ŠÍyˆÄÔ!„x`)}ˆÖPÖP Ñ!,*‡" [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"]) (defalias 'indent-code-rigidly #[(start end arg &optional nochange-regexp) "ÀŠ\nbˆÃ \fbˆn„Å`Æyˆ`À‰ %`\nW…^Ç ›@„Pƒ4É!„PÊ  `ÌÀwˆ`|ˆl„OÍÎ \\]Î\"ˆ)Å`Æyˆ`À‰ %‚*‡" [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 (quote lisp-mode))