meta FROM_IN_TO_AND_SUBJ (__TO_EQ_FROM && __SUBJ_HAS_FROM_1)
header __SUBJ_HAS_FROM_1 ALL =~
/\nFrom:\s+(?:[^\n<]{0,80}<)?([^\n\s>]+)>?\n(?:[^\n]{1,100}\n)*Subject:\s+[^\n]{0,100}\1[>,\s\n]/ism
If the from and the to are identical and the subject is empty, this rule
hits, e.g.
From: custo...@example.com
Subject:
To: "Scan PC" <custo...@example.com>
Since there is no restriction for \n in the \s+ after the subject, the
/to/ in the next line is matched. An easy fix would be to change \s+ by
[ \t]+ or something similar. The rule could also be cancelled by
__SUBJECT_EMPTY