(defvar lisp-mode-syntax-table nil "\ ") (defvar emacs-lisp-mode-syntax-table nil "\ ") (defvar lisp-mode-abbrev-table nil "\ ") (if (not emacs-lisp-mode-syntax-table) (let ((i 0)) (setq emacs-lisp-mode-syntax-table (make-syntax-table)) (while (< i 48) (modify-syntax-entry i "_ " emacs-lisp-mode-syntax-table) (setq i (1+ i))) (setq i (1+ 57)) (while (< i 65) (modify-syntax-entry i "_ " emacs-lisp-mode-syntax-table) (setq i (1+ i))) (setq i (1+ 90)) (while (< i 97) (modify-syntax-entry i "_ " emacs-lisp-mode-syntax-table) (setq i (1+ i))) (setq i (1+ 122)) (while (< i 128) (modify-syntax-entry i "_ " emacs-lisp-mode-syntax-table) (setq i (1+ i))) (modify-syntax-entry 32 " " emacs-lisp-mode-syntax-table) (modify-syntax-entry 9 " " emacs-lisp-mode-syntax-table) (modify-syntax-entry 10 "> " emacs-lisp-mode-syntax-table) (modify-syntax-entry 12 "> " emacs-lisp-mode-syntax-table) (modify-syntax-entry 59 "< " emacs-lisp-mode-syntax-table) (modify-syntax-entry 96 "' " emacs-lisp-mode-syntax-table) (modify-syntax-entry 39 "' " emacs-lisp-mode-syntax-table) (modify-syntax-entry 44 "' " emacs-lisp-mode-syntax-table) (modify-syntax-entry 46 "' " emacs-lisp-mode-syntax-table) (modify-syntax-entry 35 "' " emacs-lisp-mode-syntax-table) (modify-syntax-entry 34 "\" " emacs-lisp-mode-syntax-table) (modify-syntax-entry 92 "\\ " emacs-lisp-mode-syntax-table) (modify-syntax-entry 40 "() " emacs-lisp-mode-syntax-table) (modify-syntax-entry 41 ")( " emacs-lisp-mode-syntax-table) (modify-syntax-entry 91 "(] " emacs-lisp-mode-syntax-table) (modify-syntax-entry 93 ")[ " emacs-lisp-mode-syntax-table))) (define-abbrev-table (quote lisp-mode-abbrev-table) nil) (defun lisp-mode-variables (lisp-syntax) (byte-code "$ ? ! # # # !!P! !ɉ!ى !ډ!ۉ!܉ !݉" [lisp-syntax lisp-mode-syntax-table emacs-lisp-mode-syntax-table local-abbrev-table lisp-mode-abbrev-table paragraph-start page-delimiter paragraph-separate paragraph-ignore-fill-prefix t indent-line-function comment-start comment-start-skip comment-column comment-indent-hook copy-syntax-table modify-syntax-entry 124 "\" " 91 "_ " 93 set-syntax-table make-local-variable "^$\\|" lisp-indent-line ";" ";+ *" 40 lisp-comment-indent] 15)) (defun lisp-mode-commands (map) (byte-code "###" [map define-key "" indent-sexp "" backward-delete-char-untabify " " lisp-indent-line] 6)) (defvar emacs-lisp-mode-map nil "\ ") (if emacs-lisp-mode-map nil (setq emacs-lisp-mode-map (make-sparse-keymap)) (define-key emacs-lisp-mode-map "" (quote eval-defun)) (lisp-mode-commands emacs-lisp-mode-map)) (defun emacs-lisp-mode nil "\ 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." (interactive) (byte-code "Ĉ ! !ȉɉ!!" [emacs-lisp-mode-map emacs-lisp-mode-syntax-table major-mode mode-name nil kill-all-local-variables use-local-map set-syntax-table emacs-lisp-mode "Emacs-Lisp" lisp-mode-variables run-hooks emacs-lisp-mode-hook] 6)) (defvar lisp-mode-map nil) (if lisp-mode-map nil (setq lisp-mode-map (make-sparse-keymap)) (define-key lisp-mode-map "" (quote lisp-send-defun)) (define-key lisp-mode-map "" (quote run-lisp)) (lisp-mode-commands lisp-mode-map)) (defun lisp-mode nil "\ 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." (interactive) (byte-code "ň !ȉɉ!!!" [lisp-mode-map major-mode mode-name t lisp-mode-syntax-table nil kill-all-local-variables use-local-map lisp-mode "Lisp" lisp-mode-variables set-syntax-table run-hooks lisp-mode-hook] 6)) (defun lisp-send-defun nil "\ Send the current defun to the Lisp process made by M-x run-lisp." (interactive) (byte-code "!" [nil error "Process lisp does not exist"] 2)) (defvar lisp-interaction-mode-map nil) (if lisp-interaction-mode-map nil (setq lisp-interaction-mode-map (make-sparse-keymap)) (lisp-mode-commands lisp-interaction-mode-map) (define-key lisp-interaction-mode-map "" (quote eval-defun)) (define-key lisp-interaction-mode-map " " (quote eval-print-last-sexp))) (defun lisp-interaction-mode nil "\ 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." (interactive) (byte-code "Ĉ ! !ȉɉ!!" [lisp-interaction-mode-map emacs-lisp-mode-syntax-table major-mode mode-name nil kill-all-local-variables use-local-map set-syntax-table lisp-interaction-mode "Lisp Interaction" lisp-mode-variables run-hooks lisp-interaction-mode-hook] 6)) (defun eval-print-last-sexp (arg) "\ Evaluate sexp before point; print value into current buffer." (interactive "P") (byte-code " Ŏ !!`)))`p#" [stab emacs-lisp-mode-syntax-table nil eval-region syntax-table ((byte-code "!" [stab set-syntax-table] 2)) set-syntax-table forward-sexp -1] 7)) (defun eval-last-sexp (arg) "\ Evaluate sexp before point; print value in minibuffer. With argument, print output into current buffer." (interactive "P") (byte-code "Ĉ ǎ !!`)))` p #" [stab emacs-lisp-mode-syntax-table arg t nil eval-region syntax-table ((byte-code "!" [stab set-syntax-table] 2)) set-syntax-table forward-sexp -1] 7)) (defun eval-defun (arg) "\ Evaluate defun that point is in or before. Print value in minibuffer. With argument, insert value in current buffer after the defun." (interactive "P") (byte-code "È ` ` p #))" [end arg t nil end-of-defun beginning-of-defun eval-region] 6)) (defun lisp-comment-indent nil (byte-code "! i2 !\"