Quoth Mark Walters on Mar 15 at 6:42 pm: > This commit replaces the --no-exclude option with a > --exclude=(true|false|flag) option. The default is to omit the > excluded messages. > > The flag option only makes sense if output=summary (as otherwise there > is nowhere to print the flag). In summary output exclude=false and > exclude=flag give almost identical output: > they differ in that with the exclude=flag option the match count > (i.e., the x in [x/n] in the output) is the number of matching > non-excluded messages rather than the number of matching messages. > > Note this changes the default for output=summary when no --exclude= > option is given: it used to default to flag and now defaults to true > (i.e. omit excluded messages). This is neccesary to keep the cli > output uncluttered and for speed reasons. > --- Code looks good, but I think there need to be a few more tests. In particular, I think we need all 10 valid combinations of * --output=summary or --output=messages (those two are probably enough) * The three types of exclude (or two for --output=messages) * Whether or not an excluded term is in the query Finally, the corpus should have three threads of interest: a thread with no excluded messages, a thread with both excluded and non-excluded messages, and a thread consisting entirely of excluded messages. We already have many of these, but it would be good to systematically cover the full gamut of possibilities.