+2001-12-27 Simon Josefsson <jas@extundo.com>
+
+ * gnus-sum.el (gnus-select-newsgroup): Make
+ `gnus-newsgroup-unseen' sorted. Make `gnus-newsgroup-unseen'
+ contain all articles (instead of none) when no seen marks have
+ been set for the group.
+ (gnus-update-marks): Use `gnus-range-add' on a uncompressed list
+ instead, it seems to result in shorter ranges.
+
2001-12-26 11:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
* mm-util.el (mm-iso-8859-x-to-15-region): Use
(let ((marks (assq 'seen (gnus-info-marks info))))
;; The `seen' marks are treated specially.
- (when (setq gnus-newsgroup-seen (cdr marks))
- (dolist (article gnus-newsgroup-articles)
- (unless (gnus-member-of-range
- article gnus-newsgroup-seen)
- (push article gnus-newsgroup-unseen)))))
+ (if (setq gnus-newsgroup-seen (cdr marks))
+ (dolist (article gnus-newsgroup-articles)
+ (unless (gnus-member-of-range article gnus-newsgroup-seen)
+ (setq gnus-newsgroup-unseen
+ (append gnus-newsgroup-unseen (list article)))))
+ (setq gnus-newsgroup-unseen gnus-newsgroup-articles)))
;; Removed marked articles that do not exist.
(gnus-update-missing-marks
(when (eq (cdr type) 'seen)
(setq list
(if list
- (gnus-add-to-range list gnus-newsgroup-unseen)
+ (gnus-range-add (gnus-uncompress-sequence list)
+ gnus-newsgroup-unseen)
(gnus-compress-sequence gnus-newsgroup-articles))))
(when (eq (gnus-article-mark-to-type (cdr type)) 'list)
(goto-char p)
(setq id (if (re-search-forward
"^message-id: *\\(<[^\n\t> ]+>\\)" nil t)
- ;; We do it this way to make sure the Message-ID
+ ;; We do it this way to make sure the Message-ID
;; is (somewhat) syntactically valid.
(buffer-substring (match-beginning 1)
(match-end 1))
- ;; If there was no message-id, we just fake one
+ ;; If there was no message-id, we just fake one
;; to make subsequent routines simpler.
(nnheader-generate-fake-message-id))))
;; References.
(progn
(search-backward "<" end t)
(point))))))
- ;; Get the references from the in-reply-to header if there
+ ;; Get the references from the in-reply-to header if there
;; were no references and the in-reply-to header looks
;; promising.
(if (and (search-forward "\nin-reply-to:" nil t)