Mercurial > emacs
view lisp/progmodes/autoconf.el @ 96303:ddedcecb18ef
* unexnext.c:
* m/ews4800.h:
* m/hp9000s300.h:
* m/ibm370aix.h:
* m/mips-siemens.h:
* m/ncr386.h:
* m/next.h:
* m/pmax.h:
* m/powerpcle.h:
* m/tandem-s2.h:
* s/386bsd.h:
* s/bsd386.h:
* s/bsd4-1.h:
* s/bsd4-2.h:
* s/bsdos2-1.h:
* s/bsdos2.h:
* s/bsdos3.h:
* s/bsdos4.h:
* s/nextstep.h:
* s/ultrix4-3.h:
* s/usg5-0.h:
* s/usg5-2-2.h:
* s/usg5-2.h:
* s/usg5-4-3.h:
* s/ux4800.h:
* s/uxpds.h:
* s/uxpv.h: Remove support for obsolete systems.
* s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
Remove, insert contents in s/hpux-10.20.h
* s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
Remove, insert contents in s/aix-4.2.h
* s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
* s/bsd4-3.h: Rename to ..
* s/bsd-common.h: ... this.
* src/data.c:
* src/doc.c:
* src/ecrt0.c:
* src/emacs.c:
* src/fileio.c:
* src/floatfns.c:
* src/keyboard.c:
* src/mem-limits.h:
* src/print.c:
* src/process.c:
* src/sysdep.c:
* src/syssignal.h:
* src/systty.h:
* src/syswait.h:
* src/term.c:
* src/unexec.c:
* src/unexelf.c:
* src/unexhp9k800.c:
* src/m/hp800.h:
* src/m/ibmrs6000.h:
* src/m/mips.h:
* src/m/vax.h:
* src/s/darwin.h:
* src/s/freebsd.h:
* src/s/gnu.h:
* src/s/ms-w32.h:
* src/s/msdos.h:
* src/s/netbsd.h:
* src/s/template.h: Remove references to obsolete variables.
* Makefile.in: Add dependencies for all unexec files.
(admindir): Remove unused variable.
(UNEXEC_SRC): Remove references.
* config.nt: Remove reference to UNEXEC_SRC.
* lwlib.c: Remove references to obsolete variables.
* fakemail.c: Remove references to obsolete variables.
* os.texi: Remove references to obsolete systems.
* configure.in:
* configure: Remove references to obsolete systems.
author | Dan Nicolaescu <dann@ics.uci.edu> |
---|---|
date | Thu, 26 Jun 2008 04:24:54 +0000 |
parents | 52b7a8c22af5 |
children | a9dc0e7c3f2b |
line wrap: on
line source
;;; autoconf.el --- mode for editing Autoconf configure.in files ;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: Dave Love <fx@gnu.org> ;; Keywords: languages ;; This file is part of GNU Emacs. ;; GNU Emacs is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. ;;; Commentary: ;; Provides fairly minimal font-lock, imenu and indentation support ;; for editing configure.in files. Only Autoconf syntax is processed. ;; There is no attempt to deal with shell text -- probably that will ;; always lose. ;; This is specialized for configure.in files. It doesn't inherit the ;; general M4 stuff from M4 mode. ;; There is also an autoconf-mode.el in existence. That appears to be ;; for editing the Autoconf M4 source, rather than configure.in files. ;;; Code: (defvar font-lock-syntactic-keywords) (defvar autoconf-mode-map (make-sparse-keymap)) (defvar autoconf-mode-hook nil "Hook run by `autoconf-mode'.") (defconst autoconf-font-lock-syntactic-keywords '(("\\<dnl\\>" 0 '(11)))) (defconst autoconf-definition-regexp "AC_\\(SUBST\\|DEFINE\\(_UNQUOTED\\)?\\)(\\[*\\(\\sw+\\)\\]*") (defvar autoconf-font-lock-keywords `(("\\_<A[CHMS]_\\sw+" . font-lock-keyword-face) (,autoconf-definition-regexp 3 font-lock-function-name-face) ;; Are any other M4 keywords really appropriate for configure.in, ;; given that we do `dnl'? ("changequote" . font-lock-keyword-face))) (defvar autoconf-mode-syntax-table (let ((table (make-syntax-table))) (modify-syntax-entry ?\" "." table) (modify-syntax-entry ?\n ">" table) (modify-syntax-entry ?# "<" table) table)) (defvar autoconf-imenu-generic-expression (list (list nil autoconf-definition-regexp 3))) ;; It's not clear how best to implement this. (defun autoconf-current-defun-function () "Function to use for `add-log-current-defun-function' in Autoconf mode. This version looks back for an AC_DEFINE or AC_SUBST. It will stop searching backwards at another AC_... command." (save-excursion (with-syntax-table (copy-syntax-table autoconf-mode-syntax-table) (modify-syntax-entry ?_ "w") (if (re-search-backward autoconf-definition-regexp (save-excursion (beginning-of-defun) (point)) t) (match-string-no-properties 3))))) ;;;###autoload (defun autoconf-mode () "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_\\)+") (set (make-local-variable 'comment-start) "dnl ") (set (make-local-variable 'comment-start-skip) "\\(?:\\<dnl\\|#\\) +") (set (make-local-variable 'font-lock-syntactic-keywords) autoconf-font-lock-syntactic-keywords) (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) (run-mode-hooks 'autoconf-mode-hook)) (provide 'autoconf-mode) ;; arch-tag: 4f44778f-2ab3-49a1-a103-f0acb9df2de4 ;;; autoconf.el ends here