X-Git-Url: https://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fspam.el;h=b7908e5507bee29f10abfe1241fcfc52b80c3c66;hb=15fab50deca9f951cc04e658c20a503aba6cc8c3;hp=f2c18e71d0c3a375352ad41a9b2585a4db393960;hpb=17f456f97c1659bcdc5935b91a011cdad96b9150;p=gnus diff --git a/lisp/spam.el b/lisp/spam.el index f2c18e71d..b7908e550 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: @@ -59,8 +58,7 @@ (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 @@ -70,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") ;;}}} @@ -177,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) @@ -375,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." @@ -417,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") @@ -456,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") @@ -508,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") @@ -575,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 @@ -606,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") @@ -663,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) @@ -1155,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 @@ -1610,8 +1605,7 @@ to find it out)." article)))) (defun spam-fetch-article-header (article) - (save-excursion - (set-buffer gnus-summary-buffer) + (with-current-buffer gnus-summary-buffer (gnus-read-header article) (nth 3 (assq article gnus-newsgroup-data)))) ;;}}} @@ -2042,9 +2036,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))) @@ -2177,8 +2171,7 @@ See `spam-ifile-database'." (with-temp-buffer (let ((temp-buffer-name (buffer-name)) (db-param (spam-get-ifile-database-parameter))) - (save-excursion - (set-buffer article-buffer-name) + (with-current-buffer article-buffer-name (apply 'call-process-region (point-min) (point-max) spam-ifile-program nil temp-buffer-name nil "-c" @@ -2323,9 +2316,8 @@ With a non-nil REMOVE, remove the ADDRESSES." ;; else, we have a list of addresses here (unless (file-exists-p (file-name-directory file)) (make-directory (file-name-directory file) t)) - (save-excursion - (set-buffer - (find-file-noselect file)) + (with-current-buffer + (find-file-noselect file) (dolist (a addresses) (when (stringp a) (goto-char (point-min)) @@ -2526,8 +2518,7 @@ With a non-nil REMOVE, remove the ADDRESSES." return) (with-temp-buffer (let ((temp-buffer-name (buffer-name))) - (save-excursion - (set-buffer article-buffer-name) + (with-current-buffer article-buffer-name (apply 'call-process-region (point-min) (point-max) spam-bogofilter-program @@ -2584,8 +2575,7 @@ With a non-nil REMOVE, remove the ADDRESSES." (let ((article-buffer-name (buffer-name))) (with-temp-buffer (let ((temp-buffer-name (buffer-name))) - (save-excursion - (set-buffer article-buffer-name) + (with-current-buffer article-buffer-name (let ((status (apply 'call-process-region (point-min) (point-max) @@ -2661,8 +2651,7 @@ With a non-nil REMOVE, remove the ADDRESSES." (let ((article-buffer-name (buffer-name))) (with-temp-buffer (let ((temp-buffer-name (buffer-name))) - (save-excursion - (set-buffer article-buffer-name) + (with-current-buffer article-buffer-name (apply 'call-process-region (point-min) (point-max) spam-assassin-program nil temp-buffer-name nil spam-spamassassin-arguments)) @@ -2696,8 +2685,7 @@ With a non-nil REMOVE, remove the ADDRESSES." ;; group the articles into mbox format (dolist (article articles) (let (article-string) - (save-excursion - (set-buffer summary-buffer-name) + (with-current-buffer summary-buffer-name (setq article-string (spam-get-article-as-string article))) (when (stringp article-string) (insert "From \n") ; mbox separator (sa-learn only checks the @@ -2760,8 +2748,7 @@ With a non-nil REMOVE, remove the ADDRESSES." return) (with-temp-buffer (let ((temp-buffer-name (buffer-name))) - (save-excursion - (set-buffer article-buffer-name) + (with-current-buffer article-buffer-name (apply 'call-process-region (point-min) (point-max) spam-bsfilter-program @@ -2846,8 +2833,7 @@ With a non-nil REMOVE, remove the ADDRESSES." return) (with-temp-buffer (let ((temp-buffer-name (buffer-name))) - (save-excursion - (set-buffer article-buffer-name) + (with-current-buffer article-buffer-name (apply 'call-process-region (point-min) (point-max) spam-crm114-program @@ -2946,5 +2932,4 @@ installed through `spam-necessary-extra-headers'." (provide 'spam) -;;; arch-tag: 07e6e0ca-ab0a-4412-b445-1f6c72a4f27f ;;; spam.el ends here