2001-05-04 00:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
authorShengHuo ZHU <zsh@cs.rochester.edu>
Fri, 4 May 2001 11:45:35 +0000 (11:45 +0000)
committerShengHuo ZHU <zsh@cs.rochester.edu>
Fri, 4 May 2001 11:45:35 +0000 (11:45 +0000)
* nnrss.el (nnrss-request-expire-articles): Correct the return value.

* nnslashdot.el (nnslashdot-request-list): Add time.
(nnslashdot-request-expire-articles): New.

* gnus-start.el (gnus-check-bogus-newsgroups): Remove bogus
secondary methods too.

lisp/ChangeLog
lisp/gnus-start.el
lisp/nnrss.el
lisp/nnslashdot.el

index c4e00be..1ec2701 100644 (file)
@@ -1,3 +1,13 @@
+2001-05-04 00:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
+
+       * nnrss.el (nnrss-request-expire-articles): Correct the return value.
+
+       * nnslashdot.el (nnslashdot-request-list): Add time.
+       (nnslashdot-request-expire-articles): New.
+
+       * gnus-start.el (gnus-check-bogus-newsgroups): Remove bogus
+       secondary methods too.
+
 2001-05-03 23:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
 
        * message.el (message-use-followup-to): Set default value to t.
index 22e0096..19cffb8 100644 (file)
@@ -1359,7 +1359,9 @@ newsgroup."
        (setq info (pop newsrc)
              group (gnus-info-group info))
        (unless (or (gnus-active group) ; Active
-                   (gnus-info-method info)) ; Foreign
+                   (and (gnus-info-method info)
+                        (not (gnus-secondary-method-p 
+                              (gnus-info-method info))))) ; Foreign
          ;; Found a bogus newsgroup.
          (push group bogus)))
       (if confirm
index fbb760c..eca89da 100644 (file)
 (deffoo nnrss-request-expire-articles
     (articles group &optional server force)
   (nnrss-possibly-change-group group server)
-  (let (e changed days)
+  (let (e days expirable)
     (dolist (art articles)
       (when (setq e (assq art nnrss-group-data))
       (if (nnmail-expired-article-p
           (if (listp (setq days (nth 1 e))) days 
             (days-to-time (- days (time-to-days '(0 0)))))
           force)
-         (setq nnrss-group-data (delq e nnrss-group-data)
-               changed t))))
-    (if changed
-       (nnrss-save-group-data group server))))
+         (push art expirable)
+         (setq nnrss-group-data (delq e nnrss-group-data)))))
+    (if expirable
+       (nnrss-save-group-data group server))
+    expirable))
 
 (deffoo nnrss-request-delete-group (group &optional force server)
   (nnrss-possibly-change-group group server)
index 6286c86..d761d04 100644 (file)
              (setq gname (concat description " (" sid ")"))
              (if (setq elem (assoc gname nnslashdot-groups))
                  (setcar (cdr elem) articles)
-               (push (list gname articles sid) nnslashdot-groups))
+               (push (list gname articles sid (current-time)) 
+                     nnslashdot-groups))
              (goto-char (point-max))
              (widen)))
          ;; Then do the older groups.
                  (setq gname (concat description " (" sid ")"))
                  (if (setq elem (assoc gname nnslashdot-groups))
                      (setcar (cdr elem) articles)
-                   (push (list gname articles sid) nnslashdot-groups)))))
+                   (push (list gname articles sid (current-time)) 
+                         nnslashdot-groups)))))
            (incf number 30)))
       (search-failed (nnslashdot-lose why)))
     (nnslashdot-write-groups)
   (setq nnslashdot-headers nil
        nnslashdot-groups nil))
 
+(deffoo nnslashdot-request-expire-articles
+    (articles group &optional server force)
+  (nnslashdot-possibly-change-server group server)
+  (let ((item (assoc group nnslashdot-groups)) expirable)
+    (when item
+      (if (fourth item)
+         (when (and (>= (length articles) (cadr item)) ;; All are expirable.
+                    (nnmail-expired-article-p 
+                     group
+                     (fourth item) 
+                     force))
+           (setq nnslashdot-groups (delq item nnslashdot-groups))
+           (nnslashdot-write-groups)
+           (setq expirable articles))
+       (setcdr (cddr item) (list (current-time)))
+       (nnslashdot-write-groups)))
+    expirable))
+
 (nnoo-define-skeleton nnslashdot)
 
 ;;; Internal functions