be called as a function with @var{args} given as arguments. The
function should return a @var{split}.
+For instance, the following function could be used to split based on the
+body of the messages:
+
+@lisp
+(defun split-on-body ()
+ (save-excursion
+ (set-buffer " *nnmail incoming*")
+ (goto-char (point-min))
+ (when (re-search-forward "Some.*string" nil t)
+ "string.group")))
+@end lisp
+
@item
@code{(! @var{func} @var{split})}: If the split is a list, and the first
element is @code{!}, then SPLIT will be processed, and FUNC will be