Subject: bug#17272: bug#19064: 25.0.50; `message' overwrites `y-or-n-p' prompt, so user misses it

From: Drew Adams <[email-masked]>
Date: Fri, 8 Nov 2019 13:19:02 -0800 (PST)

> > -			    (message "%s" msg))
> > +                            (if (minibufferp)
> > +                                (minibuffer-message "%s" msg)
> > +                              (message "%s" msg)))
> 
> Wouldn't it make more sense to just have `message' behave like
> `minibuffer-message' if '(minibufferp)'?  Otherwise all async code will
> have to have this code snippet.

FWIW, I disagree very much with the patch - and
with Lars's suggestion.

Both `message' and `minibuffer-message' are useful
when the minibuffer is active.  They behave very
differently, and each behavior is useful.

`message' interrupts your minibuffer dialog
temporarily (and how & how much can be controlled).
And it logs to `*Messages*' (and that can be
controlled).  Use it when it's appropriate to do
those things (particularly the interruption).

`minibuffer-message' uses the same real estate,
at the same time, as your minibuffer input.

It is definitely NOT the case that it is always
most useful for a message while the minibuffer
is active to be delivered by just appending it
to your input, and not interrupting the dialog.
___

The problem described by the bug report needs to
be solved some other way.  It has nothing to do,
necessarily, with `minibuffer-message' versus
`message'.