Variable: autoconf-definition-regexp
autoconf-definition-regexp is a variable defined in autoconf.el.gz.
Value
"\\_<\\(?:AC_DEFINE\\(?:(\\[*\\(?1:\\(?:\\w\\|\\s_\\)+\\)\\(?2:(\\)?\\|_UNQUOTED(\\[*\\(?1:[^]),]+\\)\\)\\|\\(?:AC_SUBST\\|AH_TEMPLATE\\|AH_VERBATIM\\|AM_CONDITIONAL\\|AM_MISSING_PROG\\|\\(?2:\\(?:A\\(?:C_DEFUN\\(?:_ONCE\\)?\\|U_\\(?:ALIAS\\|DEFUN\\)\\)\\)\\)\\)(\\[*\\(?1:\\(?:\\w\\|\\s_\\)+\\)\\)"
Documentation
Matches Autoconf macro calls that define something.
The thing being defined is captured in the first subexpression group.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/autoconf.el.gz
(defconst autoconf-definition-regexp
;; Historically this `defconst' defined only group #1.
;; For internal Font Lock use, the presence of an optional group #2
;; identifies a function rather than variable definition.
(rx-let ((argbeg (: ?\( (* ?\[)))
(argend (in "]),"))
(plaindef (: argbeg (group-n 1 autoconf--symbol))))
(rx symbol-start
(| (: "AC_DEFINE"
;; AC_DEFINE and AC_DEFINE_UNQUOTED can define object- and
;; function-like CPP macros. An open-paren is easy to
;; detect in the case of AC_DEFINE. Doing the same for
;; AC_DEFINE_UNQUOTED in the general case requires
;; knowledge of shell syntax, so don't bother for now.
(| (: plaindef (? (group-n 2 ?\()))
(: "_UNQUOTED" argbeg (group-n 1 (+ (not argend))))))
(: (| "AC_SUBST"
"AH_TEMPLATE"
"AH_VERBATIM"
"AM_CONDITIONAL"
"AM_MISSING_PROG"
(group-n 2 (| "AC_DEFUN"
"AC_DEFUN_ONCE"
"AU_ALIAS"
"AU_DEFUN")))
plaindef))))
"Matches Autoconf macro calls that define something.
The thing being defined is captured in the first subexpression group.")