1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-17 08:31:09 -08:00
emacs/doc/lispref
Basil L. Contovounesios 2e3cf73e05 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.
2025-02-17 17:28:05 -08:00
..
abbrevs.texi Update copyright year to 2025 2025-01-02 18:39:42 +01:00
anti.texi Update copyright year to 2025 2025-01-02 18:39:42 +01:00
back.texi Update copyright year to 2025 2025-01-02 18:39:42 +01:00
backups.texi Add inhibit-auto-revert macro 2025-02-04 14:09:52 +01:00
book-spine.texi
buffers.texi Update copyright year to 2025 2025-01-02 18:39:42 +01:00
ChangeLog.1 Update copyright year to 2025 2025-01-02 18:39:42 +01:00
commands.texi New function insert-special-event and special event sleep-event 2025-02-07 12:04:05 +01:00
compile.texi Update copyright year to 2025 2025-01-02 18:39:42 +01:00
control.texi Update copyright year to 2025 2025-01-02 18:39:42 +01:00
customize.texi ; Fix cross-references in Texinfo manuals 2025-01-19 08:23:23 +02:00
debugging.texi Update copyright year to 2025 2025-01-02 18:39:42 +01:00
display.texi ; Fix last change 2025-01-26 17:50:34 +02:00
doclicense.texi
edebug.texi Revert "Revert "Use @xref more consistently; "See @ref" -> "@xref""" 2025-01-19 08:06:48 +02:00
elisp.texi Merge branch 'scratch/no-purespace' into 'master' 2025-02-01 04:56:52 +01:00
elisp_type_hierarchy.jpg Run admin/syncdoc-type-hierarchy.el 2024-04-23 15:39:28 +02:00
elisp_type_hierarchy.txt Run admin/syncdoc-type-hierarchy.el 2024-04-23 15:39:28 +02:00
errors.texi Update copyright year to 2025 2025-01-02 18:39:42 +01:00
eval.texi Update copyright year to 2025 2025-01-02 18:39:42 +01:00
files.texi Improve documentation of 'file-name-concat' 2025-02-06 10:42:04 +02:00
frames.texi Merge remote-tracking branch 'origin/emacs-30' 2025-02-05 20:21:03 -05:00
functions.texi Merge from savannah/emacs-30 2025-02-15 16:58:55 +08:00
gpl.texi
hash.texi Avoid double spaces around abbrevations in Texinfo 2025-01-24 23:10:23 +01:00
help.texi Lisp Reference Manual: Index standard symbol properties. 2025-01-12 20:16:00 -08:00
hooks.texi Update copyright year to 2025 2025-01-02 18:39:42 +01:00
index.texi
internals.texi Merge branch 'scratch/no-purespace' into 'master' 2025-02-01 04:56:52 +01:00
intro.texi Update copyright year to 2025 2025-01-02 18:39:42 +01:00
keymaps.texi Merge branch 'scratch/no-purespace' into 'master' 2025-02-01 04:56:52 +01:00
lay-flat.texi Update copyright year to 2025 2025-01-02 18:39:42 +01:00
lists.texi Avoid double spaces around abbrevations in Texinfo 2025-01-24 23:10:23 +01:00
loading.texi Update copyright year to 2025 2025-01-02 18:39:42 +01:00
macros.texi Update copyright year to 2025 2025-01-02 18:39:42 +01:00
Makefile.in Update copyright year to 2025 2025-01-02 18:39:42 +01:00
maps.texi Update copyright year to 2025 2025-01-02 18:39:42 +01:00
markers.texi Update copyright year to 2025 2025-01-02 18:39:42 +01:00
minibuf.texi Add optional PREDICATE argument to read-directory-name 2025-02-13 08:32:28 +01:00
modes.texi Improve autoconf-mode macro detection 2025-02-17 17:28:05 -08:00
nonascii.texi Merge from origin/emacs-30 2025-01-25 10:06:19 -05:00
numbers.texi New functions plusp and minusp 2025-02-17 22:46:56 +01:00
objects.texi ; Improve documentation of function-type display 2025-01-07 17:20:22 +02:00
os.texi Merge branch 'scratch/no-purespace' into 'master' 2025-02-01 04:56:52 +01:00
package.texi Merge from savannah/emacs-30 2025-02-15 16:58:55 +08:00
parsing.texi ; Fix last change 2025-01-20 14:39:20 +02:00
peg.texi Update copyright year to 2025 2025-01-02 18:39:42 +01:00
positions.texi Update copyright year to 2025 2025-01-02 18:39:42 +01:00
processes.texi Merge from origin/emacs-30 2025-01-25 10:06:19 -05:00
README Update copyright year to 2025 2025-01-02 18:39:42 +01:00
records.texi Update copyright year to 2025 2025-01-02 18:39:42 +01:00
searching.texi Avoid double spaces around abbrevations in Texinfo 2025-01-24 23:10:23 +01:00
sequences.texi Lisp Reference Manual: Index standard symbol properties. 2025-01-12 20:16:00 -08:00
spellfile Make 'purecopy' an obsolete function alias for 'identity' 2024-12-12 22:48:21 +01:00
streams.texi Update copyright year to 2025 2025-01-02 18:39:42 +01:00
strings.texi Fix clear-string crash with text properties 2025-01-15 23:16:19 +01:00
symbols.texi Merge from origin/emacs-30 2025-02-01 07:40:19 -05:00
syntax.texi Avoid double spaces around abbrevations in Texinfo 2025-01-24 23:10:23 +01:00
text.texi Merge from origin/emacs-30 2025-01-25 10:06:19 -05:00
threads.texi Update copyright year to 2025 2025-01-02 18:39:42 +01:00
tips.texi * doc/lispref: new node "Finding Definitions" 2025-01-22 18:31:10 -08:00
two-volume-cross-refs.txt Update copyright year to 2025 2025-01-02 18:39:42 +01:00
two-volume.make Update copyright year to 2025 2025-01-02 18:39:42 +01:00
variables.texi Merge from origin/emacs-30 2025-02-08 07:36:34 -05:00
windows.texi Fix two more drawings in windows.texi 2025-01-28 18:46:31 +01:00

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Copyright (C) 2001-2025 Free Software Foundation, Inc.  -*- outline -*-
See the end of the file for license conditions.


README for the Emacs Lisp Reference Manual.

* This directory contains the texinfo source files for the Emacs Lisp
Reference Manual.

* Report bugs in the Lisp Manual (or in Emacs) using M-x report-emacs-bug.
To ask questions, use the help-gnu-emacs mailing list.

* The Emacs Lisp Reference Manual is quite large.  It totals around
1100 pages in smallbook format; the info files total around 3.0 megabytes.

* You can format this manual for Info, for printing hardcopy using TeX,
or for HTML.

* You can buy nicely printed copies from the Free Software Foundation.
Buying a manual from the Free Software Foundation helps support our GNU
development work.  See <https://shop.fsf.org/>.
(At time of writing, this manual is out of print.)

* The master file for formatting this manual for Tex is called 'elisp.texi'.
It contains @include commands to include all the chapters that make up
the manual.

* This distribution contains a Makefile that you can use with GNU Make.

** To make an Info file, you need to install Texinfo, then run 'make info'.

** Use 'make elisp.pdf' or 'make elisp.html' to create PDF or HTML versions.


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 <https://www.gnu.org/licenses/>.