Mercurial > hg > xemacs-beta
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)