From 8e53d86f054569dc422b60cde42750cdf2cdb21a Mon Sep 17 00:00:00 2001 From: yamaoka Date: Tue, 7 Jan 2003 06:50:56 +0000 Subject: [PATCH] Synch with Oort Gnus. --- lisp/ChangeLog | 10 ++++++++++ lisp/gnus-agent.el | 41 +++++++++++++++++++++-------------------- lisp/nntp.el | 6 ++++-- 3 files changed, 35 insertions(+), 22 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 925ea0a..059aac1 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,13 @@ +2002-01-07 Kevin Greiner + + * 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 * spam.el (spam-check-ifile, spam-ifile-register-with-ifile) diff --git a/lisp/gnus-agent.el b/lisp/gnus-agent.el index 404c14a..aa5c5dd 100644 --- a/lisp/gnus-agent.el +++ b/lisp/gnus-agent.el @@ -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) diff --git a/lisp/nntp.el b/lisp/nntp.el index 5a46da1..773b31e 100644 --- a/lisp/nntp.el +++ b/lisp/nntp.el @@ -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)) -- 1.7.10.4