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

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

bug#70773: 30.0.50; display-delayed-warnings does not respect display-bu


From: Juri Linkov
Subject: bug#70773: 30.0.50; display-delayed-warnings does not respect display-buffer-alist
Date: Sun, 05 May 2024 09:58:13 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu)

> The display-delayed-warnings does not conform with display-buffer-no-window.

Thanks for the bug report.

> To test this, I create a new directory and write an init.el with the
> following contents:
>
>     (setq display-buffer-alist
>           '(("\\`\\*\\(Warnings\\|Compile-Log\\|Org Links\\)\\*\\'"
>              (display-buffer-no-window)
>              (allow-no-window . t))))

`allow-no-window' is intended to be provided only by the caller,
when the caller can handle the nil value for window.

So here is the patch that implements this in the caller:

diff --git a/lisp/emacs-lisp/warnings.el b/lisp/emacs-lisp/warnings.el
index 8c1e43934ff..d0e130abaf8 100644
--- a/lisp/emacs-lisp/warnings.el
+++ b/lisp/emacs-lisp/warnings.el
@@ -372,15 +372,17 @@ display-warning
                     (warning-suppress-p type warning-suppress-types)
                     (let ((window (display-buffer
                                    buffer
-                                   (when warning-display-at-bottom
-                                     '(display-buffer--maybe-at-bottom
-                                       (window-height . (lambda (window)
-                                         (fit-window-to-buffer window 10)))
-                                       (category . warning))))))
-                      (when (and (markerp warning-series)
+                                   (if warning-display-at-bottom
+                                       '(display-buffer--maybe-at-bottom
+                                         (window-height . (lambda (window)
+                                            (fit-window-to-buffer window 10)))
+                                         (category . warning)
+                                          (allow-no-window . t))
+                                      '(nil (allow-no-window . t))))))
+                      (when (and window (markerp warning-series)
                                  (eq (marker-buffer warning-series) buffer))
                         (set-window-start window warning-series))
-                      (when warning-display-at-bottom
+                      (when (and warning-display-at-bottom window)
                         (with-selected-window window
                           (goto-char (point-max))
                           (forward-line -1)





reply via email to

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