mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-06-14 04:21:24 +00:00
This ensures that if the child process closed its stdin and Emacs tries to write to it, the process can still do any remaining work and exit normally. In practice, this can occur with commands like "head(1)" (bug#79079). * src/fileio.c (file_for_stream): New function, extracted from... (Fset_binary_mode): ... here. (Ffile__close_stream): New function. * src/process.c (send_process): When encountering EPIPE, only close the fd for the pipe to the child process's stdin. * lisp/eshell/esh-io.el (eshell-output-object-to-target): Don't check for process liveness anymore. * test/src/process-tests.el (process-tests/broken-pipe): New function. (process-tests/broken-pipe/pipe, process-tests/broken-pipe/pty) (process-tests/broken-pipe/pipe-stdin) (process-tests/broken-pipe/pty-stdin): New tests. * etc/NEWS: Announce this change.
98 lines
3 KiB
Text
98 lines
3 KiB
Text
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.
|
||
|
||
|
||
* 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:
|