X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;ds=sidebyside;f=manpages%2Fnotmuch-sexp-queries-7.mdwn;h=e6968ada5ebd74cfcb454c0d432a219831505792;hb=219490b75a85ca18d449168575a0c7538e71612e;hp=6744e9145a3b867df36f9df23434f7be7a478950;hpb=75474bbc91dc470f292067ad365d5288c09eb0f2;p=notmuch-wiki
diff --git a/manpages/notmuch-sexp-queries-7.mdwn b/manpages/notmuch-sexp-queries-7.mdwn
index 6744e91..e6968ad 100644
--- a/manpages/notmuch-sexp-queries-7.mdwn
+++ b/manpages/notmuch-sexp-queries-7.mdwn
@@ -19,7 +19,7 @@
tax(). Support for this syntax is currently optional, you can test if
your build of notmuch supports it with
- $ notmuch config get built_with.sexpr_query
+ $ notmuch config get built_with.sexp_queries
S-EXPRESSIONS
@@ -28,13 +28,13 @@
s-expressions inside parentheses. Atoms are either
basic value
- A basic value is an unquoted string containing no whitespace,
- double quotes, or parentheses.
+ A basic value is an unquoted string containing no whitespace, double
+ quotes, or parentheses.
quoted string
- Double quotes (") delimit strings possibly containing whitespace
- or parentheses. These can contain double quote characters by esâ
- caping with backslash. E.g. "this is a quote \"".
+ Double quotes (") delimit strings possibly containing whitespace or
+ parentheses. These can contain double quote characters by escaping
+ with backslash. E.g. "this is a quote \"".
S-EXPRESSION QUERIES
@@ -43,9 +43,11 @@
query consisting of a prefix atom (first element) defining a field,
logical operation, or modifier, and 0 or more subqueries.
- * "*" matches any non-empty string in the current field.
+ *
+ "*" matches any non-empty string in the current field.
- () The empty list matches all messages
+ ()
+ The empty list matches all messages
term
Match all messages containing term, possibly after stemming or
@@ -54,25 +56,25 @@
values) in s-expression queries. For information on phrase splitâ
ting see FIELDS.
- ( field q_1 q_2 ... q_n )
- Restrict the queries q_1 to q_n to field, and combine with and
- (for most fields) or or. See FIELDS for more information.
-
- ( operator q_1 q_2 ... q_n )
- Combine queries q_1 to q_n. Currently supported operators are
- and, or, and not. (not q_1 ... q_n ) is equivalent to (and (not
- q_1 ) ... (not q_n )).
-
- ( modifier q_1 q_2 ... q_n )
- Combine queries q_1 to q_n, and reinterpret the result (e.g. as
- a regular expression). See MODIFIERS for more information.
-
- (macro ( p_1 ... p_n ) body)
- Define saved query with parameter substitution. The syntax is
- recognized only in saved s-expression queries (see squery.* in
- notmuch-config(1)). Parameter names in body must be prefixed
- with , to be expanded (see MACRO EXAMPLES). Macros may refer to
- other macros, but only to their own parameters [1].
+ ( field q1 q2 ... qn )
+ Restrict the queries q1 to qn to field, and combine with and (for
+ most fields) or or. See FIELDS for more information.
+
+ ( operator q1 q2 ... qn )
+ Combine queries q1 to qn. Currently supported operators are and, or,
+ and not. (not q1 ... qn ) is equivalent to (and (not q1 ) ... (not
+ qn )).
+
+ ( modifier q1 q2 ... qn )
+ Combine queries q1 to qn, and reinterpret the result (e.g. as a regâ
+ ular expression). See MODIFIERS for more information.
+
+ (macro ( p1 ... pn ) body)
+ Define saved query with parameter substitution. The syntax is recogâ
+ nized only in saved s-expression queries (see squery.* in notâ
+ much-config(1)). Parameter names in body must be prefixed with , to
+ be expanded (see MACRO EXAMPLES). Macros may refer to other macros,
+ but only to their own parameters [1].
FIELDS
@@ -137,7 +139,8 @@
âtag â and â term â yes â yes â yes â
âââââââââââââ¼ââââââââââ¼âââââââââ¼âââââââââ¼âââââââââââ¼ââââââââ¤
âthread â or â term â yes â yes â yes â
- âââââââââââââ¼ââââââââââ¼âââââââââ¼âââââââââ¼âââââââââââ¼ââââââââ¤
+ âââââââââââââ´ââââââââââ´âââââââââ´âââââââââ´âââââââââââ´ââââââââ
+
âto â and â phrase â yes â yes â no â
âââââââââââââ´ââââââââââ´âââââââââ´âââââââââ´âââââââââââ´ââââââââ
@@ -148,96 +151,97 @@
that are neither operators nor fields.
(infix atom )
- Interpret atom as an infix notmuch query (see notâ
- much-search-terms(7)). Not supported inside fields.
+ Interpret atom as an infix notmuch query (see notâ
+ much-search-terms(7)). Not supported inside fields.
- (matching q_1 q_2 ... q_n ) (of q_1 q_2 ... q_n )
- Match all messages have the same values of the current field as
- those matching all of q_1 ... q_n. Supported in most term [7] or
- phrase fields. Most commonly used in the thread field.
+ (matching q1 q2 ... qn ) (of q1 q2 ... qn )
+ Match all messages have the same values of the current field as
+ those matching all of q1 ... qn. Supported in most term [7] or
+ phrase fields. Most commonly used in the thread field.
(query atom )
- Expand to the saved query named by atom. See notmuch-config(1)
- for more. Note that the saved query must be in infix syntax
- (notmuch-search-terms(7)). Not supported inside fields.
+ Expand to the saved query named by atom. See notmuch-config(1) for
+ more. Note that the saved query must be in infix syntax (notâ
+ much-search-terms(7)). Not supported inside fields.
(regex atom ) (rx atom )
- Interpret atom as a POSIX.2 regular expression (see regex(7)).
- This applies in term fields and a subset [5] of phrase fields
- (see Fields with supported modifiers).
+ Interpret atom as a POSIX.2 regular expression (see regex(7)). This
+ applies in term fields and a subset [5] of phrase fields (see Fields
+ with supported modifiers).
(starts-with subword )
- Matches any term starting with subword. This applies in either
- phrase or term fields, or outside of fields [6]. Note that a
- starts-with query cannot be part of a phrase. The atom * is a
- synonym for (starts-with "").
+ Matches any term starting with subword. This applies in either
+ phrase or term fields, or outside of fields [6]. Note that a
+ starts-with query cannot be part of a phrase. The atom * is a synâ
+ onym for (starts-with "").
EXAMPLES
- Wizard Match all messages containing the word "wizard", ignoring case.
+ Wizard
+ Match all messages containing the word "wizard", ignoring case.
- added Match all messages containing "added", but also those containing
- "add", "additional", "Additional", "adds", etc... via stemming.
+ added
+ Match all messages containing "added", but also those containing
+ "add", "additional", "Additional", "adds", etc... via stemming.
(and Bob Marley)
- Match messages containing words "Bob" and "Marley", or their
- stems The words need not be adjacent.
+ Match messages containing words "Bob" and "Marley", or their stems
+ The words need not be adjacent.
(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
- Match the phrase "quick" followed by "fox" in phrase fields (or
- outside a field). Match the literal string in a term field.
+ Match the phrase "quick" followed by "fox" in phrase fields (or outâ
+ side a field). Match the literal string in a term field.
(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 (infix "date:2009-11-18..2009-11-18") (tag unread))
+ Match messages in the given date range with tag unread.
(starts-with prelim)
- Match any words starting with "prelim".
+ Match any words starting with "prelim".
- (subject quick brown fox )
- Match messages whose subject contains "quick" (anywhere,
- stemmed) and the phrase "brown fox".
+ (subject quick "brown fox")
+ Match messages whose subject contains "quick" (anywhere, stemmed)
+ and the phrase "brown fox".
(subject (starts-with prelim))
- Matches any word starting with "prelim", inside a message subâ
- ject.
+ Matches any word starting with "prelim", inside a message subject.
- (subject (starts-wih quick) brown fox )
- Match messages whose subject contains "quick brown fox", but
- also "brown fox quicksand".
+ (subject (starts-wih 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")
+ Match any (messages in) a thread containing a message from "â
+ bob@example.com" and a (possibly distinct) message to "bob at examâ
+ ple.com")
- (to (or bob@example.com mallory@example.org)) (or (to bob@example.com)
+ (to (or bob@example.com mallory@example.org)) (or (to bob@example.com)
(to mallory@example.org))
- Match in the "To" or "Cc" headers, "bob@example.com", "â
- mallory@example.org", and also "bob@example.com.au" since it
- contains the adjacent triple "bob", "example", "com".
+ Match in the "To" or "Cc" headers, "bob@example.com", "â
+ mallory@example.org", and also "bob@example.com.au" since it conâ
+ tains the adjacent triple "bob", "example", "com".
(not (to *))
- Match messages with an empty or invalid 'To' and 'Cc' field.
+ Match messages with an empty or invalid 'To' and 'Cc' field.
(List *)
- Match messages with a non-empty List-Id header, assuming configâ
- uration index.header.List=List-Id
+ Match messages with a non-empty List-Id header, assuming configuraâ
+ tion index.header.List=List-Id
MACRO EXAMPLES
@@ -253,7 +257,7 @@
$ notmuch config set squery.Outer '(macro (x y) (and (tag ,x) (Inner ,y)))'
$ notmuch search --query=sexp '(Outer inbox maildir)'
- Parameters can be re-used to reduce boilerplate. Any field, including
+ Parameters can be re-used to reduce boilerplate. Any field, including
user defined fields is permitted within a macro.
$ notmuch config set squery.About '(macro (name) (or (subject ,name) (List ,name)))'
@@ -262,7 +266,7 @@
NOTES
- [1] Technically macros impliment lazy evaluation and lexical scope.
+ [1] Technically macros impliment 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.
@@ -272,13 +276,13 @@
[4] a.k.a. boolean prefixes
- [5] Due to the implemention of phrase fields in Xapian, regex queries
+ [5] Due to the implemention of phrase fields in Xapian, regex queries
could only match individual words.
- [6] Due the the way body is implemented in notmuch, this modifier is
+ [6] Due the the way body is implemented in notmuch, this modifier is
not supported in the body field.
- [7] Due to the way recursive path queries are implemented in notmuch,
+ [7] Due to the way recursive path queries are implemented in notmuch,
this modifier is not supported in the path field.
@@ -289,7 +293,7 @@
COPYRIGHT
- 2009-2021, Carl Worth and many others
+ 2009-2022, Carl Worth and many others
-0.34
+0.35