Synch with Oort Gnus.
[elisp/gnus.git-] / lisp / spam.el
index e2e4d93..17f487f 100644 (file)
   "When spam files are kept.")
 
 (defvar spam-whitelist (expand-file-name "whitelist" spam-directory)
-  "The location of the whitelist.")
-                                        
+  "The location of the whitelist.
+The file format is one regular expression per line.
+The regular expression is matched against the address.")
+
 (defvar spam-blacklist (expand-file-name "blacklist" spam-directory)
-  "The location of the whitelist.")
+  "The location of the blacklist.
+The file format is one regular expression per line.
+The regular expression is matched against the address.")
 
 (defvar spam-whitelist-cache nil)
 (defvar spam-blacklist-cache nil)
 
 (defun spam-enter-whitelist (address &optional blacklist)
-  "Enter ADDRESS into the whitelist."
+  "Enter ADDRESS into the whitelist.
+Optional arg BLACKLIST, if non-nil, means to enter in the blacklist instead."
   (interactive "sAddress: ")
   (let ((file (if blacklist spam-blacklist spam-whitelist)))
     (unless (file-exists-p (file-name-directory file))
       (insert address "\n")
       (save-buffer))))
 
+(defun spam-enter-blacklist (address)
+  "Enter ADDRESS into the blacklist."
+  (interactive "sAddress: ")
+  (spam-enter-whitelist address t))
+
+(eval-and-compile
+  (defalias 'spam-point-at-eol (if (fboundp 'point-at-eol)
+                                  'point-at-eol
+                                'line-end-position)))
+
 (defun spam-parse-whitelist (&optional blacklist)
   (let ((file (if blacklist spam-blacklist spam-whitelist))
        contents address)
       (with-temp-buffer
        (insert-file-contents file)
        (while (not (eobp))
-         (setq address (buffer-substring (point) (point-at-eol)))
+         (setq address (buffer-substring (point) (spam-point-at-eol)))
          (forward-line 1)
          (unless (zerop (length address))
            (setq address (regexp-quote address))