X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=contrib%2Fnotmuch-pick%2Fnotmuch-pick.el;h=ef16ca75c6c1662115b6e207bb768cffdbc59f3d;hp=128fabf895379785f5085fd8b2c727060c295bd7;hb=f9aad24f02af7e7b3810704f227ca1b8ef0c6229;hpb=f0dfda5c7797f9db81ce35d270fe0ac406c7fca1 diff --git a/contrib/notmuch-pick/notmuch-pick.el b/contrib/notmuch-pick/notmuch-pick.el index 128fabf8..ef16ca75 100644 --- a/contrib/notmuch-pick/notmuch-pick.el +++ b/contrib/notmuch-pick/notmuch-pick.el @@ -282,7 +282,7 @@ Does NOT change the database." (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 () @@ -376,15 +376,16 @@ Does NOT change the database." (split-window-vertically (/ (window-height) 4))) (with-selected-window notmuch-pick-message-window ;; Since we are only displaying one message do not indent. - (let ((notmuch-show-indent-messages-width 0)) - (setq current-prefix-arg '(4)) + (let ((notmuch-show-indent-messages-width 0) + (notmuch-show-only-matching-messages t)) (setq buffer (notmuch-show id nil nil nil)))) ;; We need the `let' as notmuch-pick-message-window is buffer local. (let ((window notmuch-pick-message-window)) (with-current-buffer buffer (setq notmuch-pick-message-window window) (add-hook 'kill-buffer-hook 'notmuch-pick-message-window-kill-hook))) - (notmuch-pick-tag-update-display (list "-unread")) + (when notmuch-show-mark-read-tags + (notmuch-pick-tag-update-display notmuch-show-mark-read-tags)) (setq notmuch-pick-message-buffer buffer)))) (defun notmuch-pick-show-message-out () @@ -442,10 +443,9 @@ Does NOT change the database." "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 @@ -652,8 +652,10 @@ unchanged ADDRESS if parsing fails." (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)))) @@ -773,8 +775,7 @@ Complete list of currently available key bindings: (save-excursion (goto-char (point-max)) (insert string)) - (notmuch-json-parse-partial-list 'notmuch-pick-insert-forest-thread - 'notmuch-pick-show-error + (notmuch-sexp-parse-partial-list 'notmuch-pick-insert-forest-thread results-buf))))) (defun notmuch-pick-worker (basic-query &optional query-context target buffer) @@ -796,7 +797,7 @@ Complete list of currently available key bindings: (if notmuch-pick-asynchronous-parser (let ((proc (start-process "notmuch-pick" buffer - notmuch-command "show" "--body=false" "--format=json" + notmuch-command "show" "--body=false" "--format=sexp" message-arg search-args)) ;; Use a scratch buffer to accumulate partial output. ;; This buffer will be killed by the sentinel, which