gnus: Advanced Scoring Tips

 
 7.15.3 Advanced Scoring Tips
 ----------------------------
 
 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")))