Subject: bug#19576: write-file writes the wrong buffer

From: Anders Lindgren <[email-masked]>
Date: Mon, 16 Nov 2015 20:18:29 +0100

Hi,

about a year ago I reported that `write-file' sometimes writes the wrong
buffer to the destination file. Unfortunately, I had no feedback regarding
this. When I checked today, the bug is still there.

The problem occurs when a function on the hook
`window-size-change-functions' change the current buffer. The functions in
this hook are executed when `y-or-n-p' is called, which is used by
`write-file' to verify that it is OK to overwrite an existing file. One
such function is `follow-window-size-change' in follow.el.

This problem is not limited to `write-file' -- all functions calling
`y-or-n-p' are affected by this!

Of course, it would be relatively straight forward to modify the offending
function (and all other similar functions). However, a more robust solution
would be for the code that calls the functions on the hook to ensure that
it isn't derailed when the buffer is changed.

Personally, I don't know that part of the code well enough to do this
change. Martin, is this something that you could look into, or suggest
someone who can?

See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19576 for more details.

    -- Anders Lindgren