mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-22 07:09:54 +00:00
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).
This commit is contained in:
parent
72af86bd8c
commit
c0397930d0
@ -1,3 +1,10 @@
|
||||
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)
|
||||
|
Loading…
Reference in New Issue
Block a user