[PATCH v1 4/4] emacs: Improve the reporting of key activity

David Edmondson dme at dme.org
Tue Sep 4 06:28:43 PDT 2018


Improve the information provided about key retrieval and key validity.
---
 emacs/notmuch-crypto.el | 39 ++++++++++++++++++++++++---------------
 1 file changed, 24 insertions(+), 15 deletions(-)

diff --git a/emacs/notmuch-crypto.el b/emacs/notmuch-crypto.el
index 5298d1ef..4b1121ba 100644
--- a/emacs/notmuch-crypto.el
+++ b/emacs/notmuch-crypto.el
@@ -147,13 +147,16 @@ by user FROM."
   (insert "\n"))
 
 (defun notmuch-crypto-sigstatus-good-callback (button)
-  (let* ((sigstatus (button-get button :notmuch-sigstatus))
+  (let* ((id (notmuch-show-get-message-id))
+	 (sigstatus (button-get button :notmuch-sigstatus))
 	 (fingerprint (concat "0x" (plist-get sigstatus :fingerprint)))
 	 (buffer (get-buffer-create "*notmuch-crypto-gpg-out*"))
 	 (window (display-buffer buffer)))
     (with-selected-window window
       (with-current-buffer buffer
 	(goto-char (point-max))
+	(insert (format "-- Key %s in message %s:\n"
+			fingerprint id))
 	(call-process notmuch-crypto-gpg-program nil t t "--list-keys" fingerprint))
       (recenter -1))))
 
@@ -193,25 +196,31 @@ corresponding key when the status button is pressed."
 	 (keyid (concat "0x" (plist-get sigstatus :keyid)))
 	 (buffer (get-buffer-create "*notmuch-crypto-gpg-out*")))
     (if notmuch-crypto-get-keys-asynchronously
-	(let ((p (make-process :name "notmuch GPG key retrieval"
-			       :buffer buffer
-			       :command (list notmuch-crypto-gpg-program "--recv-keys" keyid)
-			       :connection-type 'pipe
-			       :sentinel #'notmuch-crypto--async-key-sentinel
-			       ;; Create the process stopped so that
-			       ;; we have time to store the key id,
-			       ;; etc. on it.
-			       :stop t)))
-	  (process-put p :gpg-key-id keyid)
-	  (process-put p :notmuch-show-buffer (current-buffer))
-	  (process-put p :notmuch-show-point (point))
-	  (message "Getting the GPG key %s asynchronously..." keyid)
-	  (continue-process p))
+	(progn
+	  (with-current-buffer buffer
+	    (goto-char (point-max))
+	    (insert (format "--- Retrieving key %s:\n" keyid)))
+	  (let ((p (make-process :name "notmuch GPG key retrieval"
+				 :connection-type 'pipe
+				 :buffer buffer
+				 :stderr buffer
+				 :command (list notmuch-crypto-gpg-program "--recv-keys" keyid)
+				 :sentinel #'notmuch-crypto--async-key-sentinel
+				 ;; Create the process stopped so that
+				 ;; we have time to store the key id,
+				 ;; etc. on it.
+				 :stop t)))
+	    (process-put p :gpg-key-id keyid)
+	    (process-put p :notmuch-show-buffer (current-buffer))
+	    (process-put p :notmuch-show-point (point))
+	    (message "Getting the GPG key %s asynchronously..." keyid)
+	    (continue-process p)))
 
       (let ((window (display-buffer buffer)))
 	(with-selected-window window
 	  (with-current-buffer buffer
 	    (goto-char (point-max))
+	    (insert (format "--- Retrieving key %s:\n" keyid))
 	    (call-process notmuch-crypto-gpg-program nil t t "--recv-keys" keyid)
 	    (insert "\n")
 	    (call-process notmuch-crypto-gpg-program nil t t "--list-keys" keyid))
-- 
2.11.0



More information about the notmuch mailing list