X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=doc%2Fman7%2Fnotmuch-sexp-queries.rst;h=858ff6850fd3dc6fb6c978e0fdac30f1adafbe30;hb=HEAD;hp=0eb867349f4d32d0f50c31dcc2e46c8e12cb8458;hpb=b2eb0547e172dd766ccbc062319faa90a9500518;p=notmuch diff --git a/doc/man7/notmuch-sexp-queries.rst b/doc/man7/notmuch-sexp-queries.rst index 0eb86734..858ff685 100644 --- a/doc/man7/notmuch-sexp-queries.rst +++ b/doc/man7/notmuch-sexp-queries.rst @@ -119,6 +119,15 @@ a message has one such attribute, and ``and`` otherwise. Term or phrase fields can contain arbitrarily complex queries made up from terms, operators, and modifiers, but not other fields. +Range fields take one or two arguments specifying lower and upper +bounds. One argument is interpreted as identical upper and lower +bounds. Either upper or lower bound may be specified as ``""`` or +``*`` to specify the lowest possible lower bound or highest possible +upper bound. + +``lastmod`` ranges support negative arguments, interpreted relative to +the most recent database revision (see :option:`count --lastmod`). + .. _field-table: .. table:: Fields with supported modifiers @@ -221,7 +230,7 @@ EXAMPLES ``(not Bob Marley)`` - Match messages containing neither "Bob" nor "Marley", nor their stems, + Match messages containing neither "Bob" nor "Marley", nor their stems. ``"quick fox"`` ``quick-fox`` ``quick@fox`` @@ -230,16 +239,28 @@ EXAMPLES ``(folder (of (id 1234@invalid)))`` - Match any message in the same folder as the one with Message-Id "1234\@invalid" + Match any message in the same folder as the one with Message-Id "1234\@invalid". ``(id 1234@invalid blah@test)`` - Matches Message-Id "1234\@invalid" *or* Message-Id "blah\@test" + Matches Message-Id "1234\@invalid" *or* Message-Id "blah\@test". ``(and (infix "date:2009-11-18..2009-11-18") (tag unread))`` Match messages in the given date range with tag unread. +``(and (date 2009-11-18 2009-11-18) (tag unread))`` + + Match messages in the given date range with tag unread. + +``(and (date 2009-11-18 *) (tag unread))`` + + Match messages from 2009-11-18 or later with tag unread. + +``(and (date * 2009-11-18) (tag unread))`` + + Match messages from 2009-11-18 or earlier with tag unread. + ``(starts-with prelim)`` Match any words starting with "prelim". @@ -253,20 +274,20 @@ EXAMPLES Matches any word starting with "prelim", inside a message subject. -``(subject (starts-wih quick) "brown fox")`` +``(subject (starts-with quick) "brown fox")`` Match messages whose subject contains "quick brown fox", but also "brown fox quicksand". ``(thread (of (id 1234@invalid)))`` - Match any message in the same thread as the one with Message-Id "1234\@invalid" + Match any message in the same thread as the one with Message-Id "1234\@invalid". ``(thread (matching (from bob@example.com) (to bob@example.com)))`` Match any (messages in) a thread containing a message from - "bob\@example.com" and a (possibly distinct) message to "bob at - example.com") + "bob\@example.com" and a (possibly distinct) message to + "bob\@example.com". ``(to (or bob@example.com mallory@example.org))`` ``(or (to bob@example.com) (to mallory@example.org))`` @@ -281,7 +302,7 @@ EXAMPLES ``(List *)`` Match messages with a non-empty List-Id header, assuming - configuration ``index.header.List=List-Id`` + configuration ``index.header.List=List-Id``. .. _macro_examples: @@ -315,7 +336,7 @@ user defined fields is permitted within a macro. NOTES ===== -.. [#macro-details] Technically macros impliment lazy evaluation and +.. [#macro-details] Technically macros implement lazy evaluation and lexical scope. There is one top level scope containing all macro definitions, but all parameter definitions are local to a given macro. @@ -326,10 +347,10 @@ NOTES .. [#aka-bool] a.k.a. boolean prefixes -.. [#not-phrase] Due to the implemention of phrase fields in Xapian, +.. [#not-phrase] Due to the implementation of phrase fields in Xapian, regex queries could only match individual words. -.. [#not-body] Due the the way ``body`` is implemented in notmuch, +.. [#not-body] Due to the way ``body`` is implemented in notmuch, this modifier is not supported in the ``body`` field. .. [#not-path] Due to the way recursive ``path`` queries are implemented