On 8/16/2025 10:03 PM, Eli Zaretskii wrote: > Calls to CHECK_* should be made by the primitive itself, not by its > subroutine. This is to allow the subroutines to be called where such > tests were already done, or are inappropriate. The idea is that only > stuff exposed to Lisp validates the Lisp objects passed as arguments. Good to know, thanks. > P.S. I'd like to see what this does on Windows, where there's neither > SIGPIPE nor EPIPE, but that's a separate funeral. For what it's worth, Gnulib says the following: /* On native Windows platforms, SIGPIPE does not exist. When write() is called on a pipe with no readers, WriteFile() fails with error GetLastError() = ERROR_NO_DATA, and write() in consequence fails with error EINVAL. */ Gnulib's 'write' (well really, 'rpl_write') checks for ERROR_NO_DATA and raises SIGPIPE for us, so hopefully we're ok here?