(defvar gnus-cache-overview-coding-system 'raw-text
"Coding system used on Gnus cache files.")
+(defvar gnus-cache-coding-system 'binary
+ "Coding system used on Gnus cache files.")
+
\f
;;; Internal variables.
t ; The article already is saved.
(save-excursion
(set-buffer nntp-server-buffer)
- (let ((gnus-use-cache nil))
+ (let ((gnus-use-cache nil)
+ (gnus-article-decode-hook nil))
(gnus-request-article-this-buffer number group))
(when (> (buffer-size) 0)
(gnus-write-buffer file)
(beginning-of-line))
(forward-line 1))
(beginning-of-line)
- ;; [number subject from date id references chars lines xref]
- (insert (format "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t\n"
- (mail-header-number headers)
- (mail-header-subject headers)
- (mail-header-from headers)
- (mail-header-date headers)
- (mail-header-id headers)
- (or (mail-header-references headers) "")
- (or (mail-header-chars headers) "")
- (or (mail-header-lines headers) "")
- (or (mail-header-xref headers) "")))
+ (nnheader-insert-nov headers)
;; Update the active info.
(set-buffer gnus-summary-buffer)
(gnus-cache-update-active group number)
(when (file-exists-p file)
(erase-buffer)
(gnus-kill-all-overlays)
- (insert-file-contents file)
+ (let ((coding-system-for-read gnus-cache-coding-system))
+ (insert-file-contents file))
t)))
(defun gnus-cache-possibly-alter-active (group active)
(cons group
(set-buffer (gnus-get-buffer-create
" *gnus-cache-overview*"))))
- (buffer-disable-undo (current-buffer))
;; Insert the contents of this group's cache overview.
(erase-buffer)
(let ((file (gnus-cache-file-name group ".overview")))
(gnus-cache-save-buffers)
(save-excursion
(set-buffer cache-buf)
- (buffer-disable-undo (current-buffer))
(erase-buffer)
(insert-file-contents (or file (gnus-cache-file-name group ".overview")))
(goto-char (point-min))
(let ((cache-buf (gnus-get-buffer-create " *gnus-cache*")))
(save-excursion
(set-buffer cache-buf)
- (buffer-disable-undo (current-buffer))
(erase-buffer))
(set-buffer nntp-server-buffer)
(goto-char (point-min))
(when (or force
(and gnus-cache-active-hashtb
gnus-cache-active-altered))
- (nnheader-temp-write gnus-cache-active-file
+ (with-temp-file gnus-cache-active-file
(mapatoms
(lambda (sym)
(when (and sym (boundp sym))