mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-06-14 12:31:25 +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. |
||
|---|---|---|
| .. | ||
| em-alias.el | ||
| em-banner.el | ||
| em-basic.el | ||
| em-cmpl.el | ||
| em-dirs.el | ||
| em-elecslash.el | ||
| em-extpipe.el | ||
| em-glob.el | ||
| em-hist.el | ||
| em-ls.el | ||
| em-pred.el | ||
| em-prompt.el | ||
| em-rebind.el | ||
| em-script.el | ||
| em-smart.el | ||
| em-term.el | ||
| em-tramp.el | ||
| em-unix.el | ||
| em-xtra.el | ||
| esh-arg.el | ||
| esh-cmd.el | ||
| esh-ext.el | ||
| esh-io.el | ||
| esh-mode.el | ||
| esh-module.el | ||
| esh-opt.el | ||
| esh-proc.el | ||
| esh-util.el | ||
| esh-var.el | ||
| eshell.el | ||