Re: [PATCH] emacs: do not change users' mail agent configuration

Subject: Re: [PATCH] emacs: do not change users' mail agent configuration

Date: Mon, 15 Dec 2014 00:49:17 +0100

To: Jani Nikula,


From: Lukasz Stelmach

On 14.12.2014 10:46, Jani Nikula wrote:
> On Sat, 13 Dec 2014, Lukasz Stelmach <> wrote:
>> On 13.12.2014 22:04, Jani Nikula wrote:
>>> On Fri, 12 Dec 2014, Łukasz Stelmach <> wrote:
>>>> `mail-user-agent' is defined with defcustom and may be customised
>>>> by users. It should not be set to arbitrary values in modules.
>>> Point taken.
>>>> To make use of that configuration value call `compose-mail' which
>>>> starts user's preferred mail composition package as selected with
>>>> the variable `mail-user-agent' instead of notmuch's hardcoded
>>>> `message-mail'.
>>> So your proposed change is that `notmuch-mua-mail` should start
>>> whichever mua the user has configured in `mail-user-agent` instead of
>>> the notmuch mail composition window, as described in the function
>>> documentation? I don't think I like that either.
>>> Maybe we should let bind `mail-user-agent` instead?
>> Actually `message-mail` isn't a "notmuch mail composition window" but
>> rather a "mail composition window" implemented in message.el which is a
>> part of Emacs.  Even more, it is the default "mail composition window"
>> in Emacs because the default value of `mail-user-agent`, as defined in
>> simple.el, is `message-user-agent` (since Emacs 23.3 as described in a
>> comment in `compose-mail` function therein) which causes to be launched by
>> `compose-mail`.
> Basically notmuch layers its own stuff on top of message mode.

I need to dig into notmuch-mua a little bit deeper but at the first
glance it doesn't seem that what I want is impossible. What I want is:

- keep notmuch working as it is for everyone who uses it now,

- enable clean integration with other MUAs for those who don't use it

The second point is very important for me because I use Gnus for
incoming mail but notmuch is definitely better for browsing archives
and I'd love to use it.

>> TL;DR with the mail-user-agent variable set to the default value nothing
>>       changes for a notmuch user.
> Except `message-user-agent` gets used instead of `notmuch-user-agent`
> which does the layering on top. We currently don't do much more, but
> might in the future. As an example, `notmuch-mua-send-hook` won't get
> called.

Indeed I need to sit down and draw it all.

> Another question open to debate is, if the user is using the notmuch
> interface, and calls a function named `notmuch-mua-new-mail` to compose
> mail, should the function respect `mail-user-agent` and pop up a
> non-notmuch interface? Basically what we do is tested to work on top of
> message mode only, so all bets would be off anyway.

And that should be kept as default. I, on the other hand have tested,
replying from notmuch with Gnus (which is also works on top of message)
and as far as I can tell it works fine. I don't say notmuch has to work
with all possible user agents, I just want it to be able to work with
more than one.

I will keep investigating the issue.

BTW There is also the `read-mail-command` variable in simple.el which
which might need some of our attention.

Kind regards,
Było mi bardzo miło.                   Twoje oczy lubią mnie
>Łukasz<                                     i to mnie zgubi  (c)SNL

signature.asc (application/pgp-signature)