From d4ff950db78d6585d0e33498131bf35a1dc7b55c Mon Sep 17 00:00:00 2001 From: Jameson Graef Rollins Date: Sun, 15 Apr 2012 11:52:52 +1700 Subject: [PATCH] [PATCH 3/5] emacs: modify search tag functions to use new notmuch-tag interface --- 8d/57fcf347730457deece7ac9997e138b47be23b | 131 ++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 8d/57fcf347730457deece7ac9997e138b47be23b diff --git a/8d/57fcf347730457deece7ac9997e138b47be23b b/8d/57fcf347730457deece7ac9997e138b47be23b new file mode 100644 index 000000000..cdf215cc0 --- /dev/null +++ b/8d/57fcf347730457deece7ac9997e138b47be23b @@ -0,0 +1,131 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by olra.theworths.org (Postfix) with ESMTP id 71A04431FDE + for ; Sat, 14 Apr 2012 11:53:10 -0700 (PDT) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: -2.3 +X-Spam-Level: +X-Spam-Status: No, score=-2.3 tagged_above=-999 required=5 + tests=[RCVD_IN_DNSWL_MED=-2.3] autolearn=disabled +Received: from olra.theworths.org ([127.0.0.1]) + by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id pcG8IrppLR5i for ; + Sat, 14 Apr 2012 11:53:08 -0700 (PDT) +Received: from outgoing-mail.its.caltech.edu (outgoing-mail.its.caltech.edu + [131.215.239.19]) + by olra.theworths.org (Postfix) with ESMTP id DD057431FC9 + for ; Sat, 14 Apr 2012 11:53:05 -0700 (PDT) +Received: from earth-doxen.imss.caltech.edu (localhost [127.0.0.1]) + by earth-doxen-postvirus (Postfix) with ESMTP id 8EAC966E00E4 + for ; Sat, 14 Apr 2012 11:53:03 -0700 (PDT) +X-Spam-Scanned: at Caltech-IMSS on earth-doxen by amavisd-new +Received: from finestructure.net (unknown [76.89.193.65]) + (Authenticated sender: jrollins) + by earth-doxen-submit (Postfix) with ESMTP id 7AEBE66E00A7 + for ; Sat, 14 Apr 2012 11:53:01 -0700 (PDT) +Received: by finestructure.net (Postfix, from userid 1000) + id 2E589620; Sat, 14 Apr 2012 11:53:01 -0700 (PDT) +From: Jameson Graef Rollins +To: Notmuch Mail +Subject: [PATCH 3/5] emacs: modify search tag functions to use new notmuch-tag + interface +Date: Sat, 14 Apr 2012 11:52:52 -0700 +Message-Id: <1334429574-12918-4-git-send-email-jrollins@finestructure.net> +X-Mailer: git-send-email 1.7.9.5 +In-Reply-To: <1334429574-12918-3-git-send-email-jrollins@finestructure.net> +References: <1333845338-22960-1-git-send-email-jrollins@finestructure.net> + <1334429574-12918-1-git-send-email-jrollins@finestructure.net> + <1334429574-12918-2-git-send-email-jrollins@finestructure.net> + <1334429574-12918-3-git-send-email-jrollins@finestructure.net> +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.13 +Precedence: list +List-Id: "Use and development of the notmuch mail system." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Sat, 14 Apr 2012 18:53:10 -0000 + +The main change here is to modify argument parsing so as to not force +tag-changes to be a list, and to let notmuch-tag handle prompting the +user when required. doc strings are also updated and cleaned up. +--- + emacs/notmuch.el | 36 +++++++++++++----------------------- + 1 file changed, 13 insertions(+), 23 deletions(-) + +diff --git a/emacs/notmuch.el b/emacs/notmuch.el +index 9aec96d..a03a526 100644 +--- a/emacs/notmuch.el ++++ b/emacs/notmuch.el +@@ -523,13 +523,10 @@ and will also appear in a buffer named \"*Notmuch errors*\"." + See `notmuch-search-tag-region' for details." + (apply 'notmuch-search-tag-region (point) (point) tag-changes)) + +-(defun notmuch-search-tag-region (beg end &rest tag-changes) +- "Change tags for threads in the given region. +- +-TAGS is a list of tag operations for `notmuch-tag'. The tags are +-added or removed for all threads in the region from BEG to END." ++(defun notmuch-search-tag-region (beg end &optional tag-changes) ++ "Change tags for threads in the given region." + (let ((search-string (notmuch-search-find-thread-id-region-search beg end))) +- (apply 'notmuch-tag search-string tag-changes) ++ (setq tag-changes (funcall 'notmuch-tag search-string tag-changes)) + (save-excursion + (let ((last-line (line-number-at-pos end)) + (max-line (- (line-number-at-pos (point-max)) 2))) +@@ -539,14 +536,14 @@ added or removed for all threads in the region from BEG to END." + (notmuch-update-tags (notmuch-search-get-tags) tag-changes)) + (forward-line)))))) + +-(defun notmuch-search-tag (&optional initial-input) +- "Change tags for the currently selected thread or region." ++(defun notmuch-search-tag (&optional tag-changes) ++ "Change tags for the currently selected thread or region. ++ ++See `notmuch-tag' for information on the format of TAG-CHANGES." + (interactive) + (let* ((beg (if (region-active-p) (region-beginning) (point))) +- (end (if (region-active-p) (region-end) (point))) +- (search-string (notmuch-search-find-thread-id-region-search beg end)) +- (tags (notmuch-read-tag-changes initial-input search-string))) +- (apply 'notmuch-search-tag-region beg end tags))) ++ (end (if (region-active-p) (region-end) (point)))) ++ (funcall 'notmuch-search-tag-region beg end tag-changes))) + + (defun notmuch-search-add-tag () + "Same as `notmuch-search-tag' but sets initial input to '+'." +@@ -790,18 +787,11 @@ non-authors is found, assume that all of the authors match." + (goto-char found-target))) + (delete-process proc)))) + +-(defun notmuch-search-tag-all (&rest tag-changes) +- "Add/remove tags from all matching messages. ++(defun notmuch-search-tag-all (&optional tag-changes) ++ "Add/remove tags from all messages in current search buffer. + +-This command adds or removes tags from all messages matching the +-current search terms. When called interactively, this command +-will prompt for tags to be added or removed. Tags prefixed with +-'+' will be added and tags prefixed with '-' will be removed. +- +-Each character of the tag name may consist of alphanumeric +-characters as well as `_.+-'. +-" +- (interactive (notmuch-read-tag-changes)) ++See `notmuch-tag' for information on the format of TAG-CHANGES." ++ (interactive) + (apply 'notmuch-tag notmuch-search-query-string tag-changes)) + + (defun notmuch-search-buffer-title (query) +-- +1.7.9.5 + -- 2.26.2