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

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

bug#63455: 30.0.50; display-buffer-in-direction is always resizing


From: martin rudalics
Subject: bug#63455: 30.0.50; display-buffer-in-direction is always resizing
Date: Sat, 20 May 2023 10:27:41 +0200

>> Almost (I had to make 'ediff-setup-windows-plain-compare' do what your
>> patch does).  But as I mentioned earlier, you might want to replace
>> 'fit-window-to-buffer' with something conditioned on whether the user
>> has customized 'temp-buffer-resize-mode' - some users simply might not
>> want their windows to auto-resize.
>
> I still don't understand the need to add a new function.

The new function would serve, for example, in
'ediff-setup-windows-plain-compare'

    (select-window (display-buffer-in-direction
                    control-buffer
                    '((direction . bottom)
                      (window-height . fit-window-to-buffer))))

to make sure the window is fit iff 'temp-buffer-resize-mode' is enabled.

> When users don't want their windows to auto-resize,
> then they can simply do:
>
> (add-to-list 'display-buffer-alist
>               '("*Help*" nil
>                 ;; Inhibit resizing Help buffers
>                 (window-height . nil)))

A user who has not set 'temp-buffer-resize-mode' does not want
auto-resizing to happen and probably does not want to deal with
'display-buffer-alist' either.

In either case, the new function is not relevant to your example.  That
setup doesn't work with 'temp-buffer-resize-mode' turned on because
'help--window-setup' ignores 'display-buffer-alist' when it does

        (when (and window temp-buffer-resize-mode)
          (let (resize-temp-buffer-window-inhibit)
            (resize-temp-buffer-window window)))))))

All this has become very contrived because of 'help-make-xrefs'.  I
suppose we have to (1) make 'temp-buffer-windo-show' return the function
'display-buffer' would have used to resize the window if NO-RESIZE had
allowed it to do so and (2) have 'help--window-setup' apply the return
value, if non-nil, to resize the window after calling 'help-make-xrefs'.
If worse comes to worst, 'help--window-setup' may have to investigate
the current value of 'resize-temp-buffer-window-inhibit' too ...

martin





reply via email to

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