Quoth Jameson Graef Rollins on Feb 15 at 2:16 pm: > On Wed, 15 Feb 2012 21:11:15 +0000, Mark Walters <markwalters1009@gmail.com> wrote: > > I think the difficulty is that there are lots of annoying corner cases, > > but if there is a simpler solution that would be great! > > I think there is! There's been a fair bit of discussion of this at id:"871uqvgrnm.fsf@qmul.ac.uk" (already pointed out on IRC, but I figured I'd point it out here for others). There are some drawbacks to separating out the exclude flag, but personally I think they're minor and that doing so opens up a lot of interesting UI possibilities as well as providing a very clean and consistent interface. > > 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. > > "notmuch show id:<excluded-id>" should always return the message > matching id:<excluded-id> with match=true. In fact, any search that > references a specific id: should always process the message as if there > were no excludes at all. This sounds terribly inconsistent to me. Even setting that aside, I can't think of a reasonable way to implement this. What does it mean for a search to reference a specific id? Do you special case when the query begins with the string "id:"? Do you parse the query? Do you check if the unexcluded search matches exactly one message and do something different in that case?