"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))