Subject: bug#67638: Description of the variable message-mail-user-agent in Emacs 29.1

From: Eli Zaretskii <[email-masked]>
Date: Thu, 07 Dec 2023 09:05:08 +0200

> Date: Wed, 06 Dec 2023 23:53:19 +0000
> From: [email-masked]
> Cc: [email-masked]
> 
> Dear Eli,
> Please understand that I'm really trying my best to get this variable, 
> which remains obscure and mysterious despite my technical proficiency, 
> which I consider to be above-average. This is the only variable which I 
> currently have a problem with (as far as the Mail group is concerned).
> 
> >   "Your preferred package for composing and sending email when using 
> > message.el.
> 
> I read very attentively your previous message. mail-user-agent is the 
> package which is started when, say, I click on a mailto link. In my 
> case, this is the Message package, which as far as I understand is 
> exactly message.el
> 
> >  Like `mail-user-agent' (which see), this specifies the package you 
> > prefer to use for composing and sending email messages.
> 
> Then, I understand that while we're using message.el, and we're done 
> writing the email, we need to send. Is it here that 
> message-mail-user-agent intervenes?

No, it intervenes also _before_ you write the message.  For example,
if you reply to an incoming message (type 'r' in Rmail), the
mail-user-agent's compose function is called to prepare the headers of
the response for you, before you type the body of your response.  Then
the send function of mail-user-agent is invoked when you type the key
to send the response.

I added the link to the Info manual so you could read up on Mail User
Agents and understand what they are for.

> >  The value can be anything accepted by `mail-user-agent', and in 
> > addition it can be nil or t. If the value is nil, use the Gnus native 
> > Mail User Agent (MUA); if it is t, use the value of `mail-user-agent'.
> 
> This doesn't check out, even just because mail-user-agent accepts five 
> options which are Message, Mail package, MH, Message_withGnusfeatures, 
> but instead here we miss the options for "Message package" and 
> "Message_withGnusfeatures", so message-mail-user-agent doesn't offer all 
> the options that mail-user-agent offers.

"Like" doesn't mean "100% identical", it means "similar".  The intent
is for you to read the doc string of that other variable, and then
continue reading the doc string of this variable, with the information
about mail-user-agent in mind.

> And also setting the value of message-mail-user-agent to nil: is it the 
> same as setting the value of message-mail-user-agent to t and the value 
> of mail-user-agent to Message_withGnusfeatures?

I think so, yes.  But I don't use message.el, so I wouldn't know for
sure.  Why won't you try this and report back?