[Top][All Lists]

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

spam.el not saving spam-stat dictionary

From: Chong Yidong
Subject: spam.el not saving spam-stat dictionary
Date: Sat, 08 Oct 2005 14:36:01 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

[I sent this to gnus-ding yesterday, but I haven't been able to access
the newsgroup so I dunno if it got through. Sorry for reposting.]

I use the version of Gnus that comes with CVS Gnu Emacs.

I've been trying to set up the spam-stat spam filtering library, and I
noticed that the new emails I receive aren't being saved into the
spam-stat dictionary.  From what I gather, emails that I mark as spam
are supposed to be "taught" to the dictionary as spam, and the rest of
the email as ham.  In practice, ~/.spam-stat.el hasn't changed since I
first initialized it.

The problem seems to lie in `spam-summary-prepare-exit' in spam.el:

            (dolist (article changed-articles)
              (let ((id (spam-fetch-field-message-id-fast article)))
                (when (spam-log-unregistration-needed-p
                       id 'process classification check)
                  (push article unregister-list))))
            (when (and unregister-list (symbol-value check))
              (spam-register-routine classification check t unregister-list)

The call to spam-register-routine is intended to save the article's
contents to the spam-stat dictionary.

However, unregister-list is actually always nil, because
spam-log-unregistration-needed-p is defined as

  (defun spam-log-unregistration-needed-p (id type classification check)
    (when spam-log-to-registry

And spam-log-to-registry defaults to nil.  Nothing ever gets pushed
onto unregister-list, and spam-register-routine is never called!

However, even setting the spam-log-to-registry to t does not fix the
problem.  I'll continue looking into this, but someone more familiar
with the code would probably be able to find the problem faster.


-- Yidong

reply via email to

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