;;; epa-file.el --- the EasyPG Assistant, transparent file encryption
-;; Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
;; Author: Daiki Ueno <ueno@unixuser.org>
;; Keywords: PGP, GnuPG
(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)))))
(error "Attempt to visit less than an entire file"))
(setq file (expand-file-name file))
(let* ((local-copy
- (condition-case inl
+ (condition-case nil
(epa-file-run-real-handler #'file-local-copy (list file))
(error)))
(local-file (or local-copy file))
(epa-file-decode-and-insert string file visit beg end replace)
(setq length (- (point-max) (point-min))))
(if replace
- (delete-region (point) (point-max)))))
+ (delete-region (point) (point-max)))
+ (if visit
+ (set-visited-file-modtime))))
(if (and local-copy
(file-exists-p local-copy))
(delete-file local-copy)))
context
(if (stringp start)
(epa-file--encode-coding-string start coding-system)
+ (unless start
+ (setq start (point-min)
+ end (point-max)))
(epa-file--encode-coding-string (buffer-substring start end)
coding-system))
(if (or epa-file-select-keys