Make `A T' work when agentized
authorWolfgang Jenkner <wjenkner@inode.at>
Mon, 11 Jun 2012 21:49:17 +0000 (23:49 +0200)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Mon, 11 Jun 2012 21:49:17 +0000 (23:49 +0200)
* gnus-agent.el (gnus-agent-retrieve-headers): Recalculate the range of
articles when fetch-old is non-nil (bug#11370).

lisp/ChangeLog
lisp/gnus-agent.el

index b09d0eb..a6e204a 100644 (file)
@@ -1,3 +1,8 @@
+2012-04-14  Wolfgang Jenkner  <wjenkner@inode.at>
+
+       * gnus-agent.el (gnus-agent-retrieve-headers): Recalculate the range of
+       articles when fetch-old is non-nil (bug#11370).
+
 2012-05-04  Wolfgang Jenkner  <wjenkner@inode.at>
 
        * gnus-picon.el (gnus-picon-properties): New defcustom.
index 540a97b..525008c 100644 (file)
@@ -3743,6 +3743,13 @@ has been fetched."
       (gnus-make-directory (nnheader-translate-file-chars
                            (file-name-directory file) t))
 
+      (when fetch-old
+       (setq articles (gnus-uncompress-range
+                       (cons (if (numberp fetch-old)
+                                 (max 1 (- (car articles) fetch-old))
+                               1)
+                             (car (last articles))))))
+
       ;; Populate temp buffer with known headers
       (when (file-exists-p file)
        (with-current-buffer gnus-agent-overview-buffer
@@ -3779,12 +3786,7 @@ has been fetched."
                    (set-buffer nntp-server-buffer)
                    (let* ((fetched-articles (list nil))
                           (tail-fetched-articles fetched-articles)
-                          (min (cond ((numberp fetch-old)
-                                      (max 1 (- (car articles) fetch-old)))
-                                     (fetch-old
-                                      1)
-                                     (t
-                                      (car articles))))
+                          (min (car articles))
                           (max (car (last articles))))
 
                      ;; Get the list of articles that were fetched
@@ -3859,8 +3861,7 @@ has been fetched."
             (not (numberp fetch-old)))
        t                               ; Don't remove anything.
       (nnheader-nov-delete-outside-range
-       (if fetch-old (max 1 (- (car articles) fetch-old))
-        (car articles))
+       (car articles)
        (car (last articles)))
       t)