[PATCH v2] emacs: Add customization group for replying
Tomi Ollila
tomi.ollila at iki.fi
Thu Sep 6 07:00:55 PDT 2012
On Thu, Sep 06 2012, Michal Sojka <sojkam1 at fel.cvut.cz> wrote:
>> So far good, but...
>>
>> You forgot to handle the current group setting for
>> notmuch-message-replied-tags -- currently notmuch-message.el has this:
>>
>> (defcustom notmuch-message-replied-tags '("replied")
>> "Tags to be automatically added to or removed from a message when it is
>> replied to.
>> Any tag in the list will be added to a replied message or,
>> if it is prefaced with a \"-\", removed.
>>
>> For example, if you wanted to add a \"replied\" tag and remove
>> the \"inbox\" and \"todo\", you would set
>> (\"replied\" \"-inbox\" \"-todo\"\)"
>> :type 'list
>> :group 'notmuch-send)
>>
>> If the above was changed to 'normuch-send, (require 'notmuch-lib)
>> was added to the beginning of notmuch-message.el and the defgroup
>> below was written as
>>
>> (defgroup notmuch-reply
>> '((message-insertion custom-group)))
>> "Replying to messages.
>> ...
>>
>> would that work as expected ?
>
> Hi Tomi,
>
> I don't really get what are you trying to say. Do you mean that
> notmuch-message-replied-tags is referenced from notmuch-lib.el without
> (require 'notmuch-message)? I'm not sure whether it is required, but it
> works here without problems.
Ok, some sillines in my part and something I did not check well
enough before replying...
First, notmuch-lib.el defines notmuch-send group, yet
(defcustom notmuch-message-replied-tags ...) is defined
in notmuch-message.el which is not requiring notmuch-lib...
and all of this works now...
Actually, notmuch-lib.el defines all defgroups (except coolj).
Then, I found the following: notmuch-mua-send-hook is defined
both in notmuch-hooks and notmuch-send groups (having a precedent
helps a bit there when choosing alternatives below)
All the defgroups are defined using pattern:
(defgroup notmuch-<group> nil ...)
We should follow this pattern unless there is good reason not to
do so here: notmuch-send is written as:
(defgroup notmuch-send nil
"Sending messages from Notmuch."
:group 'notmuch)
(custom-add-to-group 'notmuch-send 'message 'custom-group)
But, as the documentation in this notmuch-reply definition references
'Message insertion' group, doing
(defgroup notmuch-reply
'((message-insertion custom-group))'
"Replying to messages.
Most of the reply customization settings can be found in `Message
insertion' group. Notmuch specific settings are included directly
here."
:group 'notmuch)
could be good thing to do here; definition matches doc from the beginning
(just not adding any of the custom variables, yet).
Now, currently notmuch-message.el defines notmuch-message-replied-tags
and puts that to :group 'notmuch-send
There are 2 alternatives:
1) change that to :group 'notmuch-reply
2) add (custom-add-to-group 'notmuch-reply 'notmuch-message-replied-tags 'custom-variable)
to notmuch-message.el (or notmuch-lib.el)
2b) change :group 'notmuch-send -> :group 'notmuch-reply and
add (custom-add-to-group 'notmuch-send 'notmuch-message-replied-tags 'custom-variable)
to notmuch-message.el (or notmuch-lib.el)
I personally would slightly lean to option 1 but if 2 gets more
supporters then 2b (so that the spesific group is in the group definition).
On other words; 1 or 2b gets LGTM from me :)
Understood ? :D
Tomi
> Running M-x customize-variable RET notmuch-message-replied-tags RET
> shows the following. Note that both groups are mentioned at the bottom.
> No warning or errors are produced.
Yes, I tested that missing group-thing with:
(defgroup foo '((bar-group custom-group)) "test")
It seems the nonexisting bar-group is created on-the-fly (but
exist temporarily). No warnings nor errors :).
>
> -Michal
Tomi
>
> --8<---------------cut here---------------start------------->8---
> To apply changes, use the Save or Set buttons.
> For details, see Saving Customizations in the Emacs manual.
>
> Search
>
> Operate on all settings in this buffer:
> Set for current session Save for future sessions
> Undo edits Reset to saved Erase customizations Exit
>
> Hide notmuch-message-replied-tags: '("replied")
> State : STANDARD. (mismatch)
> Tags to be automatically added to or removed from a message when it is replied to. Hide
> Any tag in the list will be added to a replied message or,
> if it is prefaced with a "-", removed.
>
> For example, if you wanted to add a "replied" tag and remove
> the "inbox" and "todo", you would set
> ("replied" "-inbox" "-todo")
> Groups: Notmuch Send Notmuch Reply
> --8<---------------cut here---------------end--------------->8---
More information about the notmuch
mailing list