A question about scorefile usage

Tom Tanner via Pan-users <[email protected]>
Newsgroups gmane.comp.gnome.apps.pan.user
Message-ID <[email protected]>
Recently while looking at something else, I discovered some 
peculiarities about the way the scorefile is handled.

The documentation refers to the slrn scorefile format (which may be 
found here: https://slrn.info/docs/score.txt - it has moved from where 
the rebelbase pages point to). Now, there are a couple of things it says 
about rules here:

Firstly, on the score keyword itself:

The `Score' keyword is used to assign a score to the header.
   If it is followed by a single colon, the score is only given if all
   tests are passed (logical AND); two colons indicate that the score
   should be awarded if any of the tests are passed (logical OR)

On the subject of grouping rules, the slrn documentation says:

  Lines enclosed in curly braces are grouped; the initial brace is
   followed by one or two colons that indicate whether only one (`::') or
   all of the lines (`:') inside the group need to match for the group to
   pass.

However, the pan implementation behaves like this:

  * If Score is followed by a single colon, the score is given if any of
    the tests are passed.
  * If Score is followed by 3 (!) or more more colons, the score is
    given if all of the tests are passed.
  * For grouping, if the { is followed by one :, only one of the lines
    has to match. If it is followed by ::, all the lines inside the
    group need to match (i.e. the opposite of what the slrn
    documentation says)
  * The code inside pan that adds rules to the scorefile generates a
    single : for all lines much match, and :: for any line must matching.
  * The unit tests for scorefile parsing test that a single : would
    result in a score being applied if any line matched. There is no
    test to see how a :: behaves. And in any case the unit tests aren't
    run as the build parts are commented out.

What I'd like to do is to fix these up so that they behave like the slrn 
documentation. (One : -> all rules must match to apply the score, two :s 
-> if any rule matches, apply the score). However, I'm posting this 
because it might break peoples existing rules (manually created ones only).

Feedback would be appreciated.

_______________________________________________
Pan-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/pan-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.