Mercurial > hg > xemacs-beta
comparison lisp/modes/lisp-mode.el @ 169:15872534500d r20-3b11
Import from CVS: tag r20-3b11
| author | cvs |
|---|---|
| date | Mon, 13 Aug 2007 09:46:53 +0200 |
| parents | 28f395d8dc7a |
| children | 8eaf7971accc |
comparison
equal
deleted
inserted
replaced
| 168:9851d5c6556e | 169:15872534500d |
|---|---|
| 28 ;;; Commentary: | 28 ;;; Commentary: |
| 29 | 29 |
| 30 ;; The base major mode for editing Lisp code (used also for Emacs Lisp). | 30 ;; The base major mode for editing Lisp code (used also for Emacs Lisp). |
| 31 ;; This mode is documented in the Emacs manual | 31 ;; This mode is documented in the Emacs manual |
| 32 | 32 |
| 33 ;; July/05/97 slb Converted to use easymenu. | |
| 34 | |
| 33 ;;; Code: | 35 ;;; Code: |
| 34 | 36 |
| 35 (defvar lisp-mode-syntax-table nil "") | 37 (defvar lisp-mode-syntax-table nil "") |
| 36 (defvar emacs-lisp-mode-syntax-table nil "") | 38 (defvar emacs-lisp-mode-syntax-table nil "") |
| 37 (defvar lisp-mode-abbrev-table nil "") | 39 (defvar lisp-mode-abbrev-table nil "") |
| 38 | 40 |
| 39 ;; XEmacs change | 41 ;; XEmacs change |
| 40 (defvar lisp-interaction-mode-popup-menu | 42 (defvar lisp-interaction-mode-popup-menu nil) |
| 41 (purecopy '("Lisp Interaction Menu" | 43 (defvar lisp-interaction-mode-popup-menu-1 |
| 44 (purecopy '("Lisp-Interaction" | |
| 42 ["Evaluate Last S-expression" eval-last-sexp t] | 45 ["Evaluate Last S-expression" eval-last-sexp t] |
| 43 ["Evaluate Entire Buffer" eval-current-buffer t] | 46 ["Evaluate Entire Buffer" eval-current-buffer t] |
| 44 ["Evaluate Region" eval-region (region-exists-p)] | 47 ["Evaluate Region" eval-region (region-exists-p)] |
| 45 "---" | 48 "---" |
| 46 ["Evaluate This Defun" eval-defun t] | 49 ["Evaluate This Defun" eval-defun t] |
| 58 :style toggle :selected debug-on-error] | 61 :style toggle :selected debug-on-error] |
| 59 ["Debug On Quit" (setq debug-on-quit (not debug-on-quit)) | 62 ["Debug On Quit" (setq debug-on-quit (not debug-on-quit)) |
| 60 :style toggle :selected debug-on-quit] | 63 :style toggle :selected debug-on-quit] |
| 61 ))) | 64 ))) |
| 62 | 65 |
| 63 (defvar emacs-lisp-mode-popup-menu | 66 (defvar emacs-lisp-mode-popup-menu nil) |
| 67 (defvar emacs-lisp-mode-popup-menu-1 | |
| 64 (purecopy | 68 (purecopy |
| 65 (nconc | 69 (nconc |
| 66 '("Emacs-Lisp Menu" | 70 '("Emacs-Lisp" |
| 67 ["Byte-compile This File" emacs-lisp-byte-compile t] | 71 ["Byte-compile This File" emacs-lisp-byte-compile t] |
| 68 ["Byte-recompile Directory..." byte-recompile-directory t] | 72 ["Byte-recompile Directory..." byte-recompile-directory t] |
| 69 "---") | 73 "---") |
| 70 (cdr lisp-interaction-mode-popup-menu)))) | 74 (cdr lisp-interaction-mode-popup-menu-1)))) |
| 71 | 75 |
| 72 ;Don't have a menubar entry in Lisp Interaction mode. Otherwise, the | 76 ;Don't have a menubar entry in Lisp Interaction mode. Otherwise, the |
| 73 ;*scratch* buffer has a Lisp menubar item! Very confusing. | 77 ;*scratch* buffer has a Lisp menubar item! Very confusing. |
| 74 ;(defvar lisp-interaction-mode-menubar-menu | 78 ;(defvar lisp-interaction-mode-menubar-menu |
| 75 ; (purecopy (cons "Lisp" (cdr lisp-interaction-mode-popup-menu)))) | 79 ; (purecopy (cons "Lisp" (cdr lisp-interaction-mode-popup-menu)))) |
| 76 | 80 |
| 77 (defvar emacs-lisp-mode-menubar-menu | 81 (defvar emacs-lisp-mode-menubar-menu nil) |
| 78 (purecopy (cons "Lisp" (cdr emacs-lisp-mode-popup-menu)))) | 82 (defvar emacs-lisp-mode-menubar-menu-1 |
| 83 (purecopy (cons "Lisp" (cdr emacs-lisp-mode-popup-menu-1)))) | |
| 79 | 84 |
| 80 (if (not emacs-lisp-mode-syntax-table) | 85 (if (not emacs-lisp-mode-syntax-table) |
| 81 (let ((i 0)) | 86 (let ((i 0)) |
| 82 (setq emacs-lisp-mode-syntax-table (make-syntax-table)) | 87 (setq emacs-lisp-mode-syntax-table (make-syntax-table)) |
| 83 (while (< i ?0) | 88 (while (< i ?0) |
| 257 (kill-all-local-variables) | 262 (kill-all-local-variables) |
| 258 (use-local-map emacs-lisp-mode-map) | 263 (use-local-map emacs-lisp-mode-map) |
| 259 (set-syntax-table emacs-lisp-mode-syntax-table) | 264 (set-syntax-table emacs-lisp-mode-syntax-table) |
| 260 ;; XEmacs changes | 265 ;; XEmacs changes |
| 261 (setq major-mode 'emacs-lisp-mode | 266 (setq major-mode 'emacs-lisp-mode |
| 262 mode-popup-menu emacs-lisp-mode-popup-menu | 267 ;; mode-popup-menu emacs-lisp-mode-popup-menu |
| 263 mode-name "Emacs-Lisp") | 268 mode-name "Emacs-Lisp") |
| 264 (if (and (featurep 'menubar) | 269 ;; (if (and (featurep 'menubar) |
| 265 current-menubar) | 270 ;; current-menubar) |
| 266 (progn | 271 ;; (progn |
| 267 ;; make a local copy of the menubar, so our modes don't | 272 ;; make a local copy of the menubar, so our modes don't |
| 268 ;; change the global menubar | 273 ;; change the global menubar |
| 269 (set-buffer-menubar current-menubar) | 274 ;; (set-buffer-menubar current-menubar) |
| 270 (add-submenu nil emacs-lisp-mode-menubar-menu))) | 275 ;; (add-submenu nil emacs-lisp-mode-menubar-menu))) |
| 276 (unless emacs-lisp-mode-popup-menu | |
| 277 (easy-menu-define emacs-lisp-mode-popup-menu emacs-lisp-mode-map "" | |
| 278 emacs-lisp-mode-popup-menu-1)) | |
| 279 (easy-menu-add emacs-lisp-mode-popup-menu) | |
| 271 (lisp-mode-variables nil) | 280 (lisp-mode-variables nil) |
| 272 (run-hooks 'emacs-lisp-mode-hook)) | 281 (run-hooks 'emacs-lisp-mode-hook)) |
| 273 | 282 |
| 274 (defvar lisp-mode-map () | 283 (defvar lisp-mode-map () |
| 275 "Keymap for ordinary Lisp mode. | 284 "Keymap for ordinary Lisp mode. |
| 344 (kill-all-local-variables) | 353 (kill-all-local-variables) |
| 345 (use-local-map lisp-interaction-mode-map) | 354 (use-local-map lisp-interaction-mode-map) |
| 346 (setq major-mode 'lisp-interaction-mode) | 355 (setq major-mode 'lisp-interaction-mode) |
| 347 (setq mode-name "Lisp Interaction") | 356 (setq mode-name "Lisp Interaction") |
| 348 ;; XEmacs change | 357 ;; XEmacs change |
| 349 (setq mode-popup-menu lisp-interaction-mode-popup-menu) | 358 ;; (setq mode-popup-menu lisp-interaction-mode-popup-menu) |
| 359 (unless lisp-interaction-mode-popup-menu | |
| 360 (easy-menu-define lisp-interaction-mode-popup-menu | |
| 361 lisp-interaction-mode-map | |
| 362 "" | |
| 363 lisp-interaction-mode-popup-menu-1)) | |
| 364 (easy-menu-add lisp-interaction-mode-popup-menu) | |
| 365 | |
| 350 (set-syntax-table emacs-lisp-mode-syntax-table) | 366 (set-syntax-table emacs-lisp-mode-syntax-table) |
| 351 (lisp-mode-variables nil) | 367 (lisp-mode-variables nil) |
| 352 (run-hooks 'lisp-interaction-mode-hook)) | 368 (run-hooks 'lisp-interaction-mode-hook)) |
| 353 | 369 |
| 354 (defun eval-print-last-sexp () | 370 (defun eval-print-last-sexp () |
