Don't alter message-text if decryption fails.
[riece] / lisp / riece-epg.el
index e2de552..542bcd2 100644 (file)
@@ -21,7 +21,7 @@
 
 (defun riece-epg-passphrase-callback-function (key-id identity)
   (if (eq key-id 'SYM)
-      (let ((entry (assoc identity riece-epg-passphrase-alist))
+      (let ((entry (riece-identity-assoc identity riece-epg-passphrase-alist))
            passphrase)
        (or (copy-sequence (cdr entry))
            (progn
@@ -53,8 +53,8 @@
     (condition-case error
        (setq string (epg-encrypt-string context string nil))
       (error
-       (if (setq entry (assoc riece-current-channel
-                             riece-epg-passphrase-alist))
+       (if (setq entry (riece-identity-assoc riece-current-channel
+                                            riece-epg-passphrase-alist))
           (setcdr entry nil))
        (signal (car error) (cdr error))))
     (riece-command-send-message
           (cons #'riece-epg-passphrase-callback-function
                 (riece-message-target message)))
          (condition-case error
-             (setq string (epg-decrypt-string context
-                                              (base64-decode-string string)))
+             (riece-message-set-text
+              message
+              (concat
+               "[OpenPGP Decrypted:"
+               (decode-coding-string
+                (epg-decrypt-string context (base64-decode-string string))
+                (if (consp coding-system)
+                    (car coding-system)
+                  coding-system))
+               "]"))
            (error
-            (if (setq entry (assoc (riece-message-target message)
-                                   riece-epg-passphrase-alist))
+            (if (setq entry (riece-identity-assoc
+                             (riece-message-target message)
+                             riece-epg-passphrase-alist))
                 (setcdr entry nil))
-            (message "%s" (cdr error))))
-         (riece-message-set-text
-          message
-          (decode-coding-string string
-                                (if (consp coding-system)
-                                    (car coding-system)
-                                  coding-system))))))
+            (message "%s" (cdr error)))))))
   message)
 
 (defun riece-epg-insinuate ()