GNU bug report logs -
#69983
Use category for display-buffer-alist
Previous Next
Reported by: Juri Linkov <juri <at> linkov.net>
Date: Sun, 24 Mar 2024 17:22:01 UTC
Severity: normal
Fixed in version 30.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
>>> One problem is that I can't find an alist item to limit
>>> the window height, i.e. can't find window-max-height
>>> that would be like window-min-height, but to set a max height.
>>> Could you suggest such an alist item?
>>
>> The intention was to have such behavior:
>> 1. after the first call that adds 1 line to the output buffer,
>> resize the displayed buffer to 1 line height;
>> 2. after the second call grow the output window height to 2 lines,
>> it seems fit-window-to-buffer should do this;
>> 3. after 10th call limit the window height to 10 lines only,
>> so later calls should not increase the output window height
>> more than 10 lines.
>
> You mean that when a 'window-height' action alist entry is provided that
> specifies 'fit-window-to-buffer' as 'window-height' value, we should
> pass it the value of any 'window-max-height' entry present as MAX-HEIGHT
> argument here
>
> ((functionp height)
> (ignore-errors (funcall height window))
>
> and probably do the same for all the other arguments of
> 'fit-window-to-buffer'?
Probably we can't change the existing arguments to not break
backward-compatibility. But this is fine since still can use
the explicit function call:
diff --git a/lisp/emacs-lisp/warnings.el b/lisp/emacs-lisp/warnings.el
index 8b43c6a8726..75b519067ac 100644
--- a/lisp/emacs-lisp/warnings.el
+++ b/lisp/emacs-lisp/warnings.el
@@ -362,7 +362,12 @@ display-warning
(or (< (warning-numeric-level level)
(warning-numeric-level warning-minimum-level))
(warning-suppress-p type warning-suppress-types)
- (let ((window (display-buffer buffer)))
+ (let ((window (display-buffer
+ buffer
+ '(display-buffer--maybe-at-bottom
+ (window-height . (lambda (window)
+ (fit-window-to-buffer window 10)))
+ (category . warning)))))
(when (and (markerp warning-series)
(eq (marker-buffer warning-series) buffer))
(set-window-start window warning-series))
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index 779c612f479..3344402c893 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -1866,7 +1866,11 @@ flymake-show-buffer-diagnostics
(current-buffer)))))
(with-current-buffer target
(setq flymake--diagnostics-buffer-source source)
- (display-buffer (current-buffer))
+ (display-buffer (current-buffer)
+ `((display-buffer-reuse-window
+ display-buffer-below-selected)
+ (window-height . (lambda (window)
+ (fit-window-to-buffer window 10)))))
(revert-buffer))))
This bug report was last modified 1 year and 29 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.