diff lisp/gnus/spam.el @ 68093:2212a4afa3ce

* spam.el (spam-group-ham-mark-p, spam-group-spam-mark-p) (spam-group-spam-marks): Delete functions. (spam-list-articles): Just call spam-group-ham-marks directly. (spam-group-ham-marks): Simplify.
author Chong Yidong <cyd@stupidchicken.com>
date Sun, 08 Jan 2006 21:29:46 +0000
parents fafd692d1e40
children 873a6f48b596
line wrap: on
line diff
--- a/lisp/gnus/spam.el	Sun Jan 08 15:22:59 2006 +0000
+++ b/lisp/gnus/spam.el	Sun Jan 08 21:29:46 2006 +0000
@@ -467,28 +467,14 @@
   "Logical exclusive `or'."
   (and (or a b) (not (and a b))))
 
-(defun spam-group-ham-mark-p (group mark &optional spam)
-  (when (stringp group)
-    (let* ((marks (spam-group-ham-marks group spam))
-	   (marks (if (symbolp mark)
-		      marks
-		    (mapcar 'symbol-value marks))))
-      (memq mark marks))))
-
-(defun spam-group-spam-mark-p (group mark)
-  (spam-group-ham-mark-p group mark t))
-
 (defun spam-group-ham-marks (group &optional spam)
   (when (stringp group)
-    (let* ((marks (if spam
-		      (gnus-parameter-spam-marks group)
-		    (gnus-parameter-ham-marks group)))
-	   (marks (car marks))
-	   (marks (if (listp (car marks)) (car marks) marks)))
-      marks)))
-
-(defun spam-group-spam-marks (group)
-  (spam-group-ham-marks group t))
+    (let ((marks (car (if spam
+			  (gnus-parameter-spam-marks group)
+			(gnus-parameter-ham-marks group)))))
+      (if (listp (car marks))
+	  (car marks)
+	marks))))
 
 (defun spam-group-spam-contents-p (group)
   (if (stringp group)
@@ -1050,23 +1036,12 @@
       (nth 2 flist))))
 
 (defun spam-list-articles (articles classification)
-  (let ((mark-check (if (eq classification 'spam)
-			'spam-group-spam-mark-p
-		      'spam-group-ham-mark-p))
-	list mark-cache-yes mark-cache-no)
+  (let ((marks (mapcar 'eval (spam-group-ham-marks gnus-newsgroup-name
+						   (eq classification 'spam))))
+	list)
     (dolist (article articles)
-      (let ((mark (gnus-summary-article-mark article)))
-	(unless (memq mark mark-cache-no)
-	  (if (memq mark mark-cache-yes)
-	      (push article list)
-	    ;; else, we have to actually check the mark
-	    (if (funcall mark-check
-			 gnus-newsgroup-name
-			 mark)
-		(progn
-		  (push article list)
-		  (push mark mark-cache-yes))
-	      (push mark mark-cache-no))))))
+      (if (memq (gnus-summary-article-mark article) marks)
+	  (push article list)))
     list))
 
 (defun spam-register-routine (classification