]> code.delx.au - gnu-emacs/blobdiff - lisp/progmodes/autoconf.el
Merge from emacs-23
[gnu-emacs] / lisp / progmodes / autoconf.el
index 004bb3de78dcedc4bcbbd4e783526f720889da2a..7e94692c6e3502e8f502891d43cde0af30a012f6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; autoconf.el --- mode for editing Autoconf configure.in files
 
-;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;; Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
@@ -78,14 +78,8 @@ searching backwards at another AC_... command."
          (match-string-no-properties 3)))))
 
 ;;;###autoload
-(defun autoconf-mode ()
+(define-derived-mode autoconf-mode prog-mode "Autoconf"
   "Major mode for editing Autoconf configure.in files."
-  (interactive)
-  (kill-all-local-variables)
-  (use-local-map autoconf-mode-map)
-  (setq major-mode 'autoconf-mode)
-  (setq mode-name "Autoconf")
-  (set-syntax-table autoconf-mode-syntax-table)
   (set (make-local-variable 'parens-require-spaces) nil) ; for M4 arg lists
   (set (make-local-variable 'defun-prompt-regexp)
        "^[ \t]*A[CM]_\\(\\sw\\|\\s_\\)+")
@@ -100,8 +94,7 @@ searching backwards at another AC_... command."
   (set (make-local-variable 'imenu-syntax-alist) '(("_" . "w")))
   (set (make-local-variable 'indent-line-function) #'indent-relative)
   (set (make-local-variable 'add-log-current-defun-function)
-       #'autoconf-current-defun-function)
-  (run-mode-hooks 'autoconf-mode-hook))
+       #'autoconf-current-defun-function))
 
 (provide 'autoconf-mode)
 (provide 'autoconf)