+(wl-defface wl-highlight-summary-spam-face
+ '((((type tty)
+ (background dark))
+ (:foreground "blue"))
+ (((class color))
+ (:foreground "LightSlateGray")))
+ "Face used for displaying messages mark as spam."
+ :group 'wl-summary-faces
+ :group 'wl-faces)
+
+(defcustom wl-spam-mark-action-list
+ '(("s"
+ spam
+ nil
+ wl-summary-register-temp-mark
+ wl-summary-exec-action-spam
+ wl-highlight-summary-spam-face
+ "Mark messages as spam."))
+ "A variable to define Mark & Action for spam.
+Append this value to `wl-summary-mark-action-list' by `wl-spam-setup'.
+
+See `wl-summary-mark-action-list' for the detail of element."
+ :type '(repeat (list
+ (string :tag "Temporary mark")
+ (symbol :tag "Action name")
+ (symbol :tag "Argument function")
+ (symbol :tag "Set mark function")
+ (symbol :tag "Exec function")
+ (symbol :tag "Face symbol")
+ (string :tag "Document string")))
+ :group 'wl-spam)
+
+(defsubst wl-spam-string-member-p (string list regexp-list)
+ (or (wl-string-member string list)
+ (wl-string-match-member string regexp-list)))
+
+(defun wl-spam-domain (folder-name)
+ (cond ((string= folder-name wl-spam-folder)