]> git.notmuchmail.org Git - notmuch/blobdiff - contrib/notmuch-pick/notmuch-pick.el
contrib: pick: if no target specified go to first matching message
[notmuch] / contrib / notmuch-pick / notmuch-pick.el
index 0e66efa52c153ad3d6935203aa86e27d1ba059bd..ef16ca75c6c1662115b6e207bb768cffdbc59f3d 100644 (file)
@@ -282,7 +282,7 @@ Does NOT change the database."
 (defun notmuch-pick-tag (&optional tag-changes)
   "Change tags for the current message"
   (interactive)
 (defun notmuch-pick-tag (&optional tag-changes)
   "Change tags for the current message"
   (interactive)
-  (setq tag-changes (funcall 'notmuch-tag (notmuch-pick-get-message-id) tag-changes))
+  (setq tag-changes (notmuch-tag (notmuch-pick-get-message-id) tag-changes))
   (notmuch-pick-tag-update-display tag-changes))
 
 (defun notmuch-pick-add-tag ()
   (notmuch-pick-tag-update-display tag-changes))
 
 (defun notmuch-pick-add-tag ()
@@ -443,10 +443,9 @@ Does NOT change the database."
   "Archive the current message.
 
 Archive the current message by applying the tag changes in
   "Archive the current message.
 
 Archive the current message by applying the tag changes in
-`notmuch-archive-tags' to it (remove the \"inbox\" tag by
-default). If a prefix argument is given, the message will be
-\"unarchived\", i.e. the tag changes in `notmuch-archive-tags'
-will be reversed."
+`notmuch-archive-tags' to it. If a prefix argument is given, the
+message will be \"unarchived\", i.e. the tag changes in
+`notmuch-archive-tags' will be reversed."
   (interactive "P")
   (when notmuch-archive-tags
     (apply 'notmuch-pick-tag
   (interactive "P")
   (when notmuch-archive-tags
     (apply 'notmuch-pick-tag
@@ -653,8 +652,10 @@ unchanged ADDRESS if parsing fails."
   (save-excursion
     (goto-char (point-max))
     (notmuch-pick-insert-msg msg))
   (save-excursion
     (goto-char (point-max))
     (notmuch-pick-insert-msg msg))
-  (let ((msg-id (notmuch-id-to-query (plist-get msg :id))))
-    (when (string= msg-id notmuch-pick-target-msg)
+  (let ((msg-id (notmuch-id-to-query (plist-get msg :id)))
+       (target notmuch-pick-target-msg))
+    (when (or (and (not target) (plist-get msg :match))
+             (string= msg-id target))
       (setq notmuch-pick-target-msg "found")
       (goto-char (point-max))
       (forward-line -1))))
       (setq notmuch-pick-target-msg "found")
       (goto-char (point-max))
       (forward-line -1))))