+2002-02-02 ShengHuo ZHU <zsh@cs.rochester.edu>
+
+ * gnus-cache.el (gnus-cache-articles-in-group): Remove from active
+ if no article.
+ (gnus-cache-possibly-remove-article): Ditto.
+ (gnus-cache-possibly-enter-article): Use gnus-add-to-sorted-list.
+
2002-02-01 Simon Josefsson <jas@extundo.com>
* gnus-int.el (gnus-request-accept-article): Use gnus-get-function.
;; Update the active info.
(set-buffer gnus-summary-buffer)
(gnus-cache-possibly-update-active group (cons number number))
- (push article gnus-newsgroup-cached)
+ (setq gnus-newsgroup-cached
+ (gnus-add-to-sorted-list gnus-newsgroup-cached article))
(gnus-summary-update-secondary-mark article))
t))))))
(point-max) t))
(delete-region (progn (beginning-of-line) (point))
(progn (forward-line 1) (point)))))
- (setq gnus-newsgroup-cached
- (delq article gnus-newsgroup-cached))
+ (unless (setq gnus-newsgroup-cached
+ (delq article gnus-newsgroup-cached))
+ (gnus-sethash gnus-newsgroup-name nil gnus-cache-active-hashtb)
+ (setq gnus-cache-active-altered t))
(gnus-summary-update-secondary-mark article)
t)))
(directory-files dir nil "^[0-9]+$" t))
'<))
;; Update the cache active file, just to synch more.
- (when articles
- (gnus-cache-update-active group (car articles) t)
- (gnus-cache-update-active group (car (last articles))))
+ (if articles
+ (progn
+ (gnus-cache-update-active group (car articles) t)
+ (gnus-cache-update-active group (car (last articles))))
+ (when (gnus-gethash group gnus-cache-active-hashtb)
+ (gnus-sethash group nil gnus-cache-active-hashtb)
+ (setq gnus-cache-active-altered t)))
articles)))
(defun gnus-cache-braid-nov (group cached &optional file)