[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Wrong window end reported after splitting window

From: Stefan Monnier
Subject: Re: Wrong window end reported after splitting window
Date: Sun, 24 Feb 2008 10:34:21 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.50 (gnu/linux)

> I suppose what you want is to investigate all affected windows when the
> corresponding configuration changes.  This means we'd have to change
> `delete-window', `enlarge-window', `shrink-window',
> `adjust-window-trailing-edge' and `set-window-configuration' as to walk
> all windows on the frame, check whether one of the associated buffers
> has a non-nil local value for `window-configuration-change-hook', and
> run that hook (in addition to a global hook).

Indeed, it may be "too much work" but might be worth the trouble.
Otherwise buffer-local settings for window-configuration-change-hook
simply don't make any sense.

> The question here is what
> to do when the same buffer is shown in two or more windows on the
> affected frame - should we call the hook twice in that case?

The behavior of window-configuration-change-hook is clearly documented
as being run "once per frame", so the hook function are currently
responsible for cycling through  the windows  of the frame
if/when needded.
[ This doesn't rule out running the hook twice or more, tho, since we
  don't specifically say how careful Emacs should be in avoiding to run
  it redundantly. ]

Looking at it again, maybe the right thing to do is to make the
window-configuration-change-hook be treated differently for buffer-local
vs global settings: the global settings are run like now, but we also
cycle through the windows looking for buffer-local settings and we run
each one of them "once per window".

At least for image-mode and doc-view-mode's use of
window-configuration-change-hook, this would do the right thing.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]