Subject: Re: bug#70773: 30.0.50; display-delayed-warnings does not respect display-buffer-alist

From: Eli Zaretskii <[email-masked]>
Date: Sat, 04 May 2024 22:16:04 +0300

> From: Protesilaos Stavrou <[email-masked]>
> Date: Sat, 04 May 2024 21:30:25 +0300
> 
> Dear maintainers,
> 
> The display-delayed-warnings does not conform with display-buffer-no-window.
> 
> 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))))
> 
> Then I start Emacs with:
> 
>      emacs --init-directory=/path/to/testing/dir/
> 
> This produces the following:
> 
>     display-delayed-warnings: Wrong type argument: window-live-p, nil
>     Error in delayed-warnings-hook (display-delayed-warnings): (wrong-type-argument window-live-p nil)
> 
> What I ultimately want is to not see those warnings at startup. I know I
> can do it by setting the delayed-warnings-hook to nil, though there may
> be a better option I have not discovered yet...

I say either set delayed-warnings-hook to nil or customize
warning-suppress-log-types to suppress the warnings you don't want to
see.  display-buffer-alist is not the best way of doing this,
especially not when you want to affect what Emacs does at startup,
when the various elements of the UI might not yet be ready for your
trickery.