Advanced Scoring Examples
Advanced Scoring
The & and | logical operators do short-circuit logic.
That is, they stop processing their arguments when it's clear what the
result of the operation will be. For instance, if one of the arguments
of an & evaluates to false, there's no point in evaluating
the rest of the arguments. This means that you should put slow matches
(`body', `header') last and quick matches (`from',
`subject') first.
The indirection arguments (1- and so on) will make their
arguments work on previous generations of the thread. If you say
something like:
...
(1-
(1-
("from" "lars")))
...
Then that means "score on the from header of the grandparent of the current article". An indirection is quite fast, but it's better to say:
(1-
(&
("from" "Lars")
("subject" "Gnus")))
than it is to say:
(&
(1- ("from" "Lars"))
(1- ("subject" "Gnus")))