X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=lib%2Fquery.cc;h=ec60e2e45c01226a9ed326b8af22f1add8b77c8b;hp=1cc768f887db5736fa1ec3399e68c9af32a6253e;hb=00d2ac2b41a6dba060837244ee87edce2fd1e465;hpb=f0dfda5c7797f9db81ce35d270fe0ac406c7fca1 diff --git a/lib/query.cc b/lib/query.cc index 1cc768f8..ec60e2e4 100644 --- a/lib/query.cc +++ b/lib/query.cc @@ -80,7 +80,7 @@ notmuch_query_create (notmuch_database_t *notmuch, if (_debug_query ()) fprintf (stderr, "Query string is:\n%s\n", query_string); - query = talloc (NULL, notmuch_query_t); + query = talloc (notmuch, notmuch_query_t); if (unlikely (query == NULL)) return NULL; @@ -218,13 +218,15 @@ notmuch_query_search_messages (notmuch_query_t *query) } messages->base.excluded_doc_ids = NULL; - if (query->exclude_terms) { + if ((query->omit_excluded != NOTMUCH_EXCLUDE_FALSE) && (query->exclude_terms)) { exclude_query = _notmuch_exclude_tags (query, final_query); - if (query->omit_excluded != NOTMUCH_EXCLUDE_FALSE) + if (query->omit_excluded == NOTMUCH_EXCLUDE_TRUE || + query->omit_excluded == NOTMUCH_EXCLUDE_ALL) + { final_query = Xapian::Query (Xapian::Query::OP_AND_NOT, final_query, exclude_query); - else { + } else { /* NOTMUCH_EXCLUDE_FLAG */ exclude_query = Xapian::Query (Xapian::Query::OP_AND, exclude_query, final_query);