1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-03 02:31:03 -08:00
emacs/doc/lispref
Stefan Kangas 3d3c109460 Make font-lock face variables obsolete
Using these variables as "another mechanism for changing face
appearance" never really worked, since mode authors were free to use the
face instead of the variable (i.e. quoting the symbol).  This means that
when users customized the variables, it would change its appearance only
in some cases, which is a rather surprising interface.

Indeed, it turns out that some modes have not always been consistent,
and mixed using the variable and the face, increasing the confusion even
further.  Thus, the only thing users could rely on to always work was to
leave the variables at their default value, and to customize the face.

We now recommend customizing the face, and are obsoleting these
variables.  This will lead to some minor code-churn, but it is believed
that it will be ultimately worth it.  To fix existing Lisp code, you
should typically only need to quote the symbol, as this commit shows.

It might be the case that we will have to keep the obsolete variables,
that have been with us since Emacs 19, around for a longer time-period
than normal, to allow package authors to adapt.

* lisp/font-lock.el (font-lock-comment-face)
(font-lock-comment-delimiter-face, font-lock-string-face)
(font-lock-doc-face, font-lock-doc-markup-face, font-lock-keyword-face)
(font-lock-builtin-face, font-lock-function-name-face)
(font-lock-variable-name-face, font-lock-type-face)
(font-lock-constant-face, font-lock-warning-face)
(font-lock-negation-char-face, font-lock-preprocessor-face): Make face
variables obsolete in favor of customizing the faces directly
instead.  (Bug#71469)

* doc/lispref/modes.texi (Faces for Font Lock): Don't document above
obsolete variables.

* lisp/cedet/data-debug.el (data-debug-insert-hash-table)
(data-debug-insert-widget-properties, data-debug-insert-string)
(data-debug-insert-number):
* lisp/emacs-lisp/lisp-mode.el (elisp--font-lock-backslash)
(lisp-font-lock-syntactic-face-function):
* lisp/emacs-lisp/package.el (describe-package-1):
* lisp/generic-x.el (rc-generic-mode, rul-generic-mode):
* lisp/org/org-table.el (org-table-edit-formulas):
* lisp/progmodes/cc-fonts.el (c-font-lock-invalid-single-quotes)
(c-maybe-font-lock-wrong-style-comments, c-font-lock-declarators)
(c-font-lock-c++-lambda-captures, c-font-lock-c++-modules):
* lisp/progmodes/cperl-mode.el (cperl-find-sub-attrs)
(cperl-look-at-leading-count, cperl-process-here-doc)
(cperl-find-pods-heres):
* lisp/progmodes/gdb-mi.el (gdb-init-1, gdb-update, gdb-running)
(gdb-starting, gdb-stopped, gdb-internals)
(gdb-breakpoints--add-breakpoint-row, gdb-locals-handler-custom)
(gdb-registers-handler-custom, gdb-get-source-file):
* lisp/progmodes/js.el (js--font-lock-keywords-1)
(js--font-lock-keywords-2, js-font-lock-syntactic-face-function):
* lisp/progmodes/lua-ts-mode.el (lua-ts--comment-font-lock):
* lisp/progmodes/meta-mode.el (meta-indent-in-string-p):
* lisp/progmodes/prolog.el (prolog-font-lock-keywords):
* lisp/progmodes/python.el (python-font-lock-syntactic-face-function):
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--comment-font-lock):
* lisp/progmodes/sh-script.el (sh-font-lock-syntactic-face-function):
* lisp/textmodes/tex-mode.el (doctex-font-lock-syntactic-face-function):
* test/lisp/faces-tests.el (faces--test-color-at-point):
* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-extra-delimiters)
(cperl-test-bug-47112, cperl-test-bug-65834, cperl-test-bug-66145)
(cperl-test-bug-66161, cperl-test-bug-69604):
* test/lisp/progmodes/python-tests.el
(python-ts-mode-compound-keywords-face)
(python-ts-mode-named-assignment-face-1)
(python-ts-mode-assignment-face-2, python-ts-mode-nested-types-face-1)
(python-ts-mode-union-types-face-1, python-ts-mode-union-types-face-2)
(python-ts-mode-types-face-1, python-ts-mode-types-face-2)
(python-ts-mode-types-face-3, python-ts-mode-isinstance-type-face-1)
(python-ts-mode-isinstance-type-face-2)
(python-ts-mode-isinstance-type-face-3)
(python-ts-mode-superclass-type-face, python-ts-mode-class-patterns-face)
(python-ts-mode-dotted-decorator-face-1)
(python-ts-mode-dotted-decorator-face-2)
(python-ts-mode-builtin-call-face)
(python-ts-mode-interpolation-nested-string)
(python-ts-mode-level-fontification-wo-interpolation)
(python-ts-mode-disabled-string-interpolation)
(python-ts-mode-interpolation-doc-string):
* test/lisp/progmodes/ruby-mode-tests.el
(ruby-heredoc-font-lock, ruby-heredoc-highlights-interpolations)
(ruby-exit!-font-lock, ruby-regexp-interpolation-is-highlighted)
(ruby-recognize-symbols-starting-with-at-character)
(ruby-hash-character-not-interpolation)
(ruby-interpolation-suppresses-quotes-inside)
(ruby-interpolation-suppresses-one-double-quote)
(ruby-interpolation-inside-percent-literal)
(ruby-interpolation-inside-percent-literal-with-paren)
(ruby-interpolation-inside-another-interpolation)
(ruby-interpolation-inside-double-quoted-percent-literals)
(ruby-no-interpolation-in-single-quoted-literals):
Don't use above obsolete variables.
* lisp/progmodes/cc-fonts.el (font-lock-constant-face): Don't
declare now-unused variable.
2024-12-18 03:48:35 +01:00
..
abbrevs.texi Update NEWS and manual after obarray changes 2024-02-23 13:02:27 +01:00
anti.texi Write Antinews for Emacs 30 ELisp Reference 2024-06-27 21:54:52 +03:00
back.texi ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
backups.texi New variable 'revert-buffer-restore-functions' (bug#69511) 2024-06-03 19:55:47 +03:00
book-spine.texi
buffers.texi ; Improve documentation of 'category' in display-buffer actions 2024-11-21 12:28:26 +02:00
ChangeLog.1 Update Arni Magnusson's email address 2024-10-05 02:30:41 +02:00
commands.texi Merge from savannah/emacs-30 2024-07-24 11:41:58 +08:00
compile.texi ; Improve documentation of 'native-compile-directory' (bug#73303) 2024-10-23 10:00:45 +03:00
control.texi Merge from origin/emacs-30 2024-11-30 06:44:06 -05:00
customize.texi New value 'permanent-only' for defcustom :local keyword 2024-10-02 01:25:50 +02:00
debugging.texi Improve documentation of profiler commands 2024-01-24 21:34:16 +02:00
display.texi Merge from origin/emacs-30 2024-11-30 06:44:06 -05:00
doclicense.texi
edebug.texi Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
elisp.texi Update FSF's address 2024-09-02 21:02:09 +02: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 ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
eval.texi eval.c: Add new var lisp-eval-depth-reserve 2024-01-04 16:36:22 -05:00
files.texi ; More accurate documentation of 'file-newer-than-file-p' 2024-10-10 11:03:48 +03:00
frames.texi Add support for 'yank-media' on MS-Windows 2024-11-03 15:12:20 +02:00
functions.texi Merge from origin/emacs-30 2024-11-23 04:46:10 -05:00
gpl.texi
hash.texi Clarify permitted mutation in maphash documentation 2024-01-21 11:21:51 +01:00
help.texi ; Don't use non-ASCII in ELisp manual sources unless necessary 2024-07-26 14:11:17 +03:00
hooks.texi ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
index.texi
internals.texi Merge from origin/emacs-29 2024-01-13 05:36:16 -05:00
intro.texi ; Don't use non-ASCII in ELisp manual sources unless necessary 2024-07-26 14:11:17 +03:00
keymaps.texi Rename the property 'repeat-continue-only' to 'repeat-continue' 2024-12-17 20:58:09 +02:00
lay-flat.texi ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
lists.texi ; Fix last change 2024-09-23 17:13:31 +03:00
loading.texi Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
macros.texi ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
Makefile.in Add peg.el as a built-in library 2024-03-30 15:19:47 -07:00
maps.texi Fix typo in maps.texi 2024-12-10 11:51:12 +01:00
markers.texi ; Fix recent changes in documentation 2024-03-16 11:58:56 +02:00
minibuf.texi all-completions: Drop support for obsolete calling convention 2024-12-16 23:04:18 +01:00
modes.texi Make font-lock face variables obsolete 2024-12-18 03:48:35 +01:00
nonascii.texi Merge from origin/emacs-30 2024-11-09 07:34:57 -05:00
numbers.texi Add value< (bug#69709) 2024-03-29 11:39:38 +01:00
objects.texi ; Fix recent additions to the manuals 2024-11-21 17:47:22 +02:00
os.texi Merge from savannah/emacs-30 2024-09-11 13:21:58 +08:00
package.texi Standardize possessive apostrophe usage in manuals, docs, and comments 2024-07-25 03:35:18 +02:00
parsing.texi Make tree-sitter-explorer support selecting local parser 2024-12-04 22:39:28 -08:00
peg.texi ; Fix typos 2024-06-23 16:40:06 +02:00
positions.texi ; Fix recent changes in documentation 2024-09-01 20:57:03 +03:00
processes.texi Add support for TCP_NODELAY on network streams 2024-12-13 14:12:39 +01:00
README ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
records.texi Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
searching.texi ; * doc/lispref/searching.texi (Rx Notation): Simplify rx example 2024-09-09 15:22:32 +02:00
sequences.texi Update description of string comparison functions 2024-08-06 18:04:46 +02:00
spellfile
streams.texi ; Fix punctuation in docs 2024-07-21 17:35:13 +02:00
strings.texi Merge from origin/emacs-30 2024-11-09 07:34:57 -05:00
symbols.texi Another 'void' update 2024-10-27 16:07:08 +02:00
syntax.texi ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
text.texi Document the 'display-line-numbers-disable' property 2024-11-09 13:33:21 +02:00
threads.texi ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
tips.texi Deprecate 'Homepage' header in favor of 'URL' 2024-09-26 02:04:03 +02:00
two-volume-cross-refs.txt ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
two-volume.make ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
variables.texi Mention special variables in lexical binding documentation 2024-11-28 17:27:16 +02:00
windows.texi Merge from origin/emacs-30 2024-11-30 06:35:16 -05: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-2024 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/>.