X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=emacs%2Fnotmuch-crypto.el;h=e6bf8339e8a19fff161a70d8eaa437e678f5b03d;hp=f4585d5e927bafaa50b5957be6c10bb35c1811e8;hb=dfb1b8eb89e814f4bf6f6e62b700c72aa1b4659a;hpb=a7884929d51790ed2782b04ba5b5e466d7148a63 diff --git a/emacs/notmuch-crypto.el b/emacs/notmuch-crypto.el index f4585d5e..e6bf8339 100644 --- a/emacs/notmuch-crypto.el +++ b/emacs/notmuch-crypto.el @@ -24,6 +24,8 @@ (require 'epg) (require 'notmuch-lib) +(declare-function notmuch-show-get-message-id "notmuch-show" (&optional bare)) + (defcustom notmuch-crypto-process-mime t "Should cryptographic MIME parts be processed? @@ -115,23 +117,21 @@ by user FROM." (userid (plist-get sigstatus :userid))) ;; If userid is present it has full or greater validity. (if userid - (setq label (concat "Good signature by: " userid) - face 'notmuch-crypto-signature-good) - (setq label (concat "Good signature by key: " fingerprint) - face 'notmuch-crypto-signature-good-key)) - (setq button-action 'notmuch-crypto-sigstatus-good-callback - help-msg (concat "Click to list key ID 0x" fingerprint ".")))) - + (progn + (setq label (concat "Good signature by: " userid)) + (setq face 'notmuch-crypto-signature-good)) + (setq label (concat "Good signature by key: " fingerprint)) + (setq face 'notmuch-crypto-signature-good-key)) + (setq button-action 'notmuch-crypto-sigstatus-good-callback) + (setq help-msg (concat "Click to list key ID 0x" fingerprint ".")))) ((string= status "error") - (setq label (concat "Unknown key ID " keyid " or unsupported algorithm") - button-action 'notmuch-crypto-sigstatus-error-callback - help-msg (concat "Click to retrieve key ID " keyid + (setq label (concat "Unknown key ID " keyid " or unsupported algorithm")) + (setq button-action 'notmuch-crypto-sigstatus-error-callback) + (setq help-msg (concat "Click to retrieve key ID " keyid " from keyserver."))) - ((string= status "bad") - (setq label (concat "Bad signature (claimed key ID " keyid ")") - face 'notmuch-crypto-signature-bad)) - + (setq label (concat "Bad signature (claimed key ID " keyid ")")) + (setq face 'notmuch-crypto-signature-bad)) (status (setq label (concat "Unknown signature status: " status))) (t @@ -159,10 +159,12 @@ by user FROM." (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)) + (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 @@ -217,22 +219,17 @@ corresponding key when the status button is pressed." (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))) + (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))) (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 @@ -256,7 +253,7 @@ corresponding key when the status button is pressed." "Decryption error") (t (concat "Unknown encryption status" - (if status (concat ": " status)))))) + (and status (concat ": " status)))))) " ]") :type 'notmuch-crypto-status-button-type 'face 'notmuch-crypto-decryption