Commit c0397930 authored by Daiki Ueno's avatar Daiki Ueno
Browse files

Prevent find-file from opening empty buffer when decryptin failed (bug#6568).

* epa-file.el (epa-file-error, epa-file--find-file-not-found-function)
(epa-file-insert-file-contents): Hack to prevent
find-file from opening empty buffer when decryptin failed
(bug#6568).
parent 72af86bd
2010-07-08 Daiki Ueno <ueno@unixuser.org>
* epa-file.el (epa-file-error, epa-file--find-file-not-found-function)
(epa-file-insert-file-contents): Hack to prevent
find-file from opening empty buffer when decryptin failed
(bug#6568).
2010-07-07 Agustín Martín <agustin.martin@hispalinux.es>
* ispell.el (ispell-alternate-dictionary): Use file-readable-p.
......
......@@ -101,6 +101,14 @@ way."
(insert (epa-file--decode-coding-string string (or coding-system-for-read
'undecided)))))
(defvar epa-file-error nil)
(defun epa-file--find-file-not-found-function ()
(let ((error epa-file-error))
(save-window-excursion
(kill-buffer))
(signal 'file-error
(cons "Opening input file" (cdr error)))))
(defvar last-coding-system-used)
(defun epa-file-insert-file-contents (file &optional visit beg end replace)
(barf-if-buffer-read-only)
......@@ -131,6 +139,15 @@ 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)
(signal 'file-error
(cons "Opening input file" (cdr error)))))
(make-local-variable 'epa-file-encrypt-to)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment