From: Tomi Ollila Date: Thu, 6 Sep 2012 14:00:55 +0000 (+0300) Subject: Re: [PATCH v2] emacs: Add customization group for replying X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=cfb20d2c851bca3124d87e5a6d9913c7ea963eab;p=notmuch-archives.git Re: [PATCH v2] emacs: Add customization group for replying --- diff --git a/46/9eea2ec58962ce0f0dbdbd68d7d19ce7940099 b/46/9eea2ec58962ce0f0dbdbd68d7d19ce7940099 new file mode 100644 index 000000000..b30f5e084 --- /dev/null +++ b/46/9eea2ec58962ce0f0dbdbd68d7d19ce7940099 @@ -0,0 +1,197 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by olra.theworths.org (Postfix) with ESMTP id 2FF3B431FAF + for ; Thu, 6 Sep 2012 07:00:51 -0700 (PDT) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: 0 +X-Spam-Level: +X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none] + autolearn=disabled +Received: from olra.theworths.org ([127.0.0.1]) + by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id w0RHchRdGuxS for ; + Thu, 6 Sep 2012 07:00:49 -0700 (PDT) +Received: from guru.guru-group.fi (guru.guru-group.fi [46.183.73.34]) + by olra.theworths.org (Postfix) with ESMTP id A2EED431FAE + for ; Thu, 6 Sep 2012 07:00:49 -0700 (PDT) +Received: from guru.guru-group.fi (localhost [IPv6:::1]) + by guru.guru-group.fi (Postfix) with ESMTP id 9620B1000E5; + Thu, 6 Sep 2012 17:00:55 +0300 (EEST) +From: Tomi Ollila +To: Michal Sojka , notmuch@notmuchmail.org +Subject: Re: [PATCH v2] emacs: Add customization group for replying +In-Reply-To: <87y5kntjf1.fsf@steelpick.2x.cz> +References: <1346919815-20397-1-git-send-email-sojkam1@fel.cvut.cz> + + <87y5kntjf1.fsf@steelpick.2x.cz> +User-Agent: Notmuch/0.14+11~gd9bf007 (http://notmuchmail.org) Emacs/24.2.1 + (x86_64-unknown-linux-gnu) +X-Face: HhBM'cA~ +MIME-Version: 1.0 +Content-Type: text/plain +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.13 +Precedence: list +List-Id: "Use and development of the notmuch mail system." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Thu, 06 Sep 2012 14:00:51 -0000 + +On Thu, Sep 06 2012, Michal Sojka 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- 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---