Subject: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents

From: Eli Zaretskii <[email-masked]>
Date: Mon, 02 Nov 2020 18:07:13 +0200

> From: Lars Ingebrigtsen <[email-masked]>
> Cc: Eli Zaretskii <[email-masked]>,  "[email-masked]"
>  <[email-masked]>
> Date: Mon, 02 Nov 2020 16:22:20 +0100
> 
> > send to terminal.
> > (send-string-to-terminal
> > (with-temp-buffer
> >    (insert-file-contents "testing.six")
> >    (buffer-string)))
> 
> Thanks; the testing.six file is more than 4096 bytes long, so it's not
> surprising that this use case triggers the bug.  My guess is that we
> haven't had reports about this before just because it's a pretty unusual
> use case, and your proposed patch seems like the correct solution here.

What is the significance of 4K bytes in this case?  Is 'fwrite'
documented not to write more than that?  I couldn't find such
documentation.

And if 4KB is a limitation, then what does ERESTARTSYS have to do with
this?

Anyway, if we need to fix calls to 'fwrite', we should provide
something similar to emacs_write, and use it everywhere we use
'fwrite' now.