From 4f195cf7040ce0d934c25ec132313c7bc07f1ca9 Mon Sep 17 00:00:00 2001 From: Daiki Ueno Date: Sun, 25 Jul 2010 20:23:43 +0900 Subject: [PATCH] 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). --- lisp/ChangeLog | 6 ++++++ lisp/epa-file.el | 19 ++++++++++--------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 6922c2190e8..ded41069411 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2010-07-25 Daiki Ueno + + * 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 * play/tetris.el (tetris-tty-colors, tetris-x-colors, tetris-blank): diff --git a/lisp/epa-file.el b/lisp/epa-file.el index 5870f23bf13..53dc7ddac76 100644 --- a/lisp/epa-file.el +++ b/lisp/epa-file.el @@ -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)