Synch with Oort Gnus.
authoryamaoka <yamaoka>
Tue, 7 Jan 2003 06:50:56 +0000 (06:50 +0000)
committeryamaoka <yamaoka>
Tue, 7 Jan 2003 06:50:56 +0000 (06:50 +0000)
lisp/ChangeLog
lisp/gnus-agent.el
lisp/nntp.el

index 925ea0a..059aac1 100644 (file)
@@ -1,3 +1,13 @@
+2002-01-07  Kevin Greiner  <kgreiner@xpediantsolutions.com>
+
+       * gnus-agent.el (gnus-agent-fetch-group-1): When fetching within a
+       summary buffer, articles that cannot be fetched are marked as
+       canceled.
+
+       * nntp.el (nntp-with-open-group): The quit signal handler must
+       propagate the quit signal to the next outer handler so that the
+       caller knows that the request aborted abnormally.
+       
 2003-01-07  Teodor Zlatanov  <tzz@lifelogs.com>
 
        * spam.el (spam-check-ifile, spam-ifile-register-with-ifile) 
index 404c14a..aa5c5dd 100644 (file)
@@ -1630,32 +1630,33 @@ of FILE placing the combined headers in nntp-server-buffer."
                 (setq gnus-newsgroup-undownloaded
                       (gnus-sorted-ndifference gnus-newsgroup-undownloaded
                                                (setq fetched-articles (gnus-agent-fetch-articles group (cdr arts)))))
-                (if gnus-newsgroup-active
-                    (progn
-                      (dolist (article (cdr arts))
-                        (setq gnus-newsgroup-downloadable
-                              (delq article gnus-newsgroup-downloadable))
-                        (when (gnus-summary-goto-subject article nil t)
-                          (gnus-summary-update-download-mark article)))
-                      (dolist (article fetched-articles)
-                        (if gnus-agent-mark-unread-after-downloaded
-                            (gnus-summary-mark-article article gnus-unread-mark))))
-                  ;; When some, or all, of the marked articles came
-                  ;; from the download mark.  Remove that mark.  I
-                  ;; didn't do this earlier as I only want to remove
-                  ;; the marks after the fetch is completed.
-
-                  (when (cdr arts)
+
+                (let ((unfetched-articles (gnus-sorted-ndifference (cdr arts) fetched-articles)))
+                  (if gnus-newsgroup-active
+                      (progn
+                        (dolist (article (cdr arts))
+                          (setq gnus-newsgroup-downloadable
+                                (delq article gnus-newsgroup-downloadable))
+                          (when (gnus-summary-goto-subject article nil t)
+                            (gnus-summary-update-download-mark article)))
+                        (dolist (article fetched-articles)
+                          (if gnus-agent-mark-unread-after-downloaded
+                              (gnus-summary-mark-article article gnus-unread-mark)))
+                        (dolist (article unfetched-articles)
+                          (gnus-summary-mark-article article gnus-canceled-mark)))
+                    ;; When some, or all, of the marked articles came
+                    ;; from the download mark.  Remove that mark.  I
+                    ;; didn't do this earlier as I only want to remove
+                    ;; the marks after the fetch is completed.
+
                     (dolist (mark gnus-agent-download-marks)
                       (when (eq mark 'download)
                         (let ((marked-arts (assq mark (gnus-info-marks
                                                        (setq info (gnus-get-info group))))))
                           (when (cdr marked-arts)
                             (setq marks (delq marked-arts (gnus-info-marks info)))
-                            (gnus-info-set-marks info marks)
-                            ))))
-                    (let ((unfetched-articles (gnus-sorted-ndifference (cdr arts) fetched-articles))
-                          (read (gnus-info-read (or info (setq info (gnus-get-info group))))))
+                            (gnus-info-set-marks info marks)))))
+                    (let ((read (gnus-info-read (or info (setq info (gnus-get-info group))))))
                       (gnus-info-set-read info (gnus-add-to-range read unfetched-articles)))
 
                     (gnus-group-update-group group t)
index 5a46da1..773b31e 100644 (file)
@@ -623,10 +623,12 @@ command whose response triggered the error."
                                  (nntp-kill-buffer buffer))))))))
                (unwind-protect
                    (setq nntp-with-open-group-internal
-                         (condition-case nil
+                          (condition-case nil
                              (progn ,@forms)
                            (quit
-                            (nntp-close-server))))
+                            (nntp-close-server)
+                             (signal 'quit nil)))
+                          )
                  (when timer
                    (nnheader-cancel-timer timer)))
                nil))