+2000-10-30 01:52:40 ShengHuo ZHU <zsh@cs.rochester.edu>
+
+ * gnus-util.el (gnus-union): Renamed from gnus-agent-union, and
+ moved here.
+ * gnus-agent.el (gnus-agent-fetch-headers): Use it.
+ * gnus-group.el (gnus-group-prepare-flat): Use it.
+ * gnus-topic.el (gnus-group-prepare-topics): Use it.
+
2000-10-30 01:23:49 ShengHuo ZHU <zsh@cs.rochester.edu>
* mml.el (mml-mode): Show menu in XEmacs.
(insert "\n"))
(pop gnus-agent-group-alist))))
-(if (fboundp 'union)
- (defalias 'gnus-agent-union 'union)
- (defun gnus-agent-union (l1 l2)
- "Set union of lists L1 and L2."
- (cond ((null l1) l2)
- ((null l2) l1)
- ((equal l1 l2) l1)
- (t
- (or (>= (length l1) (length l2))
- (setq l1 (prog1 l2 (setq l2 l1))))
- (while l2
- (or (memq (car l2) l1)
- (push (car l2) l1))
- (pop l2))
- l1))))
-
(defun gnus-agent-fetch-headers (group &optional force)
(let ((articles (gnus-list-of-unread-articles group))
(gnus-decode-encoded-word-function 'identity)
(file (gnus-agent-article-name ".overview" group)))
;; Add article with marks to list of article headers we want to fetch.
(dolist (arts (gnus-info-marks (gnus-get-info group)))
- (setq articles (gnus-agent-union (gnus-uncompress-sequence (cdr arts))
+ (setq articles (gnus-union (gnus-uncompress-sequence (cdr arts))
articles)))
(setq articles (sort articles '<))
;; Remove known articles.
(newsrc (cdr gnus-newsrc-alist))
(lowest (or lowest 1))
(not-in-list (and gnus-group-listed-groups
- (not (eq gnus-group-list-option 'limit))
- (copy-sequence gnus-group-listed-groups)))
+ (copy-sequence gnus-group-listed-groups)))
info clevel unread group params)
(erase-buffer)
(when (or (< lowest gnus-level-zombie)
(if (or gnus-group-listed-groups
(and (>= level gnus-level-killed) (<= lowest gnus-level-killed)))
(gnus-group-prepare-flat-list-dead
- (or not-in-list
- (setq gnus-killed-list (sort gnus-killed-list 'string<)))
+ (gnus-union
+ not-in-list
+ (setq gnus-killed-list (sort gnus-killed-list 'string<)))
gnus-level-killed ?K regexp))
(gnus-group-set-mode-line)
(lowest (or lowest 1))
(not-in-list
(and gnus-group-listed-groups
- (not (eq gnus-group-list-option 'limit))
(copy-sequence gnus-group-listed-groups))))
(when (or (not gnus-topic-alist)
(and (>= level gnus-level-killed)
(<= lowest gnus-level-killed)))
(gnus-group-prepare-flat-list-dead
- (if not-in-list
- (gnus-delete-if (lambda (group)
- (< (gnus-group-level group) gnus-level-killed))
- not-in-list)
- (setq gnus-killed-list (sort gnus-killed-list 'string<)))
+ (gnus-union
+ (and not-in-list
+ (gnus-delete-if (lambda (group)
+ (< (gnus-group-level group) gnus-level-killed))
+ not-in-list))
+ (setq gnus-killed-list (sort gnus-killed-list 'string<)))
gnus-level-killed ?K
regexp))
(while (search-backward "\\." nil t)
(delete-char 1)))))
+(if (fboundp 'union)
+ (defalias 'gnus-union 'union)
+ (defun gnus-union (l1 l2)
+ "Set union of lists L1 and L2."
+ (cond ((null l1) l2)
+ ((null l2) l1)
+ ((equal l1 l2) l1)
+ (t
+ (or (>= (length l1) (length l2))
+ (setq l1 (prog1 l2 (setq l2 l1))))
+ (while l2
+ (or (member (car l2) l1)
+ (push (car l2) l1))
+ (pop l2))
+ l1))))
+
(provide 'gnus-util)
;;; gnus-util.el ends here