Introduce notmuch-crypto-store-session-keys customization variable to control stashing of session keys. If non-nil any session keys recovered during decryption will be stored in the database.
This is just a switch to have --decrypt= use "stash" instead of "true". --- This seems like the simplest approach, to just add a new variable to control session key stashing. Much simpler that reworking the meaning of notmuch-crypto-process-mime. emacs/notmuch-crypto.el | 10 ++++++++++ emacs/notmuch-query.el | 4 +++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/emacs/notmuch-crypto.el b/emacs/notmuch-crypto.el index fc2b5301..e1943f53 100644 --- a/emacs/notmuch-crypto.el +++ b/emacs/notmuch-crypto.el @@ -43,6 +43,16 @@ mode." :package-version '(notmuch . "0.25") :group 'notmuch-crypto) +(defcustom notmuch-crypto-store-session-keys nil + "Should session keys from decrypted messages be stored in database? + +If this variable is non-nil session keys recovered from decrypted +messages will be stored in the database. See notmuch-show(1) for +more information." + :type 'boolean + :package-version '(notmuch . "0.28") + :group 'notmuch-crypto) + (defface notmuch-crypto-part-header '((((class color) (background dark)) diff --git a/emacs/notmuch-query.el b/emacs/notmuch-query.el index 563e4acf..3e6bc8b1 100644 --- a/emacs/notmuch-query.el +++ b/emacs/notmuch-query.el @@ -32,7 +32,9 @@ is a possibly empty forest of replies. " (let ((args '("show" "--format=sexp" "--format-version=4"))) (if notmuch-show-process-crypto - (setq args (append args '("--decrypt=true")))) + (if notmuch-crypto-store-session-keys + (setq args (append args '("--decrypt=stash"))) + (setq args (append args '("--decrypt=true"))))) (setq args (append args search-terms)) (apply #'notmuch-call-notmuch-sexp args))) -- 2.17.1 _______________________________________________ notmuch mailing list notmuch@notmuchmail.org https://notmuchmail.org/mailman/listinfo/notmuch