[PATCH] emacs: do not change users' mail agent configuration
Jani Nikula
jani at nikula.org
Sun Dec 14 01:46:48 PST 2014
On Sat, 13 Dec 2014, Lukasz Stelmach <stlman at poczta.fm> wrote:
> On 13.12.2014 22:04, Jani Nikula wrote:
>> On Fri, 12 Dec 2014, Łukasz Stelmach <stlman at poczta.fm> 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.
> 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.
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.
BR,
Jani.
>
>>> ---
>>> NEWS | 10 ++++++++++
>>> emacs/notmuch-mua.el | 2 +-
>>> emacs/notmuch.el | 2 --
>>> 3 files changed, 11 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/NEWS b/NEWS
>>> index 44e8d05..cf5b3c3 100644
>>> --- a/NEWS
>>> +++ b/NEWS
>>> @@ -64,6 +64,16 @@ Added `notmuch address` subcommand
>>> Emacs Interface
>>> ---------------
>>>
>>> +Fixed `mail-user-agent` handling
>>> +
>>> + The value of the mail-user-agent variable is not forcibly set to
>>> + `notmuch-user-agent`, regardles of how a user has customised it,
>>> + everytime notmuch.el is loaded. This way, someone who used for example
>>> + Gnus has her MUA and notmuch just as a search engine, doesn't have her
>>> + configuration broken everytime notmuch.el is loaded. The user can now
>>> + use her favourite mail composing package when replying messages in
>>> + notmuch too.
>>
>> I understand you're annoyed at the current behaviour, but please don't
>> pour that annoyance into notmuch NEWS. Thank you.
>
> It wasn't my intention. I wasn't even sure I should add to NEWS anything
> at all but the "Contributing" page says to update NEWS if a change is
> user visible. Considering what I wrote above, do you think it is visible?
>
>
>> BR,
>> Jani.
>>
>>
>>> +
>>> Use the `j` key to access saved searches from anywhere in notmuch
>>>
>>> `j` is now globally bound to `notmuch-jump`, which provides fast,
>>> diff --git a/emacs/notmuch-mua.el b/emacs/notmuch-mua.el
>>> index 2c58886..f02c7b5 100644
>>> --- a/emacs/notmuch-mua.el
>>> +++ b/emacs/notmuch-mua.el
>>> @@ -263,7 +263,7 @@ OTHER-ARGS are passed through to `message-mail'."
>>> (push (cons 'From (concat
>>> (notmuch-user-name) " <" (notmuch-user-primary-email) ">")) other-headers))
>>>
>>> - (apply #'message-mail to subject other-headers other-args)
>>> + (apply #'compose-mail to subject other-headers other-args)
>>> (message-sort-headers)
>>> (message-hide-headers)
>>> (set-buffer-modified-p nil)
>>> diff --git a/emacs/notmuch.el b/emacs/notmuch.el
>>> index 218486a..80cab57 100644
>>> --- a/emacs/notmuch.el
>>> +++ b/emacs/notmuch.el
>>> @@ -1037,8 +1037,6 @@ notmuch buffers exist, run `notmuch'."
>>> (switch-to-buffer first))
>>> (notmuch))))
>>>
>>> -(setq mail-user-agent 'notmuch-user-agent)
>>> -
>>> (provide 'notmuch)
>>>
>>> ;; After provide to avoid loops if notmuch was require'd via notmuch-init-file.
>>> --
>>> 2.0.4
>>>
>>> _______________________________________________
>>> notmuch mailing list
>>> notmuch at notmuchmail.org
>>> http://notmuchmail.org/mailman/listinfo/notmuch
>>
>
>
> --
> Było mi bardzo miło. Twoje oczy lubią mnie
>>Łukasz< i to mnie zgubi (c)SNL
>
> REKLAMA: http://ars-fabrica.eu/ sklep z rękodziełem
More information about the notmuch
mailing list