X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/ab422c4d6899b1442cb6954c1829c1fb656b006c..ba3189039adc8ec5eba5ed3e21d42019a4616b7c:/lisp/progmodes/autoconf.el diff --git a/lisp/progmodes/autoconf.el b/lisp/progmodes/autoconf.el index 7a24192cee..7baf906896 100644 --- a/lisp/progmodes/autoconf.el +++ b/lisp/progmodes/autoconf.el @@ -1,6 +1,6 @@ ;;; autoconf.el --- mode for editing Autoconf configure.ac files -;; Copyright (C) 2000-2013 Free Software Foundation, Inc. +;; Copyright (C) 2000-2014 Free Software Foundation, Inc. ;; Author: Dave Love ;; Keywords: languages @@ -41,10 +41,10 @@ "Hook run by `autoconf-mode'.") (defconst autoconf-definition-regexp - "A\\(?:H_TEMPLATE\\|C_\\(?:SUBST\\|DEFINE\\(?:_UNQUOTED\\)?\\)\\)(\\[*\\(\\sw+\\)\\]*") + "A\\(?:H_TEMPLATE\\|C_\\(?:SUBST\\|DEFINE\\(?:_UNQUOTED\\)?\\)\\)(\\[*\\(\\(?:\\sw\\|\\s_\\)+\\)\\]*") (defvar autoconf-font-lock-keywords - `(("\\_" (0 "<")))) - (set (make-local-variable 'font-lock-defaults) - `(autoconf-font-lock-keywords nil nil (("_" . "w")))) - (set (make-local-variable 'imenu-generic-expression) - autoconf-imenu-generic-expression) - (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)) + (setq-local parens-require-spaces nil) ; for M4 arg lists + (setq-local defun-prompt-regexp "^[ \t]*A[CM]_\\(\\sw\\|\\s_\\)+") + (setq-local comment-start "dnl ") + ;; We want to avoid matching "dnl" in other text. + (setq-local comment-start-skip "\\(?:\\(\\W\\|^\\)dnl\\|#\\) +") + (setq-local syntax-propertize-function + (syntax-propertize-rules ("\\" (0 "<")))) + (setq-local font-lock-defaults + `(autoconf-font-lock-keywords nil nil)) + (setq-local imenu-generic-expression autoconf-imenu-generic-expression) + (setq-local indent-line-function #'indent-relative) + (setq-local add-log-current-defun-function + #'autoconf-current-defun-function)) (provide 'autoconf-mode) (provide 'autoconf)