X-Git-Url: http://cgit.sxemacs.org/?p=gnus;a=blobdiff_plain;f=lisp%2Fspam.el;h=10304c00c867f61c55efb7f6e4bd4b375c306535;hp=fddebb1d290f9e08a77017f971b4b436614879ae;hb=9a8731d6dea8021a10dec1b42f382609336a9aa9;hpb=b58d62328adf02b341b460a98819a54a0d629b60 diff --git a/lisp/spam.el b/lisp/spam.el index fddebb1d2..10304c00c 100644 --- a/lisp/spam.el +++ b/lisp/spam.el @@ -1,6 +1,7 @@ ;;; spam.el --- Identifying spam -;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 +;; Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Maintainer: Ted Zlatanov @@ -8,20 +9,18 @@ ;; This file is part of GNU Emacs. -;; GNU Emacs is free software; you can redistribute it and/or modify +;; GNU Emacs is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 3, or (at your option) -;; any later version. +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;; Boston, MA 02110-1301, USA. +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -40,23 +39,26 @@ ;;{{{ compilation directives and autoloads/requires +;; For Emacs < 22.2. +(eval-and-compile + (unless (fboundp 'declare-function) (defmacro declare-function (&rest r)))) + (eval-when-compile (require 'cl)) -(eval-when-compile (require 'spam-report)) -(eval-when-compile (require 'hashcash)) +(require 'message) ;for the message-fetch-field functions (require 'gnus-sum) - (require 'gnus-uu) ; because of key prefix issues ;;; for the definitions of group content classification and spam processors (require 'gnus) -(require 'message) ;for the message-fetch-field functions + +(eval-when-compile (require 'spam-report)) +(eval-when-compile (require 'hashcash)) ;; for nnimap-split-download-body-default (eval-when-compile (require 'nnimap)) ;; autoload query-dig -(eval-and-compile - (autoload 'query-dig "dig")) +(autoload 'query-dig "dig") ;; autoload spam-report (eval-and-compile @@ -66,15 +68,13 @@ (autoload 'spam-report-resend "spam-report")) ;; autoload gnus-registry -(eval-and-compile - (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-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 query-dns -(eval-and-compile - (autoload 'query-dns "dns")) +;; autoload dns-query +(autoload 'dns-query "dns") ;;}}} @@ -173,7 +173,7 @@ The regular expression is matched against the address." :group 'spam) (defcustom spam-use-dig t - "Whether `query-dig' should be used instead of `query-dns'." + "Whether `query-dig' should be used instead of `dns-query'." :type 'boolean :group 'spam) @@ -371,6 +371,7 @@ Only meaningful if you enable `spam-use-blackholes'." :group 'spam) ;; backward-compatibility alias (put 'spam-face 'face-alias 'spam) +(put 'spam-face 'obsolete-face "22.1") (defcustom spam-face 'spam "Face for spam-marked articles." @@ -413,16 +414,16 @@ Only meaningful if you enable `spam-use-regex-body'." "Spam ifile configuration." :group 'spam) -(make-obsolete-variable 'spam-ifile-path 'spam-ifile-program) -;; "22.1" ;; Gnus 5.10.9 +(make-obsolete-variable 'spam-ifile-path 'spam-ifile-program + "Gnus 5.10.9 (Emacs 22.1)") (defcustom spam-ifile-program (executable-find "ifile") "Name of the ifile program." :type '(choice (file :tag "Location of ifile") (const :tag "ifile is not installed")) :group 'spam-ifile) -(make-obsolete-variable 'spam-ifile-database-path 'spam-ifile-database) -;; "22.1" ;; Gnus 5.10.9 +(make-obsolete-variable 'spam-ifile-database-path 'spam-ifile-database + "Gnus 5.10.9 (Emacs 22.1)") (defcustom spam-ifile-database nil "File name of the ifile database." :type '(choice (file :tag "Location of the ifile database") @@ -452,8 +453,8 @@ your main source of newsgroup names." "Spam bogofilter configuration." :group 'spam) -(make-obsolete-variable 'spam-bogofilter-path 'spam-bogofilter-program) -;; "22.1" ;; Gnus 5.10.9 +(make-obsolete-variable 'spam-bogofilter-path 'spam-bogofilter-program + "Gnus 5.10.9 (Emacs 22.1)") (defcustom spam-bogofilter-program (executable-find "bogofilter") "Name of the Bogofilter program." :type '(choice (file :tag "Location of bogofilter") @@ -504,8 +505,8 @@ When nil, use the default location." "Spam bsfilter configuration." :group 'spam) -(make-obsolete-variable 'spam-bsfilter-path 'spam-bsfilter-program) -;; "22.1" ;; Gnus 5.10.9 +(make-obsolete-variable 'spam-bsfilter-path 'spam-bsfilter-program + "Gnus 5.10.9 (Emacs 22.1)") (defcustom spam-bsfilter-program (executable-find "bsfilter") "Name of the Bsfilter program." :type '(choice (file :tag "Location of bsfilter") @@ -571,7 +572,7 @@ When nil, use the default spamoracle database." :group 'spam) (make-obsolete-variable 'spam-spamassassin-path - 'spam-spamassassin-program) ;; "22.1" ;; Gnus 5.10.9 + 'spam-spamassassin-program "Gnus 5.10.9 (Emacs 22.1)") (defcustom spam-assassin-program (executable-find "spamassassin") "Name of the spamassassin program. Hint: set this to \"spamc\" if you have spamd running. See the spamc and @@ -602,8 +603,8 @@ identification" :type 'string :group 'spam-spamassassin) -(make-obsolete-variable 'spam-sa-learn-path 'spam-sa-learn-program) -;; "22.1" ;; Gnus 5.10.9 +(make-obsolete-variable 'spam-sa-learn-path 'spam-sa-learn-program + "Gnus 5.10.9 (Emacs 22.1)") (defcustom spam-sa-learn-program (executable-find "sa-learn") "Name of the sa-learn program." :type '(choice (file :tag "Location of spamassassin") @@ -659,12 +660,12 @@ order for SpamAssassin to recognize the new registered spam." :type 'string :group 'spam-crm114) -(defcustom spam-crm114-spam-strong-switch "--UNKNOWN" +(defcustom spam-crm114-spam-strong-switch "--unlearn" "The switch that CRM114 Mailfilter uses to unregister ham messages." :type 'string :group 'spam-crm114) -(defcustom spam-crm114-ham-strong-switch "--UNKNOWN" +(defcustom spam-crm114-ham-strong-switch "--unlearn" "The switch that CRM114 Mailfilter uses to unregister spam messages." :type 'string :group 'spam-crm114) @@ -1151,10 +1152,8 @@ backends)." 'spam-check-crm114 'spam-crm114-register-ham-routine 'spam-crm114-register-spam-routine - ;; does CRM114 Mailfilter support unregistration? - nil - nil) - + 'spam-crm114-unregister-ham-routine + 'spam-crm114-unregister-spam-routine) ;;}}} ;;{{{ scoring and summary formatting @@ -2038,9 +2037,9 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details." (push (list ip server query-result) matches))) ;; else, if not using dig.el - (when (query-dns query-string) + (when (dns-query query-string) (gnus-message 6 "positive blackhole check") - (push (list ip server (query-dns query-string 'TXT)) + (push (list ip server (dns-query query-string 'TXT)) matches))))))))) (when matches spam-split-group))) @@ -2066,6 +2065,9 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details." (autoload 'bbdb-create-internal "bbdb") (autoload 'bbdb-search-simple "bbdb")) +;; Autoloaded in message, which we require. +(declare-function gnus-extract-address-components "gnus-util" (from)) + (eval-and-compile (when (condition-case nil (progn @@ -2939,5 +2941,5 @@ installed through `spam-necessary-extra-headers'." (provide 'spam) -;;; arch-tag: 07e6e0ca-ab0a-4412-b445-1f6c72a4f27f +;; arch-tag: 07e6e0ca-ab0a-4412-b445-1f6c72a4f27f ;;; spam.el ends here