summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorBasil L. Contovounesios <basil@contovou.net>2025-01-29 14:05:39 +0100
committerPaul Eggert <eggert@cs.ucla.edu>2025-02-17 17:28:05 -0800
commit2e3cf73e055be69d42a6f84436d400caf0997abb (patch)
tree6c0fab37fd031748a93efa9720018d2197d98938 /lisp/emacs-lisp
parent9cedb434ee390a30a690e9f979428c5735cb88e5 (diff)
downloademacs-2e3cf73e055be69d42a6f84436d400caf0997abb.tar.gz
emacs-2e3cf73e055be69d42a6f84436d400caf0997abb.tar.bz2
emacs-2e3cf73e055be69d42a6f84436d400caf0997abb.zip
Improve autoconf-mode macro detection
* doc/lispref/modes.texi (Search-based Fontification): Fix indentation of (MATCHER . FACESPEC) example. * doc/misc/cc-mode.texi (Performance Issues): Index defun-prompt-regexp under variables, not functions. * lisp/progmodes/autoconf.el (autoconf--symbol, autoconf--macro): New rx definitions. (autoconf-definition-regexp): Use an optional second capture group to indicate a function rather than variable definition. Detect AC_DEFINE defining a function-like CPP macro. Skip more shell syntax such as variable ${} expansion and command `` substitution in AC_DEFINE_UNQUOTED variable. Match AH_VERBATIM, AM_CONDITIONAL, and AM_MISSING_PROG as defining variables, and AC_DEFUN, AC_DEFUN_ONCE, AU_ALIAS, and AU_DEFUN as defining functions. Document first capture group in docstring. (autoconf-font-lock-keywords): Use autoconf--macro to match more Autoconf macros, such as those defined in the Autoconf Archive and Gnulib. Reserve font-lock-function-name-face for function definitions as determined by autoconf-definition-regexp, and use font-lock-variable-name-face for the rest instead. Use Font Lock face symbols directly in place of their corresponding variable. Fontify M4 changequote primitive only as a standalone symbol. (autoconf-imenu-generic-expression): Add commentary mentioning new submenu possibility. (autoconf-current-defun-function): Update docstring accuracy. Replace line-end-position with pos-eol since there are no fields. (autoconf-mode): Define defun-prompt-regexp in terms of autoconf--macro to support more toplevel macros, such as those defined in Autoheader, M4sh, etc. Set open-paren-in-column-0-is-defun-start to nil to avoid false positives when an Autoconf quote character is in column zero. * test/lisp/progmodes/autoconf-resources/configure.ac: New file. * test/lisp/progmodes/autoconf-tests.el (autoconf-tests-current-defun-function-define) (autoconf-tests-current-defun-function-subst): Replace character motion with search. (autoconf-tests-autoconf-mode-comment-syntax): Ditto. Test both dnl and # comments. Use syntax-ppss-context. (autoconf-tests-font-lock): New test.
Diffstat (limited to 'lisp/emacs-lisp')
0 files changed, 0 insertions, 0 deletions