mml2015.el (mml2015-use): Don't try to load PGG on Emacs 24, when EPG is not fully...
[gnus] / lisp / spam.el
index ec3212b..33dbaaa 100644 (file)
@@ -1,7 +1,6 @@
 ;;; spam.el --- Identifying spam
 
-;; Copyright (C) 2002-2011
-;;   Free Software Foundation, Inc.
+;; Copyright (C) 2002-2011  Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Maintainer: Ted Zlatanov <tzz@lifelogs.com>
@@ -69,9 +68,9 @@
 
 ;; autoload gnus-registry
 (autoload 'gnus-registry-group-count "gnus-registry")
-(autoload 'gnus-registry-add-group "gnus-registry")
-(autoload 'gnus-registry-store-extra-entry "gnus-registry")
-(autoload 'gnus-registry-fetch-extra "gnus-registry")
+(autoload 'gnus-registry-get-id-key "gnus-registry")
+(autoload 'gnus-registry-set-id-key "gnus-registry")
+(autoload 'gnus-registry-handle-action "gnus-registry")
 
 ;; autoload dns-query
 (autoload 'dns-query "dns")
@@ -1765,8 +1764,7 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
 
              (when (and id split-return spam-log-to-registry)
                (when (zerop (gnus-registry-group-count id))
-                 (gnus-registry-add-group
-                  id group subject sender))
+                 (gnus-registry-handle-action id nil group subject sender))
 
                (unless registry-lookup
                  (spam-log-processing-to-registry
@@ -1895,13 +1893,10 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
              (spam-process-type-valid-p type)
              (spam-classification-valid-p classification)
              (spam-backend-valid-p backend))
-        (let ((cell-list (cdr-safe (gnus-registry-fetch-extra id type)))
+        (let ((cell-list (gnus-registry-get-id-key id type))
               (cell (list classification backend group)))
           (push cell cell-list)
-          (gnus-registry-store-extra-entry
-           id
-           type
-           cell-list))
+          (gnus-registry-set-id-key id type cell-list))
 
       (gnus-error
        7
@@ -1914,7 +1909,7 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
   (when spam-log-to-registry
     (if (and (stringp id)
              (spam-process-type-valid-p type))
-        (cdr-safe (gnus-registry-fetch-extra id type))
+        (gnus-registry-get-id-key id type)
       (progn
         (gnus-error
          7
@@ -1946,7 +1941,7 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
              (spam-process-type-valid-p type)
              (spam-classification-valid-p classification)
              (spam-backend-valid-p backend))
-        (let ((cell-list (cdr-safe (gnus-registry-fetch-extra id type)))
+        (let ((cell-list (gnus-registry-get-id-key id type))
               found)
           (dolist (cell cell-list)
             (unless found
@@ -1971,16 +1966,13 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
              (spam-process-type-valid-p type)
              (spam-classification-valid-p classification)
              (spam-backend-valid-p backend))
-        (let ((cell-list (cdr-safe (gnus-registry-fetch-extra id type)))
+        (let ((cell-list (gnus-registry-get-id-key id type))
               new-cell-list found)
           (dolist (cell cell-list)
             (unless (and (eq classification (nth 0 cell))
                          (eq backend (nth 1 cell)))
               (push cell new-cell-list)))
-          (gnus-registry-store-extra-entry
-           id
-           type
-           new-cell-list))
+          (gnus-registry-set-id-key id type new-cell-list))
       (progn
         (gnus-error 7 (format
                        "%s call with bad ID, type, spam-backend, or group"
@@ -2268,51 +2260,44 @@ Uses `gnus-newsgroup-name' if category is nil (for ham registration)."
   (autoload 'spam-stat-save "spam-stat")
   (autoload 'spam-stat-split-fancy "spam-stat"))
 
-(eval-and-compile
-  (when (condition-case nil
-            (let ((spam-stat-install-hooks nil))
-              (require 'spam-stat))
-          (file-error
-           (defalias 'spam-stat-register-ham-routine 'ignore)
-           (defalias 'spam-stat-register-spam-routine 'ignore)
-           nil))
+(require 'spam-stat)
 
-    (defun spam-check-stat ()
-      "Check the spam-stat backend for the classification of this message"
-      (let ((spam-stat-split-fancy-spam-group spam-split-group) ; override
-            (spam-stat-buffer (buffer-name)) ; stat the current buffer
-            category return)
-        (spam-stat-split-fancy)))
+(defun spam-check-stat ()
+  "Check the spam-stat backend for the classification of this message"
+  (let ((spam-stat-split-fancy-spam-group spam-split-group) ; override
+       (spam-stat-buffer (buffer-name)) ; stat the current buffer
+       category return)
+    (spam-stat-split-fancy)))
 
-    (defun spam-stat-register-spam-routine (articles &optional unregister)
-      (dolist (article articles)
-        (let ((article-string (spam-get-article-as-string article)))
-          (with-temp-buffer
-            (insert article-string)
-            (if unregister
-                (spam-stat-buffer-change-to-non-spam)
-              (spam-stat-buffer-is-spam))))))
+(defun spam-stat-register-spam-routine (articles &optional unregister)
+  (dolist (article articles)
+    (let ((article-string (spam-get-article-as-string article)))
+      (with-temp-buffer
+       (insert article-string)
+       (if unregister
+           (spam-stat-buffer-change-to-non-spam)
+         (spam-stat-buffer-is-spam))))))
 
-    (defun spam-stat-unregister-spam-routine (articles)
-      (spam-stat-register-spam-routine articles t))
+(defun spam-stat-unregister-spam-routine (articles)
+  (spam-stat-register-spam-routine articles t))
 
-    (defun spam-stat-register-ham-routine (articles &optional unregister)
-      (dolist (article articles)
-        (let ((article-string (spam-get-article-as-string article)))
-          (with-temp-buffer
-            (insert article-string)
-            (if unregister
-                (spam-stat-buffer-change-to-spam)
-              (spam-stat-buffer-is-non-spam))))))
+(defun spam-stat-register-ham-routine (articles &optional unregister)
+  (dolist (article articles)
+    (let ((article-string (spam-get-article-as-string article)))
+      (with-temp-buffer
+       (insert article-string)
+       (if unregister
+           (spam-stat-buffer-change-to-spam)
+         (spam-stat-buffer-is-non-spam))))))
 
-    (defun spam-stat-unregister-ham-routine (articles)
-      (spam-stat-register-ham-routine articles t))
+(defun spam-stat-unregister-ham-routine (articles)
+  (spam-stat-register-ham-routine articles t))
 
-    (defun spam-maybe-spam-stat-load ()
-      (when spam-use-stat (spam-stat-load)))
+(defun spam-maybe-spam-stat-load ()
+  (when spam-use-stat (spam-stat-load)))
 
-    (defun spam-maybe-spam-stat-save ()
-      (when spam-use-stat (spam-stat-save)))))
+(defun spam-maybe-spam-stat-save ()
+  (when spam-use-stat (spam-stat-save)))
 
 ;;}}}