GNU bug report logs -
#32672
27.0.50; image resize on window resizing
Previous Next
Reported by: Juri Linkov <juri <at> linkov.net>
Date: Sun, 9 Sep 2018 16:11:02 UTC
Severity: wishlist
Tags: fixed
Fixed in version 27.0.50
Done: Juri Linkov <juri <at> linkov.net>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
>> I'm not sure what you mean with "Those functions".
>
> I mean window-state-change-functions, what else?
That would be a hook and would indeed have to do the work. But why
the plural?
> We are talking about hypothetical function(s), so it may well be that
> there's some misunderstanding. My point is that accurate recording of
> window-size changes is hard, because the various variables used for
> that might be outdated (e.g., due top a redisplay cycle that didn't
> complete). Also, redisplay_internal, which calls those functions,
> will sometimes call them more than once in a redisplay cycle (see the
> 'retry' label and code that jumps back to it).
>
> Bottom line is what I said up-thread: Lisp programs cannot expect
> those hook calls to be too accurate and focused, they need to be
> prepared to handle many irrelevant calls, and they had better have
> their own bookkeeping regarding window dimensions etc.
'window-size-change-functions' is not hypothetical and guards itself
against running twice for unchanged window sizes. I don't really
understand what you doubt here - I rewrote it in its current form
because you once said (when discussing Bug#21333) that
> I believe window-size-change-functions is meant for taking notice of
> resizes done by the user or some Lisp code, not for automated resizes
> whose sole purpose is to allow some message be read in its entirety.
> If you agree, then the current behavior will make sense to you.
>
> If anything, IMO we should _reduce_ the number of unrelated events
> that trigger a call to these functions. For example, currently any
> command that reads from the minibuffer will trigger it, because when
> read-from-minibuffer exits, it restores the window configuration by
> calling set-window-configuration, which is documented to trigger these
> functions. That just doesn't make any sense to me, since most reads
> from the minibuffer don't resize any windows!
and in a later post you said
> I'd say, don't set the "size changed" flag unless the size really
> changed.
and now it seems that you think that a similar argument does not apply
when running 'window-configuration-change-hook'.
I'd still need to see a hypothetical example where the same redisplay
cycle would run 'window-size-change-functions' functions twice when no
sizes actually changed.
martin
This bug report was last modified 5 years and 170 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.