Previous: Advanced Scoring Examples, Up: Advanced Scoring [Contents][Index]
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")))