X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Flisp-mode.el;h=502a93c846868a701cd2d79a2bbab9e4dc05d419;hb=4e344277e13cd8813592afc6b0bfb89474f0cbb0;hp=e5e97eca8e5a133507691f9bc4e9f23ec4cfe311;hpb=a5f466de30a3e927ed1146b0c7e3870e71465c8f;p=chise%2Fxemacs-chise.git- diff --git a/lisp/lisp-mode.el b/lisp/lisp-mode.el index e5e97ec..502a93c 100644 --- a/lisp/lisp-mode.el +++ b/lisp/lisp-mode.el @@ -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,8 +32,6 @@ ;; 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 @@ -46,55 +44,58 @@ (defvar lisp-mode-abbrev-table nil) ;; XEmacs change -(defvar lisp-interaction-mode-popup-menu nil) -(defvar lisp-interaction-mode-popup-menu-1 +(defvar lisp-interaction-mode-popup-menu (purecopy '("Lisp-Interaction" - ["Evaluate Last S-expression" eval-last-sexp] - ["Evaluate Entire Buffer" eval-current-buffer] - ["Evaluate Region" eval-region + ["Evaluate Last %_S-expression" eval-last-sexp] + ["Evaluate %_Whole Buffer" eval-current-buffer] + ["Evaluate Re%_gion" eval-region :active (region-exists-p)] "---" - ["Evaluate This Defun" eval-defun] - ;; FSF says "Instrument Function for Debugging" - ["Debug This Defun" edebug-defun] + ["%_Evaluate This Defun" eval-defun] + ["%_Instrument This Defun for Debugging" edebug-defun] "---" - ["Trace a Function" trace-function-background] - ["Untrace All Functions" untrace-all + ["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 :active (fboundp 'untrace-all)] "---" - ["Comment Out Region" comment-region - :active (region-exists-p)] - ["Indent Region" indent-region + ["%_Comment Out Region" comment-region :active (region-exists-p)] - ["Indent Line" lisp-indent-line] "---" - ["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] + ["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" ))) -(defvar emacs-lisp-mode-popup-menu nil) -(defvar emacs-lisp-mode-popup-menu-1 +(defvar emacs-lisp-mode-popup-menu (purecopy (nconc '("Emacs-Lisp" - ["Byte-compile This File" emacs-lisp-byte-compile] - ["Byte-compile/load This" emacs-lisp-byte-compile-and-load] - ["Byte-recompile Directory..." byte-recompile-directory] + ["%_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] "---") - (cdr lisp-interaction-mode-popup-menu-1)))) + (cdr lisp-interaction-mode-popup-menu)))) ;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)))) +;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 emacs-lisp-mode-menubar-menu nil) -(defvar emacs-lisp-mode-menubar-menu-1 - (purecopy (cons "Lisp" (cdr emacs-lisp-mode-popup-menu-1)))) +(defvar emacs-lisp-mode-menubar-menu + (purecopy (cons "%_Lisp" (cdr emacs-lisp-mode-popup-menu)))) (if (not emacs-lisp-mode-syntax-table) (let ((i 0)) @@ -274,22 +275,20 @@ if that value is non-nil." (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))) - (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) + (set-buffer-menubar current-menubar) + (add-submenu nil emacs-lisp-mode-menubar-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.") @@ -364,15 +363,14 @@ if that value is non-nil." (use-local-map lisp-interaction-mode-map) (setq major-mode 'lisp-interaction-mode) (setq mode-name "Lisp Interaction") - ;; 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) - + (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))) (set-syntax-table emacs-lisp-mode-syntax-table) (lisp-mode-variables nil) (run-hooks 'lisp-interaction-mode-hook)) @@ -758,6 +756,7 @@ of the start of the containing expression." (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)