unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
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---

  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).