Subject: bug#21333: 25.0.50; window-size-change-functions not called after mini-window resize

From: Eli Zaretskii <[email-masked]>
Date: Thu, 27 Aug 2015 18:25:35 +0300

> Date: Thu, 27 Aug 2015 09:59:04 +0200
> From: martin rudalics <[email-masked]>
> CC: Eli Zaretskii <[email-masked]>, [email-masked]
> 
> >>>    - wishlist item: call pre-redisplay-function between
> >>> grow/shrink_mini_window and the actual X repaint, rather than before.
> >>
> >> Are you sure?  If prepare_menu_bars is called before auto-resizing the
> >> minibuffer window, then ‘window-size-change-functions’ wouldn't catch
> >> those auto-resizes either.
> >
> > That's why I consider it "wishlist". My Christmas wish is to be told
> > whenever the X rectangle corresponding to my Emacs window has changed, just
> > before the X server is told about the change.
> 
> I still don't understand: Do you mean that ‘pre-redisplay-function’ is
> called in the wrong place?  Where else would you call it?

I don't understand much more, it seems: the original wishlist
feature.  The call to grow/shrink_mini_window only recomputes data
about the windows for the next redisplay cycle.  When that next cycle
comes, it will first call pre-redisplay-function and
window-size-change-functions, from prepare_menu_bars, and then, after
the rest of redisplay finishes, actually perform the X repaint, by
calling update_frame.  So it sounds like the wish has been granted
already, no?  Moreover, the scenario where "prepare_menu_bars is
called before auto-resizing the minibuffer window", and as result
"‘window-size-change-functions’ wouldn't catch those auto-resizes",
seems impossible.

If that's not what is being wished, please tell more about the issue.
Likewise if I'm missing something here.