changeset 109534:52f611292230

Fix *.gpg file creation (bug#6723). * 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).
author Daiki Ueno <ueno@unixuser.org>
date Sun, 25 Jul 2010 20:23:43 +0900
parents bbcf76ef0f72
children 1eca4fd49be3
files lisp/ChangeLog lisp/epa-file.el
diffstat 2 files changed, 16 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sun Jul 25 10:30:57 2010 +0000
+++ b/lisp/ChangeLog	Sun Jul 25 20:23:43 2010 +0900
@@ -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):
--- a/lisp/epa-file.el	Sun Jul 25 10:30:57 2010 +0000
+++ b/lisp/epa-file.el	Sun Jul 25 20:23:43 2010 +0900
@@ -139,15 +139,16 @@
 	    (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)