* gnus-agent.el (gnus-agent-braid-nov): Find the first article to
[gnus] / lisp / gnus-agent.el
index 21bedeb..325d306 100644 (file)
@@ -1097,15 +1097,10 @@ the actual number of articles toggled is returned."
   (erase-buffer)
   (nnheader-insert-file-contents file)
   (goto-char (point-max))
-  (if (or (= (point-min) (point-max))
-         (progn
-           (forward-line -1)
-           (< (read (current-buffer)) (car articles))))
-      ;; We have only headers that are after the older headers,
-      ;; so we just append them.
-      (progn
-       (goto-char (point-max))
-       (insert-buffer-substring gnus-agent-overview-buffer))
+  (unless (or (= (point-min) (point-max))
+             (progn
+               (forward-line -1)
+               (< (read (current-buffer)) (car articles))))
     ;; We do it the hard way.
     (nnheader-find-nov-line (car articles))
     (gnus-agent-copy-nov-line (car articles))
@@ -1118,19 +1113,20 @@ the actual number of articles toggled is returned."
       (beginning-of-line)
       (unless (eobp)
        (gnus-agent-copy-nov-line (car articles))
-       (setq articles (cdr articles))))
-    (set-buffer nntp-server-buffer)
-    (when articles
-      (let (b e)
-       (set-buffer gnus-agent-overview-buffer)
-       (setq b (point)
-             e (point-max))
-       (while (and (not (eobp))
-                   (<= (read (current-buffer)) (car articles)))
-         (forward-line 1)
-         (setq b (point)))
-       (set-buffer nntp-server-buffer)
-       (insert-buffer-substring gnus-agent-overview-buffer b e)))))
+       (setq articles (cdr articles)))))
+  ;; Copy the rest lines
+  (set-buffer nntp-server-buffer)
+  (goto-char (point-max))
+  (when articles
+    (let (start)
+      (set-buffer gnus-agent-overview-buffer)
+      (while (and (not (eobp))
+                 (< (read (current-buffer)) (car articles)))
+       (forward-line 1))
+      (beginning-of-line)
+      (setq start (point))
+      (set-buffer nntp-server-buffer)
+      (insert-buffer-substring gnus-agent-overview-buffer start))))
 
 (defun gnus-agent-load-alist (group &optional dir)
   "Load the article-state alist for GROUP."