+2002-12-18 Paul Jarc <prj@po.cwru.edu>
+
+ * 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 <yamaoka@jpl.org>
* binhex.el (binhex-insert-char): Eval-and-compile.
(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))