Mercurial > hg > xemacs-beta
diff 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 |
line wrap: on
line diff
--- a/lisp/modes/lisp-mode.el Mon Aug 13 09:45:48 2007 +0200 +++ b/lisp/modes/lisp-mode.el Mon Aug 13 09:46:53 2007 +0200 @@ -30,6 +30,8 @@ ;; The base major mode for editing Lisp code (used also for Emacs Lisp). ;; This mode is documented in the Emacs manual +;; July/05/97 slb Converted to use easymenu. + ;;; Code: (defvar lisp-mode-syntax-table nil "") @@ -37,8 +39,9 @@ (defvar lisp-mode-abbrev-table nil "") ;; XEmacs change -(defvar lisp-interaction-mode-popup-menu - (purecopy '("Lisp Interaction Menu" +(defvar lisp-interaction-mode-popup-menu nil) +(defvar lisp-interaction-mode-popup-menu-1 + (purecopy '("Lisp-Interaction" ["Evaluate Last S-expression" eval-last-sexp t] ["Evaluate Entire Buffer" eval-current-buffer t] ["Evaluate Region" eval-region (region-exists-p)] @@ -60,22 +63,24 @@ :style toggle :selected debug-on-quit] ))) -(defvar emacs-lisp-mode-popup-menu +(defvar emacs-lisp-mode-popup-menu nil) +(defvar emacs-lisp-mode-popup-menu-1 (purecopy (nconc - '("Emacs-Lisp Menu" + '("Emacs-Lisp" ["Byte-compile This File" emacs-lisp-byte-compile t] ["Byte-recompile Directory..." byte-recompile-directory t] "---") - (cdr lisp-interaction-mode-popup-menu)))) + (cdr lisp-interaction-mode-popup-menu-1)))) ;Don't have a menubar entry in Lisp Interaction mode. Otherwise, the ;*scratch* buffer has a Lisp menubar item! Very confusing. ;(defvar lisp-interaction-mode-menubar-menu ; (purecopy (cons "Lisp" (cdr lisp-interaction-mode-popup-menu)))) -(defvar emacs-lisp-mode-menubar-menu - (purecopy (cons "Lisp" (cdr emacs-lisp-mode-popup-menu)))) +(defvar emacs-lisp-mode-menubar-menu nil) +(defvar emacs-lisp-mode-menubar-menu-1 + (purecopy (cons "Lisp" (cdr emacs-lisp-mode-popup-menu-1)))) (if (not emacs-lisp-mode-syntax-table) (let ((i 0)) @@ -259,15 +264,19 @@ (set-syntax-table emacs-lisp-mode-syntax-table) ;; XEmacs changes (setq major-mode 'emacs-lisp-mode - mode-popup-menu emacs-lisp-mode-popup-menu + ;; mode-popup-menu emacs-lisp-mode-popup-menu mode-name "Emacs-Lisp") - (if (and (featurep 'menubar) - current-menubar) - (progn + ;; (if (and (featurep 'menubar) + ;; current-menubar) + ;; (progn ;; make a local copy of the menubar, so our modes don't ;; change the global menubar - (set-buffer-menubar current-menubar) - (add-submenu nil emacs-lisp-mode-menubar-menu))) + ;; (set-buffer-menubar current-menubar) + ;; (add-submenu nil emacs-lisp-mode-menubar-menu))) + (unless emacs-lisp-mode-popup-menu + (easy-menu-define emacs-lisp-mode-popup-menu emacs-lisp-mode-map "" + emacs-lisp-mode-popup-menu-1)) + (easy-menu-add emacs-lisp-mode-popup-menu) (lisp-mode-variables nil) (run-hooks 'emacs-lisp-mode-hook)) @@ -346,7 +355,14 @@ (setq major-mode 'lisp-interaction-mode) (setq mode-name "Lisp Interaction") ;; XEmacs change - (setq mode-popup-menu lisp-interaction-mode-popup-menu) + ;; (setq mode-popup-menu lisp-interaction-mode-popup-menu) + (unless lisp-interaction-mode-popup-menu + (easy-menu-define lisp-interaction-mode-popup-menu + lisp-interaction-mode-map + "" + lisp-interaction-mode-popup-menu-1)) + (easy-menu-add lisp-interaction-mode-popup-menu) + (set-syntax-table emacs-lisp-mode-syntax-table) (lisp-mode-variables nil) (run-hooks 'lisp-interaction-mode-hook))