diff lisp/lisp-mode.el @ 412:697ef44129c6 r21-2-14

Import from CVS: tag r21-2-14
author cvs
date Mon, 13 Aug 2007 11:20:41 +0200
parents b8cc9ab3f761
children
line wrap: on
line diff
--- a/lisp/lisp-mode.el	Mon Aug 13 11:19:22 2007 +0200
+++ b/lisp/lisp-mode.el	Mon Aug 13 11:20:41 2007 +0200
@@ -1,7 +1,7 @@
 ;;; lisp-mode.el --- Lisp mode, and its idiosyncratic commands.
 
 ;; Copyright (C) 1985, 1996, 1997 Free Software Foundation, Inc.
-;; Copyright (C) 1995 Tinker Systems.
+;; Copyright (C) 1995 Tinker Systems
 
 ;; Maintainer: FSF
 ;; Keywords: lisp, languages, dumped
@@ -32,6 +32,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:
 
 (defgroup lisp nil
@@ -44,58 +46,55 @@
 (defvar lisp-mode-abbrev-table nil)
 
 ;; XEmacs change
-(defvar lisp-interaction-mode-popup-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]
-	      ["Evaluate %_Whole Buffer"     eval-current-buffer]
-	      ["Evaluate Re%_gion"	eval-region
+	      ["Evaluate Last S-expression" eval-last-sexp]
+	      ["Evaluate Entire Buffer"     eval-current-buffer]
+	      ["Evaluate Region"	eval-region
 	       :active (region-exists-p)]
 	      "---"
-	      ["%_Evaluate This Defun"      eval-defun]
-	      ["%_Instrument This Defun for Debugging" edebug-defun]
+	      ["Evaluate This Defun"      eval-defun]
+	      ;; FSF says "Instrument Function for Debugging"
+	      ["Debug This Defun"         edebug-defun]
 	      "---"
-	      ["Find %_Function Source..." find-function
-	       :active (fboundp 'find-function)]
-	      ["Find %_Variable Source..." find-variable
-	       :active (fboundp 'find-variable)]
-	      ["%_Trace Function..."   trace-function-background]
-	      ["%_Untrace All Functions"    untrace-all
+	      ["Trace a Function"   trace-function-background]
+	      ["Untrace All Functions"    untrace-all
 	       :active (fboundp 'untrace-all)]
 	      "---"
-	      ["%_Comment Out Region"	comment-region
+	      ["Comment Out Region"	comment-region
 	       :active (region-exists-p)]
+	      ["Indent Region"		indent-region
+	       :active (region-exists-p)]
+	      ["Indent Line"		lisp-indent-line]
 	      "---"
-	      ["Indent %_Line or Region"
-	       (if (region-exists-p)
-		   (call-interactively 'indent-region)
-		 (call-interactively 'lisp-indent-line))]
-	      ["Indent B%_alanced Expression"	indent-sexp]
-	      ["Indent %_Defun"
-	       (progn
-		 (beginning-of-defun)
-		 (indent-sexp))]
-	      "---"
-	      "Look for debug-on-error under Options->General"
+	      ["Debug On Error" (setq debug-on-error (not debug-on-error))
+	       :style toggle :selected debug-on-error]
+	      ["Debug On Quit" (setq debug-on-quit (not debug-on-quit))
+	       :style toggle :selected debug-on-quit]
+	      ["Debug on Signal" (setq debug-on-signal (not debug-on-signal))
+	       :style toggle :selected debug-on-signal]
 	      )))
 
-(defvar emacs-lisp-mode-popup-menu
+(defvar emacs-lisp-mode-popup-menu nil)
+(defvar emacs-lisp-mode-popup-menu-1
   (purecopy
    (nconc
     '("Emacs-Lisp"
-      ["%_Byte-Compile This File" emacs-lisp-byte-compile]
-      ["B%_yte-Compile/Load This File" emacs-lisp-byte-compile-and-load]
-      ["Byte-%_Recompile Directory..." byte-recompile-directory]
+      ["Byte-compile This File" emacs-lisp-byte-compile]
+      ["Byte-compile/load This" emacs-lisp-byte-compile-and-load]
+      ["Byte-recompile Directory..." byte-recompile-directory]
       "---")
-    (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.
-;Jan Vroonhof really wants this, so it's back.  --ben
-(defvar lisp-interaction-mode-menubar-menu
-  (purecopy (cons "%_Lisp" (cdr lisp-interaction-mode-popup-menu))))
+;(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))
@@ -275,20 +274,22 @@
   (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))
 
-(put 'emacs-lisp-mode 'font-lock-lisp-like t)
-
 (defvar lisp-mode-map ()
   "Keymap for ordinary Lisp mode.
 All commands in `shared-lisp-mode-map' are inherited by this map.")
@@ -363,14 +364,15 @@
   (use-local-map lisp-interaction-mode-map)
   (setq major-mode 'lisp-interaction-mode)
   (setq mode-name "Lisp Interaction")
-  (setq mode-popup-menu lisp-interaction-mode-popup-menu)
-  (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 lisp-interaction-mode-menubar-menu)))
+  ;; XEmacs change
+  ;; (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))
@@ -756,7 +758,6 @@
 (put 'let 'lisp-indent-function 1)
 (put 'let* 'lisp-indent-function 1)
 (put 'let-specifier 'lisp-indent-function 1)
-(put 'flet 'lisp-indent-function 1)
 (put 'while 'lisp-indent-function 1)
 (put 'if 'lisp-indent-function 2)
 (put 'catch 'lisp-indent-function 1)