From: Jameson Graef Rollins <jrollins@finestructure.net>
To: Notmuch Mail <notmuch@notmuchmail.org>
Subject: [PATCH 2/4] emacs: repurpose notmuch-show-archive-thread-internal function for general thread tagging
Date: Sat, 7 Jan 2012 14:28:12 -0800 [thread overview]
Message-ID: <1325975294-646-3-git-send-email-jrollins@finestructure.net> (raw)
In-Reply-To: <1325975294-646-2-git-send-email-jrollins@finestructure.net>
Instead of having a function that is only used for archiving a thread,
we instead make it useful for any tagging operation. The new
function, notmuch-show-tag-thread-internal, now takes two more
arguments, for the "sign" of the tagging operation ("-" or "+"), and
the tag to be added or removed. This will allow this function to be
used for any generic thread tagging operation.
The higher level functions that call this function are modified
accordingly.
---
emacs/notmuch-show.el | 34 ++++++++++++++++++++--------------
1 files changed, 20 insertions(+), 14 deletions(-)
diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
index 5502efd..1e16f05 100644
--- a/emacs/notmuch-show.el
+++ b/emacs/notmuch-show.el
@@ -1414,20 +1414,26 @@ argument, hide all of the messages."
(interactive)
(backward-button 1))
-(defun notmuch-show-archive-thread-internal (show-next)
+(defun notmuch-show-tag-thread-internal (sign tag show-next)
;; Remove the tag from the current set of messages.
(goto-char (point-min))
- (loop do (notmuch-show-remove-tag "inbox")
- until (not (notmuch-show-goto-message-next)))
- ;; Move to the next item in the search results, if any.
- (let ((parent-buffer notmuch-show-parent-buffer))
- (notmuch-kill-this-buffer)
- (if parent-buffer
- (progn
- (switch-to-buffer parent-buffer)
- (forward-line)
- (if show-next
- (notmuch-search-show-thread))))))
+ (let ((tag-function))
+ (cond
+ ((string= sign "-")
+ (setq tag-function 'notmuch-show-remove-tag))
+ ((string= sign "+")
+ (setq tag-function 'notmuch-show-add-tag)))
+ (loop do (funcall tag-function tag)
+ until (not (notmuch-show-goto-message-next)))
+ ;; Move to the next item in the search results, if any.
+ (let ((parent-buffer notmuch-show-parent-buffer))
+ (notmuch-kill-this-buffer)
+ (if parent-buffer
+ (progn
+ (switch-to-buffer parent-buffer)
+ (forward-line)
+ (if show-next
+ (notmuch-search-show-thread)))))))
(defun notmuch-show-archive-thread ()
"Archive each message in thread, then show next thread from search.
@@ -1441,12 +1447,12 @@ being delivered to the same thread. It does not archive the
entire thread, but only the messages shown in the current
buffer."
(interactive)
- (notmuch-show-archive-thread-internal t))
+ (notmuch-show-tag-thread-internal "-" "inbox" t))
(defun notmuch-show-archive-thread-then-exit ()
"Archive each message in thread, then exit back to search results."
(interactive)
- (notmuch-show-archive-thread-internal nil))
+ (notmuch-show-tag-thread-internal "-" "inbox" nil))
(defun notmuch-show-stash-cc ()
"Copy CC field of current message to kill-ring."
--
1.7.7.3
next prev parent reply other threads:[~2012-01-07 22:28 UTC|newest]
Thread overview: 176+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-07 22:28 another attempt to add delete functionality in emacs Jameson Graef Rollins
2012-01-07 22:28 ` [PATCH 1/4] emacs: new customization variable to exclude "deleted" messages from search Jameson Graef Rollins
2012-01-07 22:28 ` Jameson Graef Rollins [this message]
2012-01-07 22:28 ` [PATCH 3/4] emacs: add ability to "delete" messages and threads Jameson Graef Rollins
2012-01-07 22:28 ` [PATCH 4/4] emacs: modify help message for notmuch-search-line-faces to reflect preferred "deleted" tag name Jameson Graef Rollins
2012-01-08 1:26 ` change to default archive/delete key bindings Jameson Graef Rollins
2012-01-08 1:26 ` [PATCH 1/4] emacs: add show-mode functions to archive/delete only current message Jameson Graef Rollins
2012-01-08 1:26 ` [PATCH 2/4] emacs: add option to notmuch-show-next-open-message to pop out to parent buffer if at end Jameson Graef Rollins
2012-01-08 1:26 ` [PATCH 3/4] emacs: modify the default show-mode key bindings for archiving/deleting Jameson Graef Rollins
2012-01-08 1:26 ` [PATCH 4/4] emacs: use pop-at-end functionality in archive/delete-message functions Jameson Graef Rollins
2012-01-08 18:56 ` [PATCH 4/4 v2] " Jameson Graef Rollins
2012-01-08 19:28 ` [PATCH 4/4 v3] " Jameson Graef Rollins
2012-01-09 1:12 ` [PATCH 2/4] emacs: add option to notmuch-show-next-open-message to pop out to parent buffer if at end Aaron Ecay
2012-01-08 19:09 ` [PATCH 1/4 v2] emacs: add show-mode functions to archive/delete only current message Jameson Graef Rollins
2012-01-10 7:43 ` David Edmondson
2012-01-10 7:48 ` change to default archive/delete key bindings David Edmondson
2012-01-09 1:08 ` [PATCH 2/4] emacs: repurpose notmuch-show-archive-thread-internal function for general thread tagging Aaron Ecay
2012-01-09 2:49 ` Jameson Graef Rollins
2012-01-09 5:02 ` Aaron Ecay
2012-01-11 2:56 ` Jameson Graef Rollins
2012-01-11 5:53 ` Aaron Ecay
2012-01-11 7:07 ` Jameson Graef Rollins
2012-01-09 1:14 ` [PATCH 1/4] emacs: new customization variable to exclude "deleted" messages from search Aaron Ecay
2012-01-09 1:49 ` Austin Clements
2012-01-09 2:34 ` Jameson Graef Rollins
2012-01-09 2:46 ` Austin Clements
2012-01-09 4:31 ` Austin Clements
2012-01-11 5:02 ` [PATCH 0/3] Automatic tag-based exclusion Austin Clements
2012-01-11 5:02 ` [PATCH 1/3] count: Convert to new-style argument parsing Austin Clements
2012-01-11 8:17 ` Jani Nikula
2012-01-11 18:26 ` Austin Clements
2012-01-11 18:27 ` Jani Nikula
2012-01-11 5:02 ` [PATCH 2/3] lib: Add support for automatically excluding tags from queries Austin Clements
2012-01-11 10:11 ` Jani Nikula
2012-01-11 18:48 ` Austin Clements
2012-01-11 5:02 ` [PATCH 3/3] search: Support automatic tag exclusions Austin Clements
2012-01-11 19:27 ` Jani Nikula
2012-01-11 7:05 ` [PATCH 0/3] Automatic tag-based exclusion Jameson Graef Rollins
2012-01-13 23:07 ` [PATCH v2 0/3] Austin Clements
2012-01-13 23:07 ` [PATCH v2 1/3] count: Convert to new-style argument parsing Austin Clements
2012-01-14 1:49 ` David Bremner
2012-01-13 23:07 ` [PATCH v2 2/3] lib: Add support for automatically excluding tags from queries Austin Clements
2012-01-14 23:38 ` Jameson Graef Rollins
2012-01-15 0:05 ` Austin Clements
2012-01-13 23:07 ` [PATCH v2 3/3] search: Support automatic tag exclusions Austin Clements
2012-01-14 23:40 ` Jameson Graef Rollins
2012-01-15 0:14 ` Austin Clements
2012-01-16 9:12 ` David Edmondson
2012-01-16 19:28 ` Austin Clements
2012-01-16 22:18 ` Jeremy Nickurak
2012-01-16 22:25 ` Jameson Graef Rollins
[not found] ` <CA+eQo_3xxuhgUUXWXWyVD1LFhvhkw2psbA3ZnFnZk=BjjHXy8w@mail.gmail.com>
2012-01-17 9:08 ` David Edmondson
2012-01-17 20:32 ` Austin Clements
2012-01-18 8:38 ` David Edmondson
2012-01-18 8:52 ` Jameson Graef Rollins
2012-01-18 9:52 ` David Edmondson
2012-01-18 18:51 ` Jameson Graef Rollins
2012-01-16 19:34 ` Jameson Graef Rollins
2012-01-14 23:38 ` [PATCH v2 0/3] Jameson Graef Rollins
2012-01-15 0:17 ` [PATCH v3 0/2] Automatic tag-based exclusion Austin Clements
2012-01-15 0:17 ` [PATCH v3 1/2] lib: Add support for automatically excluding tags from queries Austin Clements
2012-01-15 0:17 ` [PATCH v3 2/2] search: Support automatic tag exclusions Austin Clements
2012-01-19 19:19 ` Pieter Praet
2012-01-19 19:19 ` [PATCH 1/4] search: rename auto_exclude_tags to {search, }exclude_tags Pieter Praet
2012-01-19 19:41 ` [PATCH 1/4] search: rename auto_exclude_tags to {search,}exclude_tags Austin Clements
2012-01-19 21:14 ` [PATCH 1/4] search: rename auto_exclude_tags to {search, }exclude_tags Pieter Praet
2012-01-19 19:19 ` [PATCH 2/4] test: only exclude "deleted" messages from search if explicitly configured Pieter Praet
2012-01-19 19:19 ` [PATCH 3/4] config: only set search.exclude_tags to "deleted; spam; " during setup Pieter Praet
2012-01-22 22:14 ` Xavier Maillard
2012-01-22 22:53 ` Jameson Graef Rollins
2012-01-23 5:05 ` Pieter Praet
2012-01-23 5:34 ` Jameson Graef Rollins
2012-01-23 7:35 ` Pieter Praet
2012-01-23 7:22 ` Jani Nikula
2012-01-23 7:38 ` Jameson Graef Rollins
2012-01-23 8:24 ` Jani Nikula
2012-01-23 8:45 ` Jameson Graef Rollins
2012-01-25 0:43 ` Pieter Praet
2012-01-23 8:03 ` Pieter Praet
2012-01-23 8:31 ` Jani Nikula
2012-01-25 0:42 ` Pieter Praet
2012-01-23 4:16 ` Pieter Praet
2012-01-19 19:19 ` [PATCH 4/4] setup: prompt user for search.exclude_tags value Pieter Praet
2012-01-19 19:44 ` Austin Clements
2012-01-19 21:16 ` Pieter Praet
2012-01-20 4:19 ` Austin Clements
2012-01-22 6:55 ` Pieter Praet
2012-01-22 17:08 ` Austin Clements
2012-01-23 4:17 ` Pieter Praet
2012-01-23 4:22 ` [PATCH v2 1/6] search: rename auto_exclude_tags to {search, }exclude_tags Pieter Praet
2012-01-23 23:28 ` David Bremner
2012-01-23 4:22 ` [PATCH v2 2/6] test: only exclude "deleted" messages from search if explicitly configured Pieter Praet
2012-01-23 4:22 ` [PATCH v2 3/6] config: only exclude messages if 'search.exclude_tags' is explicitly set Pieter Praet
2012-01-23 4:22 ` [PATCH v2 4/6] setup: move tag printing and parsing into separate functions Pieter Praet
2012-01-23 5:07 ` Austin Clements
2012-01-23 5:50 ` [PATCH v3 4/6] setup: Create functions for tag list printing and parsing Pieter Praet
2012-01-23 4:22 ` [PATCH v2 5/6] setup: prompt user for search.exclude_tags value Pieter Praet
2012-01-23 4:34 ` Austin Clements
2012-01-23 5:40 ` [PATCH v3 " Pieter Praet
2012-01-23 4:22 ` [PATCH v2 6/6] NEWS: update "Tag exclusion" section Pieter Praet
2012-01-23 4:41 ` Austin Clements
2012-01-23 5:41 ` [PATCH v3 " Pieter Praet
2012-01-23 14:49 ` Austin Clements
2012-01-19 19:36 ` [PATCH v3 2/2] search: Support automatic tag exclusions Austin Clements
2012-01-19 20:06 ` markwalters1009
2012-01-19 20:16 ` Aaron Ecay
2012-01-19 20:23 ` Mark Walters
2012-01-19 20:28 ` Austin Clements
2012-01-19 22:01 ` Mark Walters
2012-01-19 22:03 ` [PATCH] Automatically exclude tags in notmuch-show Mark Walters
2012-01-19 22:59 ` Austin Clements
2012-01-19 23:54 ` Pieter Praet
2012-01-20 0:10 ` Mark Walters
2012-01-20 17:18 ` Austin Clements
2012-01-22 0:38 ` Mark Walters
2012-01-22 17:31 ` Austin Clements
2012-01-22 18:16 ` Austin Clements
2012-01-22 18:47 ` Mark Walters
2012-01-23 1:13 ` Mark Walters
2012-01-23 1:52 ` Austin Clements
2012-01-24 1:05 ` Mark Walters
2012-01-24 1:16 ` Austin Clements
2012-01-24 1:18 ` [RFC PATCH 1/4] Add NOTMUCH_MESSAGE_FLAG_EXCLUDED flag Mark Walters
2012-01-24 1:18 ` [RFC PATCH 2/4] " Mark Walters
2012-01-24 2:45 ` Austin Clements
2012-01-24 11:20 ` Mark Walters
2012-01-28 10:51 ` Mark Walters
2012-01-28 18:33 ` Austin Clements
2012-01-28 23:57 ` Mark Walters
2012-01-29 0:04 ` [PATCH 1/4] Add exclude flag Mark Walters
2012-01-29 0:04 ` [PATCH 2/4] " Mark Walters
2012-01-29 0:04 ` [PATCH 3/4] " Mark Walters
2012-01-29 0:04 ` [PATCH 4/4] " Mark Walters
2012-01-29 10:37 ` [RFC PATCH 2/4] Add NOTMUCH_MESSAGE_FLAG_EXCLUDED flag Mark Walters
2012-01-29 18:36 ` Mark Walters
2012-01-29 18:39 ` [PATCH 1/7] cli: add --do-not-exclude option to count and search Mark Walters
2012-01-31 4:17 ` Austin Clements
2012-01-31 11:40 ` Mark Walters
2012-01-31 16:18 ` Austin Clements
2012-01-31 16:31 ` Jameson Graef Rollins
2012-02-11 18:44 ` Jameson Graef Rollins
2012-02-11 18:50 ` Austin Clements
2012-02-11 19:00 ` Jameson Graef Rollins
2012-01-29 18:39 ` [PATCH 2/7] lib: Rearrange the exclude code in query.cc Mark Walters
2012-01-29 18:39 ` [PATCH 3/7] lib: Make notmuch_query_search_messages set the exclude flag Mark Walters
2012-01-31 4:43 ` Austin Clements
2012-01-31 11:45 ` Mark Walters
2012-01-31 16:25 ` Austin Clements
2012-02-01 18:00 ` Mark Walters
2012-01-29 18:39 ` [PATCH 4/7] lib: Add the exclude flag to notmuch_query_search_threads Mark Walters
2012-01-31 4:50 ` Austin Clements
2012-01-31 11:47 ` Mark Walters
2012-01-31 5:07 ` Austin Clements
2012-01-29 18:39 ` [PATCH 5/7] cli: Make notmuch-show respect excludes Mark Walters
2012-01-31 4:56 ` Austin Clements
2012-01-31 12:30 ` Mark Walters
2012-01-29 18:39 ` [PATCH 6/7] cli: omit excluded messages in results where appropriate Mark Walters
2012-01-29 18:39 ` [PATCH 7/7] emacs: show: recognize the exclude flag Mark Walters
2012-01-31 5:08 ` [RFC PATCH 2/4] Add NOTMUCH_MESSAGE_FLAG_EXCLUDED flag Austin Clements
2012-01-24 1:18 ` [RFC PATCH 3/4] " Mark Walters
2012-01-24 2:53 ` Austin Clements
2012-01-24 1:18 ` [PATCH 4/4] " Mark Walters
2012-01-19 22:44 ` [PATCH v3 2/2] search: Support automatic tag exclusions Pieter Praet
2012-01-19 21:21 ` Pieter Praet
2012-01-22 22:09 ` Xavier Maillard
2012-01-23 4:15 ` Pieter Praet
2012-01-16 19:35 ` [PATCH v3 0/2] Automatic tag-based exclusion Jameson Graef Rollins
2012-01-17 1:08 ` David Bremner
2012-01-18 20:58 ` [PATCH] News for tag exclusion Austin Clements
2012-01-10 7:47 ` another attempt to add delete functionality in emacs David Edmondson
2012-01-10 20:01 ` David Bremner
2012-01-11 3:12 ` Jameson Graef Rollins
2012-01-11 5:16 ` Jani Nikula
2012-01-11 5:38 ` Austin Clements
2012-01-11 8:26 ` David Edmondson
2012-01-11 2:56 ` Jameson Graef Rollins
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=1325975294-646-3-git-send-email-jrollins@finestructure.net \
--to=jrollins@finestructure.net \
--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).