[PATCH] Allow lone "not" search operators

classic Classic list List threaded Threaded
2 messages Options
Adrian Perez de Castro Adrian Perez de Castro
Reply | Threaded
Open this post in threaded view
|

[PATCH] Allow lone "not" search operators

As suggested by Keith in FLAG_PURE_NOT allows for expressions like:

  notmuch search NOT tag:inbox

Note that this way a search like:

  notmuch search foobar NOT tag:inbox

should not be written instead:

  notmuch search foobar AND NOT tag:inbox

In my opinion, the latter feels more natural and is somewhat more explicit.
It gives a better clue of what the search is about instead of assuming that
an implicit AND operator is there.

---
 lib/query.cc |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/lib/query.cc b/lib/query.cc
index a869f3e..75f22b3 100644
--- a/lib/query.cc
+++ b/lib/query.cc
@@ -97,7 +97,8 @@ notmuch_query_search_messages (notmuch_query_t *query,
       Xapian::QueryParser::FLAG_PHRASE |
       Xapian::QueryParser::FLAG_LOVEHATE |
       Xapian::QueryParser::FLAG_BOOLEAN_ANY_CASE |
-      Xapian::QueryParser::FLAG_WILDCARD);
+      Xapian::QueryParser::FLAG_WILDCARD |
+      Xapian::QueryParser::FLAG_PURE_NOT);
 
  if (strcmp (query_string, "") == 0) {
     final_query = mail_query;
--
1.6.5.2


Carl Worth-2 Carl Worth-2
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Allow lone "not" search operators

On Thu, 19 Nov 2009 01:07:22 +0100, Adrian Perez <[hidden email]> wrote:
> As suggested by Keith in FLAG_PURE_NOT allows for expressions like:
>
>   notmuch search NOT tag:inbox

Oh, fantastic! I guess I'd run into enough QueryParser bugs recently
that I was willing to blame it without cause this time.

And I *thought* I had looked carefully at all the QueryParser tags to
choose all the useful ones, but clearly I missed this one.

Anyway, thanks for the research and the fix. This is pushed now.

Happy hacking,

-Carl