bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#32672: 27.0.50; image resize on window resizing


From: Juri Linkov
Subject: bug#32672: 27.0.50; image resize on window resizing
Date: Sun, 16 Sep 2018 02:35:53 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)

>> Trying to put to image-mode:
>>
>>      (add-hook 'buffer-list-update-hook
>>                    (lambda () (message "buffer-list-update-hook %S"
>>                                        (current-buffer))) nil t)
>>
>> shows in *Messages* that it's called only when navigating away from the
>> image-mode buffer, but not when coming back to the image-mode buffer, e.g.
>> `C-x <left>', then resize the window, then type `C-x <right>',
>> it's not called.  Also it's not called in another direction:
>> `C-x <right>', then resize the window, then type `C-x <left>'.
>
> I forgot that you wanted to make this buffer-local as well.  We
> curently have no special semantics attached to the buffer-local
> version of this so yes: When the buffer is not current, its local hook
> is not run.  To fix this, for example in 'bury-buffer-internal' we
> would have to add an extra
>
>   /* Run buffer-list-update-hook.  */
>   if (!NILP (Vrun_hooks))
>     call1 (Vrun_hooks, Qbuffer_list_update_hook);
>
> with BUFFER current.  We probably could do that but I'm not very fond
> of it.  The buffer list is decidedly more global than a window.  And
> it's only the tip of an iceberg - how many more hooks would we have to
> adapt in a similar fashion?

I agree that the buffer list is more global than a window, but OTOH
it makes sense to use buffer-local hook for a buffer to get notified
when it comes to the top of the buffer list.  So this would be a good thing
to have, unless there is another hook that gets called when a buffer
becomes the current buffer, or at least displayed in a window.





reply via email to

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