1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 04:10:54 -08:00

* epa-file.el: Respect buffer-file-format when writing

* epa-file.el (epa-file-write-region): Encode the region according
to `buffer-file-format'.  Problem reported at:
<http://sourceforge.jp/ticket/browse.php?group_id=2267&tid=32917>.
This commit is contained in:
Daiki Ueno 2014-01-14 17:41:09 +09:00
parent 689c9ca51e
commit 02bf443d2e
2 changed files with 20 additions and 3 deletions

View file

@ -1,3 +1,9 @@
2014-01-14 Daiki Ueno <ueno@gnu.org>
* epa-file.el (epa-file-write-region): Encode the region according
to `buffer-file-format'. Problem reported at:
<http://sourceforge.jp/ticket/browse.php?group_id=2267&tid=32917>.
2014-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/edebug.el (edebug--display): Move protective let-binding

View file

@ -211,7 +211,8 @@ encryption is used."
(recipients
(cond
((listp epa-file-encrypt-to) epa-file-encrypt-to)
((stringp epa-file-encrypt-to) (list epa-file-encrypt-to)))))
((stringp epa-file-encrypt-to) (list epa-file-encrypt-to))))
buffer)
(epg-context-set-passphrase-callback
context
(cons #'epa-file-passphrase-callback-function
@ -230,8 +231,18 @@ encryption is used."
(unless start
(setq start (point-min)
end (point-max)))
(epa-file--encode-coding-string (buffer-substring start end)
coding-system))
(setq buffer (current-buffer))
(with-temp-buffer
(insert-buffer-substring buffer start end)
;; Translate the region according to
;; `buffer-file-format', as `write-region' would.
;; We can't simply do `write-region' (into a
;; temporary file) here, since it writes out
;; decrypted contents.
(format-encode-buffer (with-current-buffer buffer
buffer-file-format))
(epa-file--encode-coding-string (buffer-string)
coding-system)))
(if (or (eq epa-file-select-keys t)
(and (null epa-file-select-keys)
(not (local-variable-p 'epa-file-encrypt-to