emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/gnus/spam.el


From: Chong Yidong
Subject: [Emacs-diffs] Changes to emacs/lisp/gnus/spam.el
Date: Sun, 08 Jan 2006 21:29:46 +0000

Index: emacs/lisp/gnus/spam.el
diff -u emacs/lisp/gnus/spam.el:1.13 emacs/lisp/gnus/spam.el:1.14
--- emacs/lisp/gnus/spam.el:1.13        Sat Aug  6 19:51:42 2005
+++ emacs/lisp/gnus/spam.el     Sun Jan  8 21:29:46 2006
@@ -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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]