diff options
author | Kyle Meyer <kyle@kyleam.com> | 2020-08-22 15:01:30 -0400 |
---|---|---|
committer | Kyle Meyer <kyle@kyleam.com> | 2020-08-23 20:36:58 -0400 |
commit | b5d12075db5966a51ff6e0f7838796f682f20fd0 (patch) | |
tree | 8aba728bb9965b6ba8ff68556fe9e57c0dcdacff /piem-notmuch.el | |
parent | c91bc52770ac697f0a2fb0069257c3af27962e3c (diff) | |
download | piem-b5d12075db5966a51ff6e0f7838796f682f20fd0.tar.gz |
notmuch: Extract "known message?" logic to function
Notmuch users can set piem-mail-injection-skipif-predicate to the new
function.
Message-Id: <20200822190130.20397-4-kyle@kyleam.com>
Diffstat (limited to 'piem-notmuch.el')
-rw-r--r-- | piem-notmuch.el | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/piem-notmuch.el b/piem-notmuch.el index 29f4d27..5bf5b09 100644 --- a/piem-notmuch.el +++ b/piem-notmuch.el @@ -47,21 +47,27 @@ "Return the message ID of a `notmuch-show-mode' buffer." (notmuch-show-get-message-id 'bare)) +(defun piem-notmuch-known-mid-p (mid) + "Return non-nil if MID is known to Notmuch. +The message ID should not include Notmuch's \"id:\" prefix or +have surrounding brackets." + (let ((query (concat "id:" mid))) + (equal query + (string-trim-right + (with-output-to-string + (with-current-buffer standard-output + (call-process notmuch-command + nil '(t nil) nil + "search" "--output=messages" query))))))) + (defun piem-notmuch-mid-to-thread (mid) "Return a function that inserts an mbox for MID's thread." - (let ((query (concat "id:" mid))) - (when (equal query - (string-trim-right - (with-output-to-string - (with-current-buffer standard-output - (call-process notmuch-command - nil '(t nil) nil - "search" "--output=messages" query))))) - (lambda () - (call-process notmuch-command - nil '(t nil) nil - "show" "--format=mbox" "--entire-thread=true" - query))))) + (when (piem-notmuch-known-mid-p mid) + (lambda () + (call-process notmuch-command + nil '(t nil) nil + "show" "--format=mbox" "--entire-thread=true" + (concat "id:" mid))))) (defun piem-notmuch-am-ready-mbox () "Return a function that inserts an am-ready mbox. |