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

From: martin rudalics <[email-masked]>
Date: Sat, 21 Nov 2015 19:27:38 +0100

> However, while we are discussing window-size-change-functions -- I noticed
 > that on OS X and Windows, it is not called when the user manually resized a
 > frame, whereas on X11 it is. It seems logical that is should be called --
 > should I file this as a bug (or one for each interface)?

I can't imagine how this got called for X11 - something else must have
been intervening here.

Resizing a frame calls ‘window-configuration-change-hook’ instead.  In
Emacs 22 change_frame_size_1 still had

   /* This isn't quite a no-op: it runs window-configuration-change-hook.  */
   Fset_window_buffer (FRAME_SELECTED_WINDOW (f),
		      XWINDOW (FRAME_SELECTED_WINDOW (f))->buffer, Qt);

while in Emacs 23 change_frame_size_1 already uses

   run_window_configuration_change_hook (f);

Obviously ‘window-size-change-functions’ seems more logical here but
might break packages that expect the old behavior.  Running both hooks
for frame resizes doesn't seem overly clever but we do so already when
deleting and splitting windows.  Anyway, this is a can of worms.

martin