Re: [PATCH 3/5] cli: move search to the new --exclude= naming scheme.

Subject: Re: [PATCH 3/5] cli: move search to the new --exclude= naming scheme.

Date: Sat, 17 Mar 2012 11:50:23 -0400

To: Mark Walters

Cc: notmuch@notmuchmail.org

From: Austin Clements


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.

Thread: