Fix *.gpg file creation (bug#6723).
authorDaiki Ueno <ueno@unixuser.org>
Sun, 25 Jul 2010 11:23:43 +0000 (20:23 +0900)
committerDaiki Ueno <ueno@unixuser.org>
Sun, 25 Jul 2010 11:23:43 +0000 (20:23 +0900)
* epa-file.el (epa-file-insert-file-contents): Check if LOCAL-FILE
exists before passing an error to find-file-not-found-functions (bug#6723).

lisp/ChangeLog
lisp/epa-file.el

index 6922c21..ded4106 100644 (file)
@@ -1,3 +1,9 @@
+2010-07-25  Daiki Ueno  <ueno@unixuser.org>
+
+       * epa-file.el (epa-file-insert-file-contents): Check if LOCAL-FILE
+       exists before passing an error to find-file-not-found-functions
+       (bug#6723).
+
 2010-07-23  Lukas Huonker  <l.huonker@gmail.com>
 
        * play/tetris.el (tetris-tty-colors, tetris-x-colors, tetris-blank):
index 5870f23..53dc7dd 100644 (file)
@@ -139,15 +139,16 @@ way."
            (error
             (if (setq entry (assoc file epa-file-passphrase-alist))
                 (setcdr entry nil))
-            ;; Hack to prevent find-file from opening empty buffer
-            ;; when decryption failed (bug#6568).  See the place
-            ;; where `find-file-not-found-functions' are called in
-            ;; `find-file-noselect-1'.
-            (make-local-variable 'epa-file-error)
-            (setq epa-file-error error)
-            (add-hook 'find-file-not-found-functions
-                      'epa-file--find-file-not-found-function
-                      nil t)
+            (when (file-exists-p local-file)
+              ;; Hack to prevent find-file from opening empty buffer
+              ;; when decryption failed (bug#6568).  See the place
+              ;; where `find-file-not-found-functions' are called in
+              ;; `find-file-noselect-1'.
+              (make-local-variable 'epa-file-error)
+              (setq epa-file-error error)
+              (add-hook 'find-file-not-found-functions
+                        'epa-file--find-file-not-found-function
+                        nil t))
             (signal 'file-error
                     (cons "Opening input file" (cdr error)))))
          (make-local-variable 'epa-file-encrypt-to)