changeset 108521:6985fcf16f42

* progmodes/sh-script.el (sh-mode): Use define-derived-mode.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Wed, 12 May 2010 20:44:22 -0400
parents a4cdc6d33cc6
children 0d518077d6bd 026171c3d880
files lisp/ChangeLog lisp/progmodes/sh-script.el
diffstat 2 files changed, 4 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Wed May 12 20:35:07 2010 -0400
+++ b/lisp/ChangeLog	Wed May 12 20:44:22 2010 -0400
@@ -1,5 +1,7 @@
 2010-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+	* progmodes/sh-script.el (sh-mode): Use define-derived-mode.
+
 	* dos-fns.el: Add "dos-" prefix for namespace control.
 	(convert-standard-filename): Define as alias for
 	dos-convert-standard-filename but only if applicable.
--- a/lisp/progmodes/sh-script.el	Wed May 12 20:35:07 2010 -0400
+++ b/lisp/progmodes/sh-script.el	Wed May 12 20:44:22 2010 -0400
@@ -1480,7 +1480,7 @@
 ;; mode-command and utility functions
 
 ;;;###autoload
-(defun sh-mode ()
+(define-derived-mode sh-mode prog-mode "Shell-script"
   "Major mode for editing shell scripts.
 This mode works for many shells, since they all have roughly the same syntax,
 as far as commands, arguments, variables, pipes, comments etc. are concerned.
@@ -1533,11 +1533,6 @@
 
 If your shell gives error messages with line numbers, you can use \\[executable-interpret]
 with your script for an edit-interpret-debug cycle."
-  (interactive)
-  (kill-all-local-variables)
-  (setq major-mode 'sh-mode
-	mode-name "Shell-script")
-  (use-local-map sh-mode-map)
   (make-local-variable 'skeleton-end-hook)
   (make-local-variable 'paragraph-start)
   (make-local-variable 'paragraph-separate)
@@ -1613,8 +1608,7 @@
           "sh")
          (t
           sh-shell-file))
-   nil nil)
-  (run-mode-hooks 'sh-mode-hook))
+   nil nil))
 
 ;;;###autoload
 (defalias 'shell-script-mode 'sh-mode)