(epa-file-auto-mode-alist-entry): New variable.
[elisp/epg.git] / epg.el
diff --git a/epg.el b/epg.el
index 160f911..29a8ee5 100644 (file)
--- a/epg.el
+++ b/epg.el
@@ -1291,9 +1291,15 @@ This function is for internal use only."
     (y-or-n-p (if entry (cdr entry) (concat string "? ")))))
 
 (defun epg--prompt-GET_BOOL-untrusted_key.override (context string)
-  (y-or-n-p (if (equal (car epg-last-status) "USERID_HINT")
-               (format "Untrusted key %s.  Use anyway? "
-                       (cdr epg-last-status))
+  (y-or-n-p (if (and (equal (car epg-last-status) "USERID_HINT")
+                    (string-match "\\`\\([^ ]+\\) \\(.*\\)"
+                                  (cdr epg-last-status)))
+               (let* ((key-id (match-string 1 (cdr epg-last-status)))
+                      (user-id (match-string 2 (cdr epg-last-status)))
+                      (entry (assoc key-id epg-user-id-alist)))
+                 (if entry
+                     (setq user-id (cdr entry)))
+                 (format "Untrusted key %s %s.  Use anyway? " key-id user-id))
              "Use untrusted key anyway? ")))
 
 (defun epg--status-GET_BOOL (context string)