summaryrefslogtreecommitdiff
path: root/lisp/epg.el
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2020-12-09 13:17:06 +0100
committerLars Ingebrigtsen <larsi@gnus.org>2020-12-09 13:17:25 +0100
commit45630ca6c839719dfc92583de5e606abba4b5718 (patch)
tree986ea015185c71b447e8baf7c4e538dc248b9744 /lisp/epg.el
parentc50c0a19e3c5478050dba547752105a8e16f3a49 (diff)
downloademacs-45630ca6c839719dfc92583de5e606abba4b5718.tar.gz
Filter revoked keys when saving files
* lisp/epa-file.el (epa-file-write-region): Use it to select a non-revoked key (bug#22359). * lisp/epg.el (epg--filter-revoked-keys): New function.
Diffstat (limited to 'lisp/epg.el')
-rw-r--r--lisp/epg.el7
1 files changed, 7 insertions, 0 deletions
diff --git a/lisp/epg.el b/lisp/epg.el
index 920b85398f3..b27e2c638c2 100644
--- a/lisp/epg.el
+++ b/lisp/epg.el
@@ -1382,6 +1382,13 @@ NAME is either a string or a list of strings."
(setq pointer (cdr pointer)))
keys))
+(defun epg--filter-revoked-keys (keys)
+ (seq-remove (lambda (key)
+ (seq-find (lambda (user)
+ (eq (epg-user-id-validity user) 'revoked))
+ (epg-key-user-id-list key)))
+ keys))
+
(defun epg--args-from-sig-notations (notations)
(apply #'nconc
(mapcar