[I'm trying to cons up a test case that will give SIGPIPE, but I
definitely did not expect to see a segmentation fault.]
This is a regression error. In XEmacs 20.4 the result is
Internal error: lstream not open: #<INTERNAL EMACS BUG (filedesc lstream)
0x0x859fa00>
and XEmacs does not crash.
Given this "C" program:
Compile this. And evaluate the following Lisp:
In a new XEmacs 21, load boom-boom.el and evaluate the following:
M-: (boom-boom "/path/to/broken-cat" "some-large-file")
I see:
M-: (boom-boom "/home/steve/bin/broken-cat" "~/.emacs")
Fatal error (11).
Your files have been auto-saved.
Use `M-x recover-session' to recover them.
...
process-send-region(#<process "*Boom*" pid 25827 state:exit> 1 49715)
# bind (p)
(let ((p ...)) (process-send-region p (point-min) (point-max)))
)
# (unwind-protect ...)
...
Someone please try this on MS Windows (if processes are supported) and
XEmacs/No-Mule.