From: Mark Walters <markwalters1...@gmail.com> We add a new function notmuch-call-process-region so that functions can call notmuch with some region sent to stdin. This is preparation for using the new query from stdin functionality. --- emacs/notmuch.el | 19 ++++++++++++++----- 1 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/emacs/notmuch.el b/emacs/notmuch.el index f9454d8..64b9474 100644 --- a/emacs/notmuch.el +++ b/emacs/notmuch.el @@ -533,15 +533,17 @@ If BARE is set then do not prefix with \"thread:\"" (let ((message-id (notmuch-search-find-thread-id))) (notmuch-mua-new-reply message-id prompt-for-sender nil))) -(defun notmuch-call-notmuch-process (&rest args) - "Synchronously invoke \"notmuch\" with the given list of arguments. +(defun notmuch-call-notmuch-process-region (beg end &rest args) + "Synchronously invoke \"notmuch\" with the given list of arguments and pipe region. -Output from the process will be presented to the user as an error -and will also appear in a buffer named \"*Notmuch errors*\"." +The region from beg to end in the current buffer will be piped to +stdin for the notmuch process. Output from the process will be +presented to the user as an error and will also appear in a +buffer named \"*Notmuch errors*\"." (let ((error-buffer (get-buffer-create "*Notmuch errors*"))) (with-current-buffer error-buffer (erase-buffer)) - (if (eq (apply 'call-process notmuch-command nil error-buffer nil args) 0) + (if (eq (apply 'call-process-region beg end notmuch-command nil error-buffer nil args) 0) (point) (progn (with-current-buffer error-buffer @@ -550,6 +552,13 @@ and will also appear in a buffer named \"*Notmuch errors*\"." (error (buffer-substring beg end)) )))))) +(defun notmuch-call-notmuch-process (&rest args) + "Synchronously invoke \"notmuch\" with the given list of arguments. + +Output from the process will be presented to the user as an error +and will also appear in a buffer named \"*Notmuch errors*\"." + (apply 'notmuch-call-notmuch-process-region (point) (point) args)) + (defun notmuch-search-set-tags (tags &optional pos) (let ((new-result (plist-put (notmuch-search-get-result pos) :tags tags))) (notmuch-search-update-result new-result pos))) -- 1.7.9.1 _______________________________________________ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch