GNU bug report logs -
#51062
Customizable window resizing
Previous Next
Reported by: Juri Linkov <juri <at> linkov.net>
Date: Wed, 6 Oct 2021 17:36:01 UTC
Severity: wishlist
Tags: patch
Merged with 36859,
52855
Fixed in version 29.0.50
Done: Juri Linkov <juri <at> linkov.net>
Bug is archived. No further changes may be made.
Full log
Message #14 received at 51062 <at> debbugs.gnu.org (full text, mbox):
>> There are two ways how window resizing is currently hard-coded:
>>
>> 1. As discussed in
>> https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg01627.html
>> when temp-buffer-resize-mode is enabled, it's impossible
>> to disable automatic window resizing of the Help buffer.
>>
>> Thanks to Martin, the patch in
>> https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg01873.html
>> allows customization when display-buffer-alist contains
>> (window-height . nil)
>
> That patch should help wherever 'temp-buffer-resize-mode' applies, not
> just in a Help buffer.
>
> This patch has been meanwhile applied on master.
Strange, when I tested the patch that you sent to emacs-devel,
it worked correctly. But after you applied the patch on master,
it doesn't work. I'm trying to debug why (window-height . nil)
has no effect on Help buffers.
>> 2. As discussed in bug#45688, such commands as vc-log
>
> Which command is 'vc-log'?
I meant log-related vc-commands that use
shrink-window-if-larger-than-buffer, i.e.
all commands that use vc-log-internal-common.
>> , vc-diff
>> automatically resize the window, and the problem is that currently
>> shrink-window-if-larger-than-buffer is used in these commands by default,
>> but this behavior is hard-coded and can't be disabled by customization.
>> A solution is to create a new hook like 'after-display-buffer-function'
>> that by default will contain 'shrink-window-if-larger-than-buffer'.
>
> Wherever we currently use an idiom like
>
> (pop-to-buffer (current-buffer))
> (goto-char (point-min))
> (shrink-window-if-larger-than-buffer)
>
> we should use
>
> (pop-to-buffer
> (current-buffer)
> '(nil (window-height . shrink-window-if-larger-than-buffer)))
> (goto-char (point-min))
>
> instead. But if 'display-buffer' is not involved, there isn't much we
> can do. Maybe something like 'display-buffer-same-window' _after_
> putting the buffer into the selected window, but this might not be 100%
> compatible. Certainly not for Emacs 28.
This is a good idea to try. But not sure how this is possible to use in
vc-run-delayed that is called when the buffer was already displayed long ago.
This bug report was last modified 3 years and 132 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.