]> code.delx.au - gnu-emacs/blobdiff - lisp/epa-file.el
Close bug#3992.
[gnu-emacs] / lisp / epa-file.el
index c35aa01fac6c1c3215d3f0dc12350e046b018187..2bbb0aa6455a2756fbbf6de464725c1580a8facf 100644 (file)
@@ -1,5 +1,5 @@
 ;;; 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)