Rather than editing every Glk based interpreter to check if a written file is non-empty (which is what I already added to Inform, but only actually catches one type of error), would it be better to add a new Glk function that can return an error code if closing a stream failed to write correctly?
Last year I concluded from my reading of the Glk spec that the stream results need to be how many characters were attempted to be written. “The write-count is exactly one per glk_put_char() call”.
Now most users of a closed stream’s write-count will be for memory streams, for which a failed close isn’t an option, so maybe it could be changed without impacting existing code. But it would be hard to confirm no one else is relying on the write-count for a file stream. Seems too risky to me.