unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Jani Nikula <jani@nikula.org>
To: Michal Nazarewicz <mina86@mina86.com>, notmuch@notmuchmail.org
Subject: Re: [PATCH 4/6] emacs: add support for custom tag changes on message/thread archive
Date: Mon, 03 Sep 2012 14:08:17 +0200	[thread overview]
Message-ID: <87r4qj8g26.fsf@nikula.org> (raw)
In-Reply-To: <xa1tfw6zwd0z.fsf@mina86.com>

On Mon, 03 Sep 2012, Michal Nazarewicz <mina86@mina86.com> wrote:
> Jani Nikula <jani@nikula.org> writes:
>> Add support for customization of the tag changes that are applied when
>> a message or a thread is archived. Instead of hard-coded removal of
>> the "inbox" tag, the user can now specify a list of tag changes to
>> perform.
>
>> diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
>> index ce5ea6f..e701aec 100644
>> --- a/emacs/notmuch-show.el
>> +++ b/emacs/notmuch-show.el
>> @@ -1748,18 +1748,20 @@ argument, hide all of the messages."
>>  (defun notmuch-show-archive-thread (&optional unarchive)
>>    "Archive each message in thread.
>>  
>> -Archive each message currently shown by removing the \"inbox\"
>> -tag from each.  If a prefix argument is given, the messages will
>> -be \"unarchived\" (ie. the \"inbox\" tag will be added instead of
>> -removed).
>> +Archive each message currently shown by applying the tag changes
>> +in `notmuch-archive-tags' to each (remove the \"inbox\" tag by
>> +default). If a prefix argument is given, the messages will be
>> +\"unarchived\", i.e. the tag changes in `notmuch-archive-tags'
>> +will be reversed.
>>  
>>  Note: This command is safe from any race condition of new messages
>>  being delivered to the same thread. It does not archive the
>>  entire thread, but only the messages shown in the current
>>  buffer."
>>    (interactive "P")
>> -  (let ((op (if unarchive "+" "-")))
>> -    (notmuch-show-tag-all (concat op "inbox"))))
>> +  (when notmuch-archive-tags
>
> Strictly speaking (when) should not be needed here (an in the following
> changes).  Or is it?

I noticed it was needed in some places, so decided to slam it in all
places for similarity. No harm in that, IMO.

Thanks for the review.

Jani.


>
>> +    (notmuch-show-tag-all
>> +     (notmuch-tag-change-list notmuch-archive-tags unarchive))))
>>  
>>  (defun notmuch-show-archive-thread-then-next ()
>>    "Archive all messages in the current buffer, then show next thread from search."
>> @@ -1774,14 +1776,17 @@ buffer."
>>    (notmuch-show-next-thread))
>>  
>>  (defun notmuch-show-archive-message (&optional unarchive)
>> -  "Archive the current message (remove \"inbox\" tag).
>> +  "Archive the current message.
>>  
>> -If a prefix argument is given, the message will be
>> -\"unarchived\" (ie. the \"inbox\" tag will be added instead of
>> -removed)."
>> +Archive the current message by applying the tag changes in
>> +`notmuch-archive-tags' to it (remove the \"inbox\" tag by
>> +default). If a prefix argument is given, the message will be
>> +\"unarchived\", i.e. the tag changes in `notmuch-archive-tags'
>> +will be reversed."
>>    (interactive "P")
>> -  (let ((op (if unarchive "+" "-")))
>> -    (notmuch-show-tag-message (concat op "inbox"))))
>> +  (when notmuch-archive-tags
>> +    (apply 'notmuch-show-tag-message
>> +	   (notmuch-tag-change-list notmuch-archive-tags unarchive))))
>>  
>>  (defun notmuch-show-archive-message-then-next-or-exit ()
>>    "Archive the current message, then show the next open message in the current thread.
>> diff --git a/emacs/notmuch.el b/emacs/notmuch.el
>> index 1c43d3e..64caa3e 100644
>> --- a/emacs/notmuch.el
>> +++ b/emacs/notmuch.el
>> @@ -594,11 +594,19 @@ See `notmuch-tag' for information on the format of TAG-CHANGES."
>>    (notmuch-search-tag "-"))
>>  
>>  (defun notmuch-search-archive-thread ()
>> -  "Archive the currently selected thread (remove its \"inbox\" tag).
>> +  "Archive the currently selected thread.
>> +
>> +Archive each message in the currently selected thread by applying
>> +the tag changes in `notmuch-archive-tags' to each (remove the
>> +\"inbox\" tag by default). If a prefix argument is given, the
>> +messages will be \"unarchived\" (i.e. the tag changes in
>> +`notmuch-archive-tags' will be reversed).
>>  
>>  This function advances the next thread when finished."
>>    (interactive)
>> -  (notmuch-search-tag '("-inbox"))
>> +  (when notmuch-archive-tags
>> +    (notmuch-search-tag
>> +     (notmuch-tag-change-list notmuch-archive-tags)))
>>    (notmuch-search-next-thread))
>>  
>>  (defun notmuch-search-update-result (result &optional pos)
>> -- 
>> 1.7.9.5
>>
>
> -- 
> Best regards,                                         _     _
> .o. | Liege of Serenely Enlightened Majesty of      o' \,=./ `o
> ..o | Computer Science,  Michał “mina86” Nazarewicz    (o o)
> ooo +----<email/xmpp: mpn@google.com>--------------ooO--(_)--Ooo--

  reply	other threads:[~2012-09-03 12:08 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-02 19:57 [PATCH 0/6] emacs: customization for tag changes on archive Jani Nikula
2012-09-02 19:58 ` [PATCH 1/6] emacs: add helper for tag change list manipulation Jani Nikula
2012-09-03 11:33   ` Michal Nazarewicz
2012-09-03 12:06     ` Jani Nikula
2012-09-06 14:30       ` Tomi Ollila
2012-09-06 15:35         ` Jani Nikula
2012-09-02 19:58 ` [PATCH 2/6] emacs: fix notmuch-message-replied-tags defcustom type Jani Nikula
2012-09-02 19:58 ` [PATCH 3/6] emacs: use new tag change helper to mark messages as replied Jani Nikula
2012-09-02 19:58 ` [PATCH 4/6] emacs: add support for custom tag changes on message/thread archive Jani Nikula
2012-09-03 11:39   ` Michal Nazarewicz
2012-09-03 12:08     ` Jani Nikula [this message]
2012-09-03 13:31       ` Michal Nazarewicz
2012-09-02 19:58 ` [PATCH 5/6] emacs: add support for reversing notmuch-search-archive-thread tag changes Jani Nikula
2012-09-02 19:58 ` [PATCH 6/6] emacs: add support for reversing notmuch-show-mark-read " Jani Nikula
2012-09-03 11:41 ` [PATCH 0/6] emacs: customization for tag changes on archive Michal Nazarewicz
2012-09-04  7:02 ` Mark Walters

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=87r4qj8g26.fsf@nikula.org \
    --to=jani@nikula.org \
    --cc=mina86@mina86.com \
    --cc=notmuch@notmuchmail.org \
    /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).