Subject: Re: bug#40774: Error messages shouldn't be hidden when the user is idle

From: Eli Zaretskii <[email-masked]>
Date: Wed, 08 Dec 2021 22:01:14 +0200

> From: Juri Linkov <[email-masked]>
> Cc: Lars Ingebrigtsen <[email-masked]>,  [email-masked],
>   [email-masked]
> Date: Wed, 08 Dec 2021 21:21:22 +0200
> 
> +** The return value of 'clear-message-function' is not ignored anymore.
> +If the function returns t, then the message is not cleared,
> +with the assumption that the function cleared it itself.

I could perhaps agree to this if the special new behavior was the
result of a very special return value, and only that value.  Having
the new behavior kick in for t is out of the question for the release
branch, as it is highly likely to trip unsuspecting Lisp programs.

Btw, what does the change of the order between the call of
clear-message-function and setting echo_area_buffer[0] to nil mean,
compatibility-wise? won't it also produce different results, even if
the return value is nil?

More generally, I fear that we are trying very hard to tweak a
particular infrastructure for a job for which it was hardly meant.

IOW, shouldn't we provide some completely different optional feature
for this use case?  Like a special buffer that pops up or a special
frame?  Echo-area is not suited for showing large chunks of text, and
my gut feeling is that we will bump into problems on this path.  E.g.,
what happens when there are enough accumulated messages that they can
no longer be shown with the maximum allowed height of the mini-window?