Reverted.
[elisp/epg.git] / pgg-epg.el
index e695b2a..bc093bb 100644 (file)
@@ -100,34 +100,29 @@ passphrase cache or user."
       (insert signature))
     t))
 
-(defvar pgg-epg-signature nil)
+(defvar pgg-epg-signatures nil)
 
 (defun pgg-epg-verify-region (start end &optional signature)
   "This function is for internal use only.
 
 Verify region between START and END as the detached signature SIGNATURE."
-  (let ((context (epg-make-context))
-       pointer)
+  (let ((context (epg-make-context)))
     (epg-context-set-armor context t)
     (epg-context-set-textmode context pgg-text-mode)
     (if signature
-       (epg-verify-file context signature (buffer-substring start end) nil)
+       (epg-verify-string context
+                          (with-temp-buffer
+                            (insert-file-contents signature)
+                            (buffer-string))
+                          (buffer-substring start end))
       (epg-verify-string context (buffer-substring start end)))
-    (setq signature (reverse (epg-context-result-for context 'verify))
-         pointer signature)
     (save-excursion
       (set-buffer (get-buffer-create pgg-errors-buffer))
-      (make-local-variable 'pgg-epg-signature)
-      (setq pgg-epg-signature (car signature))
+      (make-local-variable 'pgg-epg-signatures)
+      (setq pgg-epg-signatures (epg-context-result-for context 'verify))
       (erase-buffer)
-      (while pointer
-       (insert (format "%s: %s %s %s\n"
-                       (epg-signature-status (car pointer))
-                       (epg-signature-key-id (car pointer))
-                       (epg-signature-user-id (car pointer))
-                       (epg-signature-validity (car pointer))))
-       (setq pointer (cdr pointer))))
-    signature))
+      (insert (epg-verify-result-to-string pgg-epg-signatures)))
+    t))
 
 (defun pgg-epg-insert-key ()
   "This function is for internal use only.