1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-05-10 15:25:04 -07:00
emacs/doc/lispref
Andrea Alberti d24b10ca75 Introduce 'margin' face for window margin background
A new basic face 'margin' is used for text displayed in the left and
right margin areas, i.e., the areas typically used by VCS and LSP
packages for per-line annotations.  Its background defaults to the
frame default, preserving existing behavior for users who do not
customize it.
* etc/NEWS: Document the new 'margin' face.
* lisp/faces.el (margin): Add 'margin' face, inheriting from 'default'.
* src/dispextern.h (face_id): Add MARGIN_FACE_ID.
* src/xdisp.c (face_at_pos): Use 'margin' as the base face for
strings displayed in margin areas so that they inherit the gutter
background by default.
(extend_face_to_end_of_line): Compute 'margin_fill_face_id' from the
'margin' face.  Use while loops to explicitly fill all empty character
slots in both left and right margins for both GUI and TTY branches.
(display_line): Call 'extend_face_to_end_of_line' for beyond-EOB rows
when the window has margins.  Also extend the existing condition for
text rows with empty margins to trigger when the 'margin' face
background differs from the frame default, not only when the default
face is remapped.
* src/xfaces.c (realize_basic_faces): Realize 'margin' as a basic
face to support face-remapping and efficient lookup.
(Bug#80693)
2026-05-05 11:21:57 +03:00
..
abbrevs.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
anti.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
back.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
backups.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
book-spine.texi
buffers.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
ChangeLog.1 ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
commands.texi * doc/lispref/commands.texi (Special Events): Fix insert-special-event defun. 2026-02-16 10:34:05 +01:00
compile.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
control.texi (error-data): Delete function 2026-03-10 10:48:22 -04:00
customize.texi New macro setopt-local and function set-local (bug#80709) 2026-04-02 13:47:36 -04:00
debugging.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
display.texi Introduce 'margin' face for window margin background 2026-05-05 11:21:57 +03:00
doclicense.texi
edebug.texi ; * doc/lispref/edebug.texi (Using Edebug): Fix a typo (bug#80459). 2026-02-21 10:29:45 +02:00
elisp.texi Split up shortdoc functions and groups, fix their format 2026-03-25 22:31:57 +01:00
elisp_type_hierarchy.jpg
elisp_type_hierarchy.txt
errors.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
eval.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
files.texi ; Improve documentation of 'make-temp-file' 2026-04-04 09:56:32 +03:00
frames.texi Add predicate for initial_terminal 2026-03-26 15:19:56 +01:00
functions.texi nadvice.el: Make it easier to find how to change an interactive-form 2026-05-04 20:21:51 -04:00
gpl.texi
hash.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
help.texi Split up shortdoc functions and groups, fix their format 2026-03-25 22:31:57 +01:00
hooks.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
index.texi
internals.texi ; Mention when make_unibyte_string was introduced. 2026-02-14 20:41:20 +01:00
intro.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
keymaps.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
lay-flat.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
lists.texi ; Tweak documentation for ensure-proper-list. 2026-03-15 20:27:41 +00:00
loading.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
macros.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
Makefile.in ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
maps.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
markers.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
minibuf.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
modes.texi Add treesit-query-with-fallback 2026-04-27 02:14:49 -07:00
nonascii.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
numbers.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
objects.texi Compare circular lists in 'equal' without error (bug#80456) 2026-02-24 12:47:52 +01:00
os.texi ; * doc/lispref/os.texi (Timers): Mention primitives that wait (bug#80755). 2026-04-07 09:59:53 +03:00
package.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
parsing.texi ; Fix documentation of recent changes in treesit.el 2026-03-03 15:21:12 +02:00
peg.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
positions.texi In Elisp manual warn about unpredictable changes of point (Bug#79927) 2026-01-05 09:29:09 +01:00
processes.texi New function multiple-command-partition-arguments 2026-02-25 16:29:05 +00:00
README ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
records.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
searching.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
sequences.texi Improve documentation of 'seq-difference' 2026-01-31 16:08:52 +02:00
spellfile Make 'purecopy' an obsolete function alias for 'identity' 2024-12-12 22:48:21 +01:00
streams.texi ; * doc/lispref/streams.texi (Output Functions): Fix markup (bug#80167). 2026-01-10 12:18:47 +02:00
strings.texi Correct manual entry for string-lessp 2026-02-28 16:38:27 +01:00
symbols.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
syntax.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
text.texi ; Fix minor issues in SQLite docs 2026-04-27 13:57:06 +03:00
threads.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
tips.texi Split up shortdoc functions and groups, fix their format 2026-03-25 22:31:57 +01:00
two-volume-cross-refs.txt ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
two-volume.make ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
variables.texi ; * doc/lispref/variables.texi (Void Variables): Add cross-reference. 2026-03-21 09:05:59 +02:00
windows.texi ;; Clarify doc on 'dedicated' 'display-buffer' action alist entry 2026-04-24 09:42:58 +02: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-2026 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/>.