;ELC   
;;; Compiled by apenwarr@gmail.com on Tue Jul  2 19:17:57 2013
;;; from file /usr/local/google/apenwarr/athena/out.mstc/build/host-autoconf-2.65/lib/emacs/elc.30105/autoconf-mode.el
;;; in Emacs version 23.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\301B\302\301!\204 \303\301\304\"\210\301\207" [current-load-list autoconf-font-lock-keywords default-boundp set-default (("\\bdnl \\(.*\\)" 1 font-lock-comment-face t) ("\\$[0-9*#@]" . font-lock-variable-name-face) ("\\b\\(m4_\\)?\\(builtin\\|change\\(com\\|quote\\|word\\)\\|d\\(e\\(bug\\(file\\|mode\\)\\|cr\\|f\\(ine\\|n\\)\\)\\|iv\\(ert\\|num\\)\\|nl\\|umpdef\\)\\|e\\(rrprint\\|syscmd\\|val\\)\\|f\\(ile\\|ormat\\)\\|gnu\\|i\\(f\\(def\\|else\\)\\|n\\(c\\(lude\\|r\\)\\|d\\(ex\\|ir\\)\\)\\)\\|l\\(en\\|ine\\)\\|m\\(4\\(exit\\|wrap\\)\\|aketemp\\|kstemp\\)\\|p\\(atsubst\\|opdef\\|ushdef\\)\\|regexp\\|s\\(hift\\|include\\|ubstr\\|ys\\(cmd\\|val\\)\\)\\|tra\\(ceo\\(ff\\|n\\)\\|nslit\\)\\|un\\(d\\(efine\\|ivert\\)\\|ix\\)\\)\\b" . font-lock-keyword-face) ("^\\(\\(m4_\\)?define\\(_default\\)?\\|A._DEFUN\\|m4_defun\\(_once\\|_init\\)?\\)(\\[?\\([A-Za-z0-9_]+\\)" 5 font-lock-function-name-face) "default font-lock-keywords")] 3)
#@36 syntax table used in autoconf mode
(defvar autoconf-mode-syntax-table nil (#$ . 1528))
(byte-code "\303 \304\305\306#\210\304\307\310#\210\304\311\312#\210\304\313\314#\210\304\315\316#\210\304\317\320#\210\304\321\322#\210\304\323\324#\210\304\325\326#\210\327	B\330\327!\204R \331\327\332 \333\n\334\335#\210\n)\"\210\303\207" [autoconf-mode-syntax-table current-load-list map make-syntax-table modify-syntax-entry 34 "\"" 35 "<\n" 10 ">#" 40 "()" 41 ")(" 91 "(]" 93 ")[" 42 "." 95 "_" autoconf-mode-map default-boundp set-default make-sparse-keymap define-key [(control c) (\;)] comment-region] 6)
#@107 Autoconf value for `add-log-current-defun-function'.
This tells add-log.el how to find the current macro.
(defalias 'autoconf-current-defun #[nil "\212\300\301\302\303#\205 \304\224\304\225{)\207" [re-search-backward "^\\(m4_define\\(_default\\)?\\|m4_defun\\(_once\\|_init\\)?\\|A._DEFUN\\)(\\[*\\([A-Za-z0-9_]+\\)" nil t 4] 4 (#$ . 2148)])
#@78 A major-mode to edit Autoconf files like configure.ac.
\{autoconf-mode-map}

(defalias 'autoconf-mode #[nil "\306 \210\307!\210\310\301!\210\311\310\302!\210\312\310\303!\210\313\310\314!\210\315\316\317\f\320!\210\321\322!\207" [autoconf-mode-map add-log-current-defun-function comment-start parse-sexp-ignore-comments major-mode mode-name kill-all-local-variables use-local-map make-local-variable autoconf-current-defun "# " t font-lock-defaults autoconf-mode "Autoconf" (autoconf-font-lock-keywords nil) set-syntax-table run-hooks autoconf-mode-hook autoconf-mode-syntax-table] 2 (#$ . 2497) nil])
(provide 'autoconf-mode)
