[RFC PATCH v5 00/11] Add NOTMUCH_MESSAGE_FLAG_EXCLUDED flag

Mark Walters markwalters1009 at gmail.com
Wed Feb 15 13:11:15 PST 2012


On Wed, 15 Feb 2012 09:46:56 -0800, Jameson Graef Rollins <jrollins at finestructure.net> wrote:
> On Wed, 15 Feb 2012 09:03:28 +0000, Mark Walters <markwalters1009 at gmail.com> wrote:
> > The current implementation of exclude-tags does not use excludes in
> > notmuch-show.c (and thus not in notmuch-show.el). Thus when selecting 
> > a thread in the search view claiming one matched message you may get 
> > several matches in show all but one of which are tagged excluded.
> 
> Hey, Mark.  Thanks so much for working on this.  This is a very nice
> extension to Austin's work.
> 
> > This set moves in a different direction. It returns all the results 
> > but marks excluded messages with a new flag 
> > (NOTMUCH_MESSAGE_FLAG_EXCLUDED) and lets the consumer decide what to 
> > do with them. For example it could start with the message closed in 
> > emacs show view, it could colour the headerline differently etc.
> 
> I missed some of the previous discussion on this, but rather than add a
> new flag, why not just use the existing "match" flag?  If the message is
> excluded, just mark "match" as "false".  I think this is basically all
> we really want.  If the message is "excluded" include it in returned
> threads, but just don't display it.  This is in fact exactly what the
> "match" flag is currently for, and I can't see any reason not to use it
> here.  We don't need to add anything new to the show output, and I
> believe it will simplify this patch set considerably.

I think the difficulty is that there are lots of annoying corner cases,
but if there is a  simpler solution that would be great!

Anyway I will mention a couple of corner cases I can remember with any
thoughts I have on alternative solutions.

1) What should notmuch show id:deleted-message-id do? 

It could return the thread containing the deleted message. If it does
return a thread what subject does it assign it?  Possibly it could
return no messages and the caller would have to call it again with
--no-exclude.

2) Should notmuch search return threads which match but only in excluded
messages? 

If yes then does it sort it based on match or match-not-excluded? If the
latter what happens to threads with no match-not-excluded messages? If
not then does searching for id:deleted-message return no results? The
caller could try with --no-exclude, but then the caller would end up
returning the deleted message for search id:deleted-message but not for
search id:deleted-message or id:some-other-not-deleted-message.

Anyway with answers to the 2 main questions I can try thinking about
simpler possibilities.

Best wishes

Mark





More information about the notmuch mailing list