+ (setq result (or result
+ (equal field-value value)))))
+ result)))
+
+(defun elmo-split-spam-p (buffer &rest plist)
+ (require 'elmo-spam)
+ (elmo-spam-buffer-spam-p (elmo-spam-processor)
+ buffer
+ (plist-get plist :register)))
+
+(defun elmo-split-match (buffer field-or-fields value)
+ (with-current-buffer buffer
+ (let (result)
+ (dolist (field (if (listp field-or-fields)
+ field-or-fields
+ (list field-or-fields)))
+ (let ((field-value (and elmo-split-message-entity
+ (elmo-split-fetch-decoded-field
+ elmo-split-message-entity
+ (symbol-name field)))))
+ (and field-value
+ (when (string-match value field-value)
+ (setq result t)
+ (setq elmo-split-match-string-internal field-value)))))
+ result)))