X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=emacs%2Fnotmuch-crypto.el;h=928de0bbd926b31f94604c9146a0eb3cdd9d2018;hb=89f7a3c3e45edc80ccf5b09c4d8db8654a61b70c;hp=9b615a0f20e515dd5f2a0532f282dd2e0a868d4d;hpb=d137affaceb78d7a54bdd62995c1ffa1fba4308b;p=notmuch diff --git a/emacs/notmuch-crypto.el b/emacs/notmuch-crypto.el index 9b615a0f..928de0bb 100644 --- a/emacs/notmuch-crypto.el +++ b/emacs/notmuch-crypto.el @@ -149,17 +149,21 @@ 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 "--batch" "--no-tty" "--list-keys" fingerprint)) (recenter -1)))) (declare-function notmuch-show-refresh-view "notmuch-show" (&optional reset-state)) +(declare-function notmuch-show-get-message-id "notmuch-show" (&optional bare)) (defun notmuch-crypto--async-key-sentinel (process event) "When the user asks for a GPG key to be retrieved @@ -211,25 +215,25 @@ corresponding key when the status button is pressed." (progn (notmuch-crypto--set-button-label button (format "Retrieving key %s asynchronously..." keyid)) + (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) - :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))) + :sentinel #'notmuch-crypto--async-key-sentinel))) (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))) + (message "Getting the GPG key %s asynchronously..." keyid))) (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))