+2006-06-01 Daiki Ueno <ueno@unixuser.org>
+
+ * epa-file.el (epa-file-insert-file-contents): Support partial read.
+
2006-05-30 Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>
* epa-file.el (epa-file-write-region): Encode the plain text with
(defvar last-coding-system-used)
(defun epa-file-insert-file-contents (file &optional visit beg end replace)
(barf-if-buffer-read-only)
- (if (or beg end)
- (error "Can't read the file partially."))
+ (if (and visit (or beg end))
+ (error "Attempt to visit less than an entire file"))
(setq file (expand-file-name file))
(let ((local-copy (epa-file-run-real-handler #'file-local-copy (list file)))
(context (epg-make-context))
(if replace
(goto-char (point-min)))
(condition-case error
- (setq string (decode-coding-string
- (epg-decrypt-file context file nil)
- (or coding-system-for-read 'undecided)))
+ (setq string (epg-decrypt-file context file nil))
(error
(if (setq entry (assoc file epa-file-passphrase-alist))
(setcdr entry nil))
(signal 'file-error
(cons "Opening input file" (cdr error)))))
+ (if (or beg end)
+ (setq string (substring string (or beg 0) end)))
+ (setq string
+ (decode-coding-string string
+ (or coding-system-for-read 'undecided)))
(if (boundp 'last-coding-system-used)
(set-buffer-file-coding-system last-coding-system-used)
(set-buffer-file-coding-system default-buffer-file-coding-system))