On Thu, Dec 27, 2018 at 08:58:46AM -0600, Bryan K. Walton wrote:

> However, I am slightly confused about the documentation saying that 
> if..endif is allowed to nest.  Does this mean that I could write
> something like the following:
> 
> if /pattern/flags
>       if !/pattern/flags
>       endif
> endif

The checks are applied to *ONE LOGICAL HEADER AT A TIME*.
So while the patterns can nest, they are matching the
content of a *single* logical header line, not the entire
message header.

    For each header line "x":
        For each rule "r":
                if ("x" ~ "r"):
                        perform rule action

When "r" is a sequence of nested "if" statments "r1" .. "rN", the
meanining of "x" ~ "r" is:

        if  "x" ~ "r1"
        and "x" ~ "r2"
        ...
        and "x" ~ "rN"
                perform rule action

but, note that all the rules see the same input "x", which is still
just a single logical header line.

-- 
        Viktor.

Reply via email to