From: yamaoka Date: Thu, 19 Dec 2002 10:34:28 +0000 (+0000) Subject: Synch with Oort Gnus. X-Git-Tag: t-gnus-6_15_10-00-quimby~26 X-Git-Url: http://git.chise.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=84dbb4b523b76faa334b1ee4eef7b2b49ce7b820;p=elisp%2Fgnus.git- Synch with Oort Gnus. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 02bb169..bde52f9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2002-12-18 Paul Jarc + + * gnus-int.el (gnus-request-update-info): Artificially add + (1 . (1- min)) to the read range, in case the backend doesn't + store marks for nonexistent articles. + 2002-12-17 Katsumi Yamaoka * binhex.el (binhex-insert-char): Eval-and-compile. diff --git a/lisp/gnus-int.el b/lisp/gnus-int.el index 6c2f436..adb794a 100644 --- a/lisp/gnus-int.el +++ b/lisp/gnus-int.el @@ -484,9 +484,20 @@ If GROUP is nil, all groups on GNUS-COMMAND-METHOD are scanned." (setq gnus-command-method (gnus-server-to-method gnus-command-method))) (when (gnus-check-backend-function 'request-update-info (car gnus-command-method)) - (funcall (gnus-get-function gnus-command-method 'request-update-info) - (gnus-group-real-name (gnus-info-group info)) - info (nth 1 gnus-command-method)))) + (let* ((group (gnus-info-group info)) + (result (funcall (gnus-get-function gnus-command-method + 'request-update-info) + (gnus-group-real-name group) + info (nth 1 gnus-command-method)))) + (when result ;; artificially add nonexistent articles to the read range + (let* ((active (gnus-active group)) + (min (car active))) + (when (> min 1) ;; otherwise, there are no known nonexistent articles + (let* ((range (if (= min 2) 1 (cons 1 (1- min)))) + (read (gnus-info-read result)) + (new-read (gnus-range-add read (list range)))) + (gnus-info-set-read result new-read))))) + result))) (defun gnus-request-expire-articles (articles group &optional force) (let* ((gnus-command-method (gnus-find-method-for-group group))