* epa-file.el (epa-file-write-region): Ask recipients only the
authorueno <ueno>
Sat, 21 Apr 2007 02:50:16 +0000 (02:50 +0000)
committerueno <ueno>
Sat, 21 Apr 2007 02:50:16 +0000 (02:50 +0000)
first time.

ChangeLog
epa-file.el

index 3068586..df0d0a6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-04-21  Daiki Ueno  <ueno@unixuser.org>
+
+       * epa-file.el (epa-file-write-region): Ask recipients only the
+       first time.
+
 2007-04-19  Daiki Ueno  <ueno@unixuser.org>
 
        * epa.el (epa-mark-key): Renamed from epa-mark; signal an error if
index 969cc3b..7c75f7c 100644 (file)
@@ -202,7 +202,11 @@ May either be a string or a list of strings.")
                              buffer-file-coding-system)))
         (context (epg-make-context))
         (coding-system-for-write 'binary)
-        string entry)
+        string entry
+        (recipients
+         (cond
+          ((listp epa-file-encrypt-to) epa-file-encrypt-to)
+          ((stringp epa-file-encrypt-to) (list epa-file-encrypt-to)))))
     (epg-context-set-passphrase-callback
      context
      (cons #'epa-file-passphrase-callback-function
@@ -217,14 +221,14 @@ May either be a string or a list of strings.")
                   (epa-file--encode-coding-string start coding-system)
                 (epa-file--encode-coding-string (buffer-substring start end)
                                                 coding-system))
-              (unless (assoc file epa-file-passphrase-alist)
+              (if (local-variable-p 'epa-file-encrypt-to)
+                  (if epa-file-encrypt-to
+                      (epg-list-keys context recipients))
                 (epa-select-keys
                  context
                  "Select recipents for encryption.
 If no one is selected, symmetric encryption will be performed.  "
-                 (cond
-                  ((listp epa-file-encrypt-to) epa-file-encrypt-to)
-                  ((stringp epa-file-encrypt-to) (list epa-file-encrypt-to)))))))
+                 recipients))))
       (error
        (if (setq entry (assoc file epa-file-passphrase-alist))
           (setcdr entry nil))