unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Austin Clements <amdragon@MIT.EDU>
To: Dmitry Kurochkin <dmitry.kurochkin@gmail.com>
Cc: notmuch@notmuchmail.org
Subject: Re: [PATCH 8/6] emacs: use message ids instead of thread id in `notmuch-show-operate-all'
Date: Sun, 29 Jan 2012 18:11:20 -0500	[thread overview]
Message-ID: <20120129231120.GJ17991@mit.edu> (raw)
In-Reply-To: <1327730348-6466-1-git-send-email-dmitry.kurochkin@gmail.com>

Eighth in the increasingly inaccurately named six patch series...

Quoth Dmitry Kurochkin on Jan 28 at  9:59 am:
> Before the change, `notmuch-show-operate-all' used thread id for
> "notmuch tag" search.  This could result in tagging unexpected
> messages that were added to the thread after the notmuch-show buffer
> was created.  The patch changes `notmuch-show-operate-all' to use ids
> of shown messages to fix this.

Are you planning to roll this into your earlier patch?

> ---
>  emacs/notmuch-show.el |   23 ++++++++++++++++++++++-
>  1 files changed, 22 insertions(+), 1 deletions(-)
> 
> diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
> index 2ca4d92..e606224 100644
> --- a/emacs/notmuch-show.el
> +++ b/emacs/notmuch-show.el
> @@ -1170,6 +1170,15 @@ All currently available key bindings:
>      (notmuch-show-move-to-message-top)
>      t))
>  
> +(defun notmuch-show-mapc (function)
> +  "Iterate through all messages with
> +`notmuch-show-goto-message-next' and call `function' for side
> +effects."

`function' should be FUNCTION.

> +  (save-excursion
> +    (goto-char (point-min))
> +    (loop do (funcall function)
> +	  while (notmuch-show-goto-message-next))))
> +
>  ;; Functions relating to the visibility of messages and their
>  ;; components.
>  
> @@ -1222,6 +1231,18 @@ Some useful entries are:
>    "Return the message id of the current message."
>    (concat "id:\"" (notmuch-show-get-prop :id) "\""))
>  
> +(defun notmuch-show-get-messages-ids ()
> +  "Return all message ids of currently shown messages."

"currently shown" could mean visible on the screen, which is not what
you mean.  You also don't mean "open messages".  Maybe "Return all
message ids of messages in this show buffer"?

> +  (let ((message-ids))
> +    (notmuch-show-mapc
> +     (lambda () (push (notmuch-show-get-message-id) message-ids)))
> +    message-ids))
> +
> +(defun notmuch-show-get-messages-ids-search ()
> +  "Return a search string for all message ids of currently shown
> +messages."

Same.

> +  (mapconcat 'identity (notmuch-show-get-messages-ids) " or "))
> +
>  ;; dme: Would it make sense to use a macro for many of these?
>  
>  (defun notmuch-show-get-filename ()
> @@ -1496,7 +1517,7 @@ i.e. a list of tags to change with '+' and '-' prefixes."
>  `Changed-tags' is a list of tag operations for \"notmuch tag\",
>  i.e. a list of tags to change with '+' and '-' prefixes."
>    (interactive (notmuch-select-tags-with-completion nil notmuch-show-thread-id))
> -  (apply 'notmuch-tag notmuch-show-thread-id changed-tags)
> +  (apply 'notmuch-tag (notmuch-show-get-messages-ids-search) changed-tags)
>    (save-excursion
>      (goto-char (point-min))
>      (loop do (let* ((current-tags (notmuch-show-get-tags))

  parent reply	other threads:[~2012-01-29 23:12 UTC|newest]

Thread overview: 136+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-28  4:41 [PATCH 1/6] emacs: move tag format validation to `notmuch-tag' function Dmitry Kurochkin
2012-01-28  4:41 ` [PATCH 2/6] emacs: remove text properties from `notmuch-search-get-tags' result Dmitry Kurochkin
2012-01-28  4:41 ` [PATCH 3/6] emacs: make "+" and "-" tagging operations more robust Dmitry Kurochkin
2012-01-28 16:49   ` Jeremy Nickurak
2012-01-28 17:17     ` Dmitry Kurochkin
2012-01-29 22:57   ` Austin Clements
2012-01-30  1:32     ` Dmitry Kurochkin
2012-01-28  4:41 ` [PATCH 4/6] test: fix emacs tests after tagging operations changes Dmitry Kurochkin
2012-01-29 22:58   ` Austin Clements
2012-01-29 23:09     ` Dmitry Kurochkin
2012-01-28  4:41 ` [PATCH 5/6] emacs: add "*" binding for notmuch-show view Dmitry Kurochkin
2012-01-28  4:41 ` [PATCH 6/6] emacs: separate history for operations which accept single and multiple tags Dmitry Kurochkin
2012-01-29 23:02   ` Austin Clements
2012-01-30  1:42     ` Dmitry Kurochkin
2012-01-28  5:05 ` [PATCH 7/6] emacs: relax tag syntax check in `notmuch-tag' function Dmitry Kurochkin
2012-01-28  8:56   ` Jani Nikula
2012-01-28  9:49     ` Dmitry Kurochkin
2012-02-19 20:53     ` Pieter Praet
2012-01-28  5:59 ` [PATCH 8/6] emacs: use message ids instead of thread id in `notmuch-show-operate-all' Dmitry Kurochkin
2012-01-28  5:59   ` [PATCH 9/6] emacs: code cleanup in `notmuch-show-operate-all', no functional changes Dmitry Kurochkin
2012-01-28  9:09   ` [PATCH 8/6] emacs: use message ids instead of thread id in `notmuch-show-operate-all' Jani Nikula
2012-01-28  9:42     ` Dmitry Kurochkin
2012-01-29 23:11   ` Austin Clements [this message]
2012-01-30  1:50     ` Dmitry Kurochkin
2012-01-29 21:34 ` [PATCH 1/6] emacs: move tag format validation to `notmuch-tag' function Austin Clements
2012-01-29 22:54   ` Dmitry Kurochkin
2012-01-29 23:16     ` Austin Clements
2012-01-29 23:32       ` Dmitry Kurochkin
2012-01-30  2:26 ` [PATCH v2 00/13] emacs: more robust and consistent tagging operations Dmitry Kurochkin
2012-01-30  2:26   ` [PATCH v2 01/13] emacs: move tag format validation to `notmuch-tag' function Dmitry Kurochkin
2012-01-30  2:26   ` [PATCH v2 02/13] emacs: remove text properties from `notmuch-search-get-tags' result Dmitry Kurochkin
2012-01-30  2:26   ` [PATCH v2 03/13] emacs: make "+" and "-" tagging operations in notmuch-search more robust Dmitry Kurochkin
2012-01-30  4:48     ` Austin Clements
2012-01-30  5:10       ` Dmitry Kurochkin
2012-01-30  2:26   ` [PATCH v2 04/13] emacs: make "+" and "-" tagging operations in notmuch-show " Dmitry Kurochkin
2012-01-30  2:26   ` [PATCH v2 05/13] test: fix emacs tests after tagging operations changes Dmitry Kurochkin
2012-01-30  2:26   ` [PATCH v2 06/13] emacs: rename `notmuch-search-operate-all' to `notmuch-search-tag-all' Dmitry Kurochkin
2012-01-30  2:26   ` [PATCH v2 07/13] emacs: add "*" binding for notmuch-show view Dmitry Kurochkin
2012-01-30  2:26   ` [PATCH v2 08/13] emacs: separate history for operations which accept single and multiple tags Dmitry Kurochkin
2012-01-30  2:26   ` [PATCH v2 09/13] emacs: relax tag syntax check in `notmuch-tag' function Dmitry Kurochkin
2012-01-30  2:26   ` [PATCH v2 10/13] emacs: use message ids instead of thread id in `notmuch-show-operate-all' Dmitry Kurochkin
2012-01-30  4:57     ` Austin Clements
2012-01-30  5:21       ` Dmitry Kurochkin
2012-01-30  2:26   ` [PATCH v2 11/13] emacs: code cleanup in `notmuch-show-operate-all', no functional changes Dmitry Kurochkin
2012-01-30  4:59     ` Austin Clements
2012-01-30  5:25       ` Dmitry Kurochkin
2012-01-30  2:26   ` [PATCH v2 12/13] emacs: accept empty tag list in `notmuch-tag' Dmitry Kurochkin
2012-01-30  2:26   ` [PATCH v2 13/13] NEWS: document Emacs UI tagging operations changes Dmitry Kurochkin
2012-01-30  5:04     ` Austin Clements
2012-01-30  5:16       ` Dmitry Kurochkin
2012-01-30  5:33 ` emacs: more flexible and consistent tagging operations Dmitry Kurochkin
2012-01-30  5:33   ` [PATCH v3 01/12] emacs: move tag format validation to `notmuch-tag' function Dmitry Kurochkin
2012-01-30  5:33   ` [PATCH v3 02/12] emacs: remove text properties from `notmuch-search-get-tags' result Dmitry Kurochkin
2012-01-30  5:33   ` [PATCH v3 03/12] emacs: make "+" and "-" tagging operations in notmuch-search more flexible Dmitry Kurochkin
2012-01-30  5:33   ` [PATCH v3 04/12] emacs: make "+" and "-" tagging operations in notmuch-show " Dmitry Kurochkin
2012-01-30  5:33   ` [PATCH v3 05/12] test: fix emacs tests after tagging operations changes Dmitry Kurochkin
2012-01-30  5:33   ` [PATCH v3 06/12] emacs: rename `notmuch-search-operate-all' to `notmuch-search-tag-all' Dmitry Kurochkin
2012-01-30  5:33   ` [PATCH v3 07/12] emacs: add "*" binding for notmuch-show view Dmitry Kurochkin
2012-01-30  5:34   ` [PATCH v3 08/12] emacs: separate history for operations which accept single and multiple tags Dmitry Kurochkin
2012-01-30  5:34   ` [PATCH v3 09/12] emacs: relax tag syntax check in `notmuch-tag' function Dmitry Kurochkin
2012-01-30  5:34   ` [PATCH v3 10/12] emacs: accept empty tag list in `notmuch-tag' Dmitry Kurochkin
2012-01-30  5:34   ` [PATCH v3 11/12] emacs: s/tags/tag-changes/ for arguments of tagging functions Dmitry Kurochkin
2012-01-30  5:34   ` [PATCH v3 12/12] NEWS: document Emacs UI tagging operations changes Dmitry Kurochkin
2012-01-30 15:20   ` emacs: more flexible and consistent tagging operations Austin Clements
2012-01-30 15:55   ` Tomi Ollila
2012-01-31  4:54   ` [PATCH v4 00/12] " Dmitry Kurochkin
2012-01-31  4:54     ` [PATCH v4 01/12] emacs: move tag format validation to `notmuch-tag' function Dmitry Kurochkin
2012-01-31  4:54     ` [PATCH v4 02/12] emacs: remove text properties from `notmuch-search-get-tags' result Dmitry Kurochkin
2012-02-04  1:49       ` David Bremner
2012-01-31  4:54     ` [PATCH v4 03/12] emacs: make "+" and "-" tagging operations in notmuch-search more flexible Dmitry Kurochkin
2012-01-31  4:54     ` [PATCH v4 04/12] emacs: make "+" and "-" tagging operations in notmuch-show " Dmitry Kurochkin
2012-01-31  4:54     ` [PATCH v4 05/12] test: fix emacs tests after tagging operations changes Dmitry Kurochkin
2012-01-31  4:54     ` [PATCH v4 06/12] emacs: rename `notmuch-search-operate-all' to `notmuch-search-tag-all' Dmitry Kurochkin
2012-01-31  4:54     ` [PATCH v4 07/12] emacs: add "*" binding for notmuch-show view Dmitry Kurochkin
2012-01-31  4:54     ` [PATCH v4 08/12] emacs: separate history for operations which accept single and multiple tags Dmitry Kurochkin
2012-01-31  4:54     ` [PATCH v4 09/12] emacs: relax tag syntax check in `notmuch-tag' function Dmitry Kurochkin
2012-01-31  4:54     ` [PATCH v4 10/12] emacs: accept empty tag list in `notmuch-tag' Dmitry Kurochkin
2012-01-31  4:54     ` [PATCH v4 11/12] emacs: s/tags/tag-changes/ for arguments of tagging functions Dmitry Kurochkin
2012-01-31  4:54     ` [PATCH v4 12/12] NEWS: document Emacs UI tagging operations changes Dmitry Kurochkin
2012-02-05  7:13 ` [PATCH v5 00/12] emacs: more flexible and consistent tagging operations Dmitry Kurochkin
2012-02-05  7:13   ` [PATCH v5 01/12] emacs: move tag format validation to `notmuch-tag' function Dmitry Kurochkin
2012-02-05  7:13   ` [PATCH v5 02/12] emacs: remove text properties from `notmuch-search-get-tags' result Dmitry Kurochkin
2012-02-05  7:13   ` [PATCH v5 03/12] emacs: make "+" and "-" tagging operations in notmuch-search more flexible Dmitry Kurochkin
2012-02-05  7:13   ` [PATCH v5 04/12] emacs: make "+" and "-" tagging operations in notmuch-show " Dmitry Kurochkin
2012-02-05  7:13   ` [PATCH v5 05/12] test: fix emacs tests after tagging operations changes Dmitry Kurochkin
2012-02-05  7:13   ` [PATCH v5 06/12] emacs: rename `notmuch-search-operate-all' to `notmuch-search-tag-all' Dmitry Kurochkin
2012-02-05  7:13   ` [PATCH v5 07/12] emacs: add "*" binding for notmuch-show view Dmitry Kurochkin
2012-02-05  7:13   ` [PATCH v5 08/12] emacs: separate history for operations which accept single and multiple tags Dmitry Kurochkin
2012-02-05  7:13   ` [PATCH v5 09/12] emacs: relax tag syntax check in `notmuch-tag' function Dmitry Kurochkin
2012-02-05  7:13   ` [PATCH v5 10/12] emacs: accept empty tag list in `notmuch-tag' Dmitry Kurochkin
2012-02-05  7:13   ` [PATCH v5 11/12] emacs: s/tags/tag-changes/ for arguments of tagging functions Dmitry Kurochkin
2012-02-05  7:13   ` [PATCH v5 12/12] NEWS: document Emacs UI tagging operations changes Dmitry Kurochkin
2012-02-08 15:58   ` [PATCH v5 00/12] emacs: more flexible and consistent tagging operations David Bremner
2012-02-23 23:07     ` Pieter Praet
2012-02-23 23:09       ` [PATCH 1/6] test: emacs: new tests "notmuch-show: {add, remove} multiple tags {to, from} single message" Pieter Praet
2012-02-24 10:35         ` Dmitry Kurochkin
2012-02-24 22:33           ` Pieter Praet
2012-02-23 23:09       ` [PATCH 2/6] test: emacs: new test "notmuch-show: change tags of all messages in current buffer" Pieter Praet
2012-02-23 23:09       ` [PATCH 3/6] test: emacs: `notmuch-show-tag-all' sans prefix arg should only tag open messages Pieter Praet
2012-02-23 23:09       ` [PATCH 4/6] emacs: add predicate arg to `notmuch-show-mapc' Pieter Praet
2012-02-24 10:39         ` Dmitry Kurochkin
2012-02-24 22:35           ` Pieter Praet
2012-02-23 23:09       ` [PATCH 5/6] emacs: simplify `notmuch-show-get-messages-ids{, -search}' Pieter Praet
2012-02-24 10:42         ` Dmitry Kurochkin
2012-02-24 22:36           ` Pieter Praet
2012-02-23 23:09       ` [PATCH 6/6] emacs: `notmuch-show-tag-all' sans prefix arg only tags open messages Pieter Praet
2012-02-24 10:47         ` Dmitry Kurochkin
2012-02-24 22:37           ` Pieter Praet
2012-02-24 10:30       ` [PATCH v5 00/12] emacs: more flexible and consistent tagging operations Dmitry Kurochkin
2012-02-24 10:33         ` Dmitry Kurochkin
2012-02-24 17:39           ` Jani Nikula
2012-02-24 22:40           ` Pieter Praet
2012-02-24 22:38         ` Pieter Praet
2012-02-25  0:05           ` Pieter Praet
2012-02-25 16:20       ` David Bremner
2012-02-27 14:50         ` Tomi Ollila
2012-02-28 19:34           ` Pieter Praet
2012-02-24 22:30     ` [PATCH v2 0/6] `notmuch-show-tag-all' with prefix arg only tags open messages Pieter Praet
2012-02-24 22:30       ` [PATCH v2 1/6] test: emacs: new tests "notmuch-show: {add, remove} multiple tags {to, from} single message" Pieter Praet
2012-03-21  1:06         ` Mark Walters
2012-12-10  2:48         ` David Bremner
2012-12-11 14:04         ` David Bremner
2012-02-24 22:30       ` [PATCH v2 2/6] test: emacs: new test "notmuch-show: change tags of all messages in current buffer" Pieter Praet
2012-10-16  2:15         ` Ethan Glasser-Camp
2012-02-24 22:30       ` [PATCH v2 3/6] test: emacs: `notmuch-show-tag-all' with prefix arg should only tag open messages Pieter Praet
2013-02-19  0:27         ` David Bremner
2012-02-24 22:30       ` [PATCH v2 4/6] emacs: add optional predicate arg to `notmuch-show-mapc' Pieter Praet
2012-03-21  1:33         ` Mark Walters
2012-10-16  2:59           ` Ethan Glasser-Camp
2012-10-16  2:18         ` Ethan Glasser-Camp
2012-02-24 22:30       ` [PATCH v2 5/6] emacs: simplify `notmuch-show-get-messages-ids{, -search}' Pieter Praet
2012-03-21  1:36         ` Mark Walters
2012-10-16  3:12           ` Ethan Glasser-Camp
2012-03-21  1:40         ` Mark Walters
2012-02-24 22:30       ` [PATCH v2 6/6] emacs: `notmuch-show-tag-all' with prefix arg only tags open messages Pieter Praet
2012-10-16  3:39         ` Ethan Glasser-Camp

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=20120129231120.GJ17991@mit.edu \
    --to=amdragon@mit.edu \
    --cc=dmitry.kurochkin@gmail.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).