changeset 108181:cb92a959c5ff

* emacs-lisp/lisp-mode.el (lisp-mode): Use define-derived-mode. Set find-tag-default-function as a variable rather than a property.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Fri, 30 Apr 2010 21:29:12 -0400
parents b781593bacdc
children 7aa45e6e5f62
files lisp/ChangeLog lisp/emacs-lisp/lisp-mode.el
diffstat 2 files changed, 6 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Fri Apr 30 21:27:16 2010 -0400
+++ b/lisp/ChangeLog	Fri Apr 30 21:29:12 2010 -0400
@@ -1,5 +1,8 @@
 2010-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+	* emacs-lisp/lisp-mode.el (lisp-mode): Use define-derived-mode.
+	Set find-tag-default-function as a variable rather than a property.
+
 	* minibuffer.el (tags-completion-at-point-function): Move to etags.el.
 	* progmodes/etags.el (tags-completion-at-point-function):
 	Remove left over interactive spec.  Add autoloading stub.
--- a/lisp/emacs-lisp/lisp-mode.el	Fri Apr 30 21:27:16 2010 -0400
+++ b/lisp/emacs-lisp/lisp-mode.el	Fri Apr 30 21:29:12 2010 -0400
@@ -466,7 +466,7 @@
   "Keymap for ordinary Lisp mode.
 All commands in `lisp-mode-shared-map' are inherited by this map.")
 
-(defun lisp-mode ()
+(define-derived-mode lisp-mode nil "Lisp"
   "Major mode for editing Lisp code for Lisps other than GNU Emacs Lisp.
 Commands:
 Delete converts tabs to spaces as it moves back.
@@ -478,19 +478,12 @@
 
 Entry to this mode calls the value of `lisp-mode-hook'
 if that value is non-nil."
-  (interactive)
-  (kill-all-local-variables)
-  (use-local-map lisp-mode-map)
-  (setq major-mode 'lisp-mode)
-  (setq mode-name "Lisp")
   (lisp-mode-variables nil t)
+  (set (make-local-variable 'find-tag-default-function) 'lisp-find-tag-default)
   (make-local-variable 'comment-start-skip)
   (setq comment-start-skip
        "\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\)\\(;+\\|#|\\) *")
-  (setq imenu-case-fold-search t)
-  (set-syntax-table lisp-mode-syntax-table)
-  (run-mode-hooks 'lisp-mode-hook))
-(put 'lisp-mode 'find-tag-default-function 'lisp-find-tag-default)
+  (setq imenu-case-fold-search t))
 
 (defun lisp-find-tag-default ()
   (let ((default (find-tag-default)))