unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: markwalters1009 <markwalters1009@gmail.com>
To: notmuch@notmuchmail.org
Subject: [PATCH v2 4/7] emacs: make emacs tagging use the stdin query functionality
Date: Sat, 24 Nov 2012 13:20:53 +0000	[thread overview]
Message-ID: <1353763256-32336-5-git-send-email-markwalters1009@gmail.com> (raw)
In-Reply-To: <1353763256-32336-1-git-send-email-markwalters1009@gmail.com>

From: Mark Walters <markwalters1009@gmail.com>

In preparation for the use of large queries in some cases make tagging
from emacs use the new query on stdin functionality. Currently uses
this for all tagging (as I could not see a reason not to).
---
 emacs/notmuch-tag.el |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/emacs/notmuch-tag.el b/emacs/notmuch-tag.el
index 4fce3a9..4634b0d 100644
--- a/emacs/notmuch-tag.el
+++ b/emacs/notmuch-tag.el
@@ -59,9 +59,10 @@ the messages that were tagged"
       (setq search-terms (list "*")))
   (split-string
    (with-output-to-string
-     (with-current-buffer standard-output
-       (apply 'call-process notmuch-command nil t
-	      nil "search" "--output=tags" "--exclude=false" search-terms)))
+     (with-temp-buffer
+       (insert (mapconcat 'identity search-terms " "))
+       (apply 'call-process-region (point-min) (point-max) notmuch-command nil
+	      standard-output nil "search" "--output=tags" "--exclude=false" (list "-"))))
    "\n+" t))
 
 (defun notmuch-select-tag-with-completion (prompt &rest search-terms)
@@ -134,8 +135,11 @@ notmuch-after-tag-hook will be run."
 	tag-changes)
   (unless (null tag-changes)
     (run-hooks 'notmuch-before-tag-hook)
-    (apply 'notmuch-call-notmuch-process "tag"
-	   (append tag-changes (list "--" query)))
+    (with-temp-buffer
+      (insert query)
+      (apply 'notmuch-call-notmuch-process-region
+	     (point-min) (point-max)
+	     "tag" (append tag-changes (list "--" "-"))))
     (run-hooks 'notmuch-after-tag-hook))
   ;; in all cases we return tag-changes as a list
   tag-changes)
-- 
1.7.9.1

  parent reply	other threads:[~2012-11-24 13:21 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-24 13:20 [PATCH v2 0/7] Fix emacs tagging race markwalters1009
2012-11-24 13:20 ` [PATCH v2 1/7] cli: allow query to come from stdin markwalters1009
2012-11-24 13:24   ` Mark Walters
2012-11-24 17:41   ` Austin Clements
2012-11-26 10:15     ` Mark Walters
2012-11-24 22:34   ` Tomi Ollila
2012-11-24 13:20 ` [PATCH v2 2/7] test: for the new query from stdin functionality markwalters1009
2012-11-24 13:20 ` [PATCH v2 3/7] emacs: notmuch.el split call-process into call-process-region markwalters1009
2012-11-24 13:20 ` markwalters1009 [this message]
2012-11-24 22:09   ` [PATCH v2 4/7] emacs: make emacs tagging use the stdin query functionality Austin Clements
2012-11-24 13:20 ` [PATCH v2 5/7] test: test for race when tagging from emacs search markwalters1009
2012-11-24 13:20 ` [PATCH v2 6/7] cli: allow search mode to include msg-ids with JSON output markwalters1009
2012-11-24 22:30   ` Tomi Ollila
2012-11-25  0:23   ` Austin Clements
2012-11-24 13:20 ` [PATCH v2 7/7] emacs: make emacs use message-ids for tagging markwalters1009
2012-11-25  0:38   ` Austin Clements

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=1353763256-32336-5-git-send-email-markwalters1009@gmail.com \
    --to=markwalters1009@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).