sort-mailbox by spam tag score sorting strangeness
I have the following set:
spam "X-Spam-Status: (Yes|No), score=(-?[[:digit:]]+\.[[:digit:]]+)" "%2"
set sort=spam
set index_format="%4C %Z %{%b%d} %4H %-15.15F %4c %s"
This is to parse spamassassin headers such as this:
X-Spam-Status: No, score=-0.2 required=5.0 tests=BAYES_40,UNPARSEABLE_RELAY
autolearn=ham version=3.1.3
This seems to get confused about the sign of the spam score.
Sometimes it seems to get it right. And sometimes it does not.
Here is an example, with the names and subjects blacked out to protect
the innocent.
69 Nov13 0.1 XXXXXXXX 2.6K XXXXX
70 Nov10 0.2 XXXXXXXX 2.5K XXXXX
71 Nov10 -0.2 XXXXXXXX 2.5K XXXXX
72 Nov10 -0.2 XXXXXXXX 0.4K XXXXX
73 Nov11 -0.2 XXXXXXXX 0.7K XXXXX
74 Nov13 -0.2 XXXXXXXX 7.0K XXXXX
75 Nov13 -0.2 XXXXXXXX 6.7K XXXXX
76 Nov10 0.5 XXXXXXXX 3.7K XXXXX
77 Nov10 0.5 XXXXXXXX 4.3K XXXXX
78 Nov14 0.5 XXXXXXXX 3.4K XXXXX
79 Nov11 -0.6 XXXXXXXX 1.1K XXXXX
80 Nov11 -0.6 XXXXXXXX 1.0K XXXXX
81 Nov10 -0.7 XXXXXXXX 0.8K XXXXX
82 Nov10 -0.7 XXXXXXXX 1.3K XXXXX
83 Nov13 -0.7 XXXXXXXX 2.1K XXXXX
84 Nov14 -0.7 XXXXXXXX 0.9K XXXXX
85 Nov09 -0.8 XXXXXXXX 1.0K XXXXX
86 Nov11 0.8 XXXXXXXX 0.3K XXXXX
87 Nov11 0.9 XXXXXXXX 0.9K XXXXX
88 Nov11 1.0 XXXXXXXX 2.9K XXXXX
89 Nov09 1.1 XXXXXXXX 90K XXXXX
Negative values less than -1 all seem to sort okay. It seems to be
only the absolute values <1 that cause issues. Why is it sorting this
so strangely? Why does it appear to be taking the absolute value of
the score but only if the score is between -1..1 but is okay outside
that range? This is mutt 1.5.9-2sarge2 from Debian Sarge stable.
Bob