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

From: Protesilaos Stavrou <[email-masked]>
Date: Sun, 05 May 2024 13:48:29 +0300

> From: Eli Zaretskii <[email-masked]>
> Date: Sat,  4 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.

Fine.

> 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.

I reported this bug because it is only now that I observe this
behaviour. I have had that display-buffer-alist setting for a long time
already.

-- 
Protesilaos Stavrou
https://protesilaos.com