Mercurial > emacs
changeset 102110:4df6195e1d5e
(rmail-get-new-mail-filter-spam): Move here from rmail.el.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Thu, 19 Feb 2009 03:29:58 +0000 |
parents | 66d7dedd5eaf |
children | 206623e4bc00 |
files | lisp/mail/rmail-spam-filter.el |
diffstat | 1 files changed, 24 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/mail/rmail-spam-filter.el Thu Feb 19 03:25:46 2009 +0000 +++ b/lisp/mail/rmail-spam-filter.el Thu Feb 19 03:29:58 2009 +0000 @@ -351,6 +351,30 @@ (setq return-value t))) return-value)) +(defun rmail-get-new-mail-filter-spam (nnew) + "Check the most NNEW recent messages for spam." + (let* ((nold (- rmail-total-messages nnew)) + (nspam 0) + (nscan (1+ nold))) + (while (<= nscan rmail-total-messages) + (or (rmail-spam-filter nscan) + (setq nspam (1+ nspam))) + (setq nscan (1+ nscan))) + (when (> nspam 0) + ;; Otherwise the expunge prompt leaves the raw mbox buffer showing. + (rmail-show-message (rmail-first-unseen-message) 1) + (if (rmail-expunge-confirmed) (rmail-only-expunge t)) + ;; Swap back, else get-new-mail-1 gets confused. + (rmail-swap-buffers-maybe) + (widen)) + ;; Return a message based on the number of spam messages found. + (cond + ((zerop nspam) "") + ((= 1 nnew) ", and it appears to be spam") + ((= nspam nnew) ", and all appear to be spam") + (t (format ", and %d appear%s to be spam" nspam + (if (= 1 nspam) "s" "")))))) + ;; define functions for interactively adding sender/subject of a ;; specific message to the spam definitions while reading it, using ;; the menubar: