Subject: RE: bug#3465: 23.0.94; feature request: be able to log minibuffer messages

From: Drew Adams <[email-masked]>
Date: Sat, 22 Aug 2020 09:54:14 -0700 (PDT)

> >> There's no problem with logging in general.  The request is to also have
> >> the messages output by the minibuffer-message function also end up in
> >> the *Messages* buffer.

No.  The request is to _be able_ to also log
`minibuffer-message' feedback.

> > By default?  I'd object to that.  As an option, maybe; 

The bug requested to _be able to_ do it.
Not to do it by default.

> > but then I
> > don't understand why this is requested as a core feature, since any
> > Lisp program that wants this can simply call 'message' with the same
> > string, and be done.

No.  `minibuffer-message' has an entirely different
UI effect.  You are coupling the UI effect (messaging)
with the logging effect.  It is you, even in your "but
then" (i.e., NOT by default), who are saying that
every time logging is wanted the UI effect of `message'
is also wanted.

That's exactly the point of this bug:

1. `message' and `minibuffer-message' have different UI
   effects.  They are used for different things.

2. `message' can be logged. `minibuffer-message' cannot.

The point is to be able to log `minibuffer-message',
WITHOUT getting the different UI effect of `message'.

Please reread the bug report.  I don't think it's hard
to understand the request: Be able to also log
`minibuffer-message' output.

And obviously WITHOUT calling `message', which is not
logging `minibuffer-message' but logging `message',
and which adds the UI effect of `message'.

> I thought it would make sense to have that function behave as regularly
> as possible...
> 
> However, looking at the use cases for minibuffer-message, all of the
> in-tree calls are trivial: "Confirm".  "Incomplete".  "Hit space to
> flush".  All of those things are UI details that would be surprising to
> have land in the *Messages* buffer.

This is irrelevant.  User code - 3rd-party libraries
can, and do, use `minibuffer-message' in other ways.

Don't judge what something is used for generally by
such trivial uses of it.  Uses of the minibuffer by
vanilla Emacs are mostly trivial,  There's not much
user interaction, not many keys/actions possible in
the minibuffer, etc.

> So I agree with Eli, and I don't think this is something that
> minibuffer-message should do at all.  If something wants to do a
> minibuffer-message and log it, then that thing should just do both.
> 
> So I'm closing this bug report.

Eli seems to have clearly misunderstood the request.

And you seem to have based your conclusion of how
`minibuffer-message' is and can be used only on its
few uses in the vanilla code, which are trivial uses.

Please reopen this enhancement request.  It's simply
a request to _be able to_ log `minibuffer-message'
output.  Not a big deal.

`message' does NOT replace `minibuffer-message', and
vice versa.  Neither should be hard-code coupled with
logging.  And each should be able to log, as well as
have its minibuffer UI effect.

The effects of the two functions should be totally
_independent_.

(And yes, Juri's recent changes that act against this
independence are a real step _backward_.  I argued
this in vain in that context.  Too bad.)