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

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

---
** New variable 'tty-cursor-movement-use-TAB'.
If this is set to the nil value, Emacs will not use TABs to optimize
cursor motion on text-mode terminals.  This is for the rare cases where
the hardware tabs of the terminal were set to a non-default value by the
'tabs' command or similar, or if using TABs for cursor movement has any
other undesired effects.  The default is t, which preserves past
behavior.

If this variable is nil, 'tty-cursor-movement-use-TAB-BS' has no effect,
and Emacs will never use TABs for any cursor-movement sequences.

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

** Compilation mode

---
*** Messages from Ansible are now recognized.


* New Modes and Packages in Emacs 32.1

** New major modes based on the tree-sitter library

*** New major mode 'markdown-ts-mode'.
A major mode based on the tree-sitter library for editing Markdown
files.  Markdown files are visited using this mode when the required
tree-sitter grammars ('markdown' and 'markdown-inline') are available,
or when the user has opted in via 'treesit-enabled-modes'.  Otherwise,
Markdown files fall back to 'text-mode'.

To install the grammars, use 'M-x markdown-ts-mode-install-parsers'.

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

** D-Bus

+++
*** Support error handler in asynchronous method calls.
The HANDLER argument of 'dbus-call-method-asynchronously' can be a cons
cell '(HANDLER . ERROR-HANDLER)'.  ERROR-HANDLER is invoked if the
method call returns with a D-Bus error; the error is passed as argument.


* 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:
