;;; epa-file.el --- the EasyPG Assistant, transparent file encryption
-;; Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
;; Author: Daiki Ueno <ueno@unixuser.org>
;; Keywords: PGP, GnuPG
(require 'epa-hook)
(defcustom epa-file-cache-passphrase-for-symmetric-encryption nil
- "If non-nil, cache passphrase for symmetric encryption."
+ "If non-nil, cache passphrase for symmetric encryption.
+
+For security reasons, this option is turned off by default and
+not recommended to use. Instead, consider using public-key
+encryption with gpg-agent which does the same job in a safer
+way."
:type 'boolean
:group 'epa-file)
(if (fboundp 'decode-coding-inserted-region)
(save-restriction
(narrow-to-region (point) (point))
- (let ((multibyte enable-multibyte-characters))
- (set-buffer-multibyte nil)
- (insert string)
- (set-buffer-multibyte multibyte)
+ (insert (if enable-multibyte-characters
+ (string-to-multibyte string)
+ string))
(decode-coding-inserted-region
(point-min) (point-max)
(substring file 0 (string-match epa-file-name-regexp file))
- visit beg end replace)))
+ visit beg end replace))
(insert (epa-file--decode-coding-string string (or coding-system-for-read
'undecided)))))
(defun epa-file-write-region (start end file &optional append visit lockname
mustbenew)
(if append
- (error "Can't append to the file."))
+ (error "Can't append to the file"))
(setq file (expand-file-name file))
(let* ((coding-system (or coding-system-for-write
(if (fboundp 'select-safe-coding-system)