From: Tomi Ollila <tomi.ollila@iki.fi>
To: Michal Sojka <sojkam1@fel.cvut.cz>, notmuch@notmuchmail.org
Subject: Re: [PATCH v2] emacs: Add customization group for replying
Date: Thu, 06 Sep 2012 17:00:55 +0300 [thread overview]
Message-ID: <m2sjavxnc8.fsf@guru.guru-group.fi> (raw)
In-Reply-To: <87y5kntjf1.fsf@steelpick.2x.cz>
On Thu, Sep 06 2012, Michal Sojka <sojkam1@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---
next prev parent reply other threads:[~2012-09-06 14:00 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Date: Wed, 05 Sep 2012 09:48:58 +0300>
2012-09-06 8:23 ` [PATCH v2] emacs: Add customization group for replying Michal Sojka
2012-09-06 8:57 ` Tomi Ollila
2012-09-06 12:39 ` Michal Sojka
2012-09-06 14:00 ` Tomi Ollila [this message]
2012-09-06 14:12 ` Michal Sojka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://notmuchmail.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m2sjavxnc8.fsf@guru.guru-group.fi \
--to=tomi.ollila@iki.fi \
--cc=notmuch@notmuchmail.org \
--cc=sojkam1@fel.cvut.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://yhetil.org/notmuch.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).