GNU Emacs NEWS -- history of user-visible changes.

Copyright (C) 2022-2026 Free Software Foundation, Inc.
See the end of the file for license conditions.

Please send Emacs bug reports to 'bug-gnu-emacs@gnu.org'.
If possible, use 'M-x report-emacs-bug'.

This file is about changes in Emacs version 32.

See file HISTORY for a list of GNU Emacs versions and release dates.
See files NEWS.31, NEWS.30, ..., NEWS.18, and NEWS.1-17 for changes
in older Emacs versions.

You can narrow news to a specific version by calling 'view-emacs-news'
with a prefix argument or by typing 'C-u C-h C-n'.

Temporary note:
+++ indicates that all relevant manuals in doc/ have been updated.
--- means no change in the manuals is needed.
When you add a new item, use the appropriate mark if you are sure it
applies, and please also update docstrings as needed.


* Installation Changes in Emacs 32.1

* Debian specific changes to Emacs

Please see /usr/share/doc/emacs-snapshot-common/README.Debian.gz.


* Installation Changes in Emacs 31.1

+++
** New face 'margin' for the window margin background.
A new basic face 'margin' is used by default for text displayed in the
left and right margin areas, i.e., the areas reserved by packages such as
git-gutter, lsp-mode, and hl-diff for per-line annotations.  Its
background defaults to the frame default, so existing behavior is
unchanged for users who do not customize it.

+++
** Unexec dumper removed.
The traditional unexec dumper, deprecated since Emacs 27, has been
removed.

---
** Emacs's old 'ctags' program is no longer built or installed.
You are encouraged to use Universal Ctags <https://ctags.io/> instead.
For now, to get the old 'ctags' behavior you can can run 'etags --ctags'
or use a shell script named 'ctags' that runs 'etags --ctags "$@"'.

---
** Changed GCC default options on 32-bit x86 systems.
When using GCC 4 or later to build Emacs on 32-bit x86 systems,
'configure' now defaults to using the GCC options '-mfpmath=sse' (if the
host system supports SSE2) or '-fno-tree-sra' (if not).  These GCC
options work around GCC bug 58416, which can cause Emacs to behave
incorrectly in rare cases.

---
** New configure option '--with-systemduserunitdir'.
This allows to specify the directory where the user unit file for
systemd is installed; default is '${prefix}/usr/lib/systemd/user'.


* Startup Changes in Emacs 32.1


* Changes in Emacs 32.1

---
** Emacs no longer kills child processes after EPIPE.
Previously, Emacs would immediately kill a child process and set its
exit status to 256 if sending input to that process returned EPIPE.
Now when this happens, Emacs closes the file descriptor to write to the
child process, but allows it to continue execution as normal.


* Editing Changes in Emacs 32.1


* Changes in Specialized Modes and Packages in Emacs 32.1

** Package

---
*** Package-vc can copy local changes from existing installations.
When installing the latest release of a package, 'package-vc' will
propose copying files from an existing tarball installation of the same
package with the same version.  This is useful if you have started
making local changes to your tarball installation, and then decided to
check out the repository to prepare a patch for the package maintainer.


* New Modes and Packages in Emacs 32.1


* Incompatible Lisp Changes in Emacs 32.1


* Lisp Changes in Emacs 32.1

---
** New variable 'completion-frontend-properties'.
This variable generalizes the 'completion-lazy-hilit' variable added in
Emacs 30.  It allows Lisp programs that present completion candidates
("completion frontends") to provide additional information which can be
used to adjust or optimize completion candidates computation.


* Changes in Emacs 32.1 on Non-Free Operating Systems


----------------------------------------------------------------------
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/>.


Local variables:
coding: utf-8
mode: outline
mode: emacs-news
paragraph-separate: "[	 ]"
end:
