aboutsummaryrefslogtreecommitdiffstats
path: root/src/rulequery.cpp
AgeCommit message (Collapse)AuthorFilesLines
12 daysfeat(rulequery): parse an or-group with trailing exclusionsDanilo M.1-0/+81
12 daysfeat(rulequery): parse a flat and/or chainDanilo M.1-2/+197
12 daysfeat(rulequery): join terms and guard the or-group bindingDanilo M.1-1/+24
12 daysdocs,rulequery: state the tag quoting rule rather than the testDanilo M.1-4/+7
The draft compile() quoted every Is/IsNot term, which contradicted the same task's own assertion that a negated tag compiles to . The implementer resolved it in the direction the tests specify, and the resolution is right: notmuch reads tag:inbox and tag:"inbox" identically, counting 5322 either way against the live index, so quoting a tag would change the stored string without changing what it matches. That breaks the byte-for-byte round trip this type exists to guarantee. Restate the comment as the rule rather than as a note about what a test expects, correct the plan's draft so the remaining tasks do not inherit the contradiction, and warn the parser task that a quoted tag must not be read back as a quoting operator.
12 daysfeat(rulequery): compile every field and operatorDanilo M.1-2/+49
12 daysfeat(rulequery): compile a single termDanilo M.1-0/+65