(require 'cl))
(eval-and-compile
- (autoload 'gnus-server-update-server "gnus-srvr")
- (autoload 'number-at-point "thingatpt"))
+ (autoload 'gnus-server-update-server "gnus-srvr"))
(defcustom gnus-agent-directory (nnheader-concat gnus-directory "agent/")
"Where the Gnus agent will store its files."
(save-excursion
(when buffer
(set-buffer buffer))
- (save-excursion
- (save-restriction
- (widen)
- (goto-char (point-min))
-
- (while (< (point) (point-max))
- (let ((p (point))
- (cur (condition-case nil
- (read (current-buffer))
- (error nil))))
- (cond
- ((or (not (integerp cur))
- (not (eq (char-after) ?\t)))
- (gnus-message 1
- "Overview buffer contains garbage '%s'."
- (buffer-substring
- p (gnus-point-at-eol))))
- ((= cur prev-num)
- (gnus-message 1
- "Duplicate overview line for %d" cur)
- (delete-region (point) (progn (forward-line 1) (point))))
- ((< cur 0)
- (gnus-message 1 "Junk article number %d" cur)
- (delete-region (point) (progn (forward-line 1) (point))))
- ((< cur prev-num)
- (sort-numeric-fields 1 (point-min) (point-max))
- (goto-char (point-min))
- (setq prev-num -1)
- (gnus-message 1 "Overview buffer not sorted!"))
- (t
- (setq prev-num cur)))
- (forward-line 1))))))))
+ (save-restriction
+ (widen)
+ (goto-char (point-min))
+
+ (while (< (point) (point-max))
+ (let ((p (point))
+ (cur (condition-case nil
+ (read (current-buffer))
+ (error nil))))
+ (cond
+ ((or (not (integerp cur))
+ (not (eq (char-after) ?\t)))
+ (gnus-message 1
+ "Overview buffer contains garbage '%s'."
+ (buffer-substring
+ p (gnus-point-at-eol))))
+ ((= cur prev-num)
+ (gnus-message 1
+ "Duplicate overview line for %d" cur)
+ (delete-region (point) (progn (forward-line 1) (point))))
+ ((< cur 0)
+ (gnus-message 1 "Junk article number %d" cur)
+ (delete-region (point) (progn (forward-line 1) (point))))
+ ((< cur prev-num)
+ (sort-numeric-fields 1 (point-min) (point-max))
+ (goto-char (point-min))
+ (setq prev-num -1)
+ (gnus-message 1 "Overview buffer not sorted!"))
+ (t
+ (setq prev-num cur)))
+ (forward-line 1)))))))
(defun gnus-agent-flush-cache ()
(save-excursion
"^X-Request-PGP:" "^X-Fingerprint:" "^X-WRIEnvto:" "^X-WRIEnvfrom:"
"^X-Virus-Scanned:" "^X-Delivery-Agent:" "^Posted-Date:" "^X-Gateway:"
"^X-Local-Origin:" "^X-Local-Destination:" "^X-UserInfo1:"
- "^X-Received-Date:")
+ "^X-Received-Date:" "^X-Hashcash:")
"*All headers that start with this regexp will be hidden.
This variable can also be a list of regexps of headers to be ignored.
If `gnus-visible-headers' is non-nil, this variable will be ignored."
:group 'gnus-meta
:type 'boolean)
-(defcustom gnus-keep-backlog nil
+(defcustom gnus-keep-backlog 20
"*If non-nil, Gnus will keep read articles for later re-retrieval.
If it is a number N, then Gnus will only keep the last N articles
read. If it is neither nil nor a number, Gnus will keep all read