+2006-01-08 Chong Yidong <cyd@stupidchicken.com>
+
+ * 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.
+
2005-12-16 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-art.el (gnus-signature-separator): Fix custom type.
"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)
(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