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

From: martin rudalics <[email-masked]>
Date: Sun, 22 Nov 2015 18:46:19 +0100

> I couldn't think of any situation that would cause that.  It would
 > require a resize of windows outside redisplay that would also cause
 > redisplay to decide that the mini-window needs to be resized.  If you
 > can come up with a recipe for this, we should indeed remove the "just
 > once" promise.

A silly example with emacs -Q is

(defvar fun 0)

(defun fun (frame)
   "..."
   (message "\n%s\n" (setq fun (1+ fun))) (ding))

(add-hook 'window-size-change-functions 'fun)

This gets me complete erratic behavior when moving point.

Another example is

(defvar fun 0)

(defun fun (frame)
   "..."
   (message "%s" (setq fun (1+ fun))) (ding))

(add-hook 'window-size-change-functions 'fun)

(progn
   (tool-bar-mode -1)
   (sit-for 1)
   (tool-bar-mode 1))

With my patch for bug#21975 this runs ‘fun’ twice when the tool-bar is
reenabled.  Likely due to my calculations of the real tool bar height.

martin