[the GNU General Public License](https://www.gnu.org/licenses/gpl.txt),
either version 3.0 or at your option any later version.
-<h2>0.29</h2>
+<h2>0.30</h2>
<h3> OPTION SYNTAX</h3>
<pre>
All options accepting an argument can be used with '=' or ':' as a sep‐
- arator. For the cases where it's not ambiguous (in particular excluding
- boolean options), a space can also be used. The following are all
- equivalent:
+ arator. Except for boolean options (which would be ambiguous), a space
+ can also be used as a separator. The following are all equivalent:
notmuch --config=alt-config config get user.name
notmuch --config:alt-config config get user.name
of notmuch.
<b>NOTMUCH</b>_<b>CONFIG</b>
- Specifies the location of the notmuch configuration file. Not‐
- much will use ${HOME}/.notmuch-config if this variable is not
+ Specifies the location of the notmuch configuration file. Not‐
+ much will use ${HOME}/.notmuch-config if this variable is not
set.
<b>NOTMUCH</b>_<b>TALLOC</b>_<b>REPORT</b>
- Location to write a talloc memory usage report. See <b>tal-</b>
+ Location to write a talloc memory usage report. See <b>tal-</b>
<b>loc</b>_<b>enable</b>_<b>leak</b>_<b>report</b>_<b>full</b> in <b>talloc</b>(3) for more information.
<b>NOTMUCH</b>_<b>DEBUG</b>_<b>QUERY</b>
- If set to a non-empty value, the notmuch library will print (to
+ If set to a non-empty value, the notmuch library will print (to
stderr) Xapian queries it constructs.
</pre>
<h2>SEE ALSO</h2>
<pre>
- <a href='../notmuch-address-1/'>notmuch-address</a>(1), <a href='../notmuch-compact-1/'>notmuch-compact</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>not‐</a>
+ <a href='../notmuch-address-1/'>notmuch-address</a>(1), <a href='../notmuch-compact-1/'>notmuch-compact</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>not‐</a>
<a href='../notmuch-count-1/'>much-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>notmuch-hooks</a>(5), <a href='../notmuch-insert-1/'>notmuch-insert</a>(1),
- <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-properties-7/'>notmuch-properties</a>(7), <a href='../notmuch-reindex-1/'>notmuch-reindex</a>(1), <a href='../notmuch-reply-1/'>not‐</a>
- <a href='../notmuch-reply-1/'>much-reply</a>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1), <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>not‐</a>
+ <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-properties-7/'>notmuch-properties</a>(7), <a href='../notmuch-reindex-1/'>notmuch-reindex</a>(1), <a href='../notmuch-reply-1/'>not‐</a>
+ <a href='../notmuch-reply-1/'>much-reply</a>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1), <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>not‐</a>
<a href='../notmuch-search-terms-7/'>much-search-terms</a>(7), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>notmuch-tag</a>(1)
The notmuch website: <b>https://notmuchmail.org</b>
<h2>CONTACT</h2>
<pre>
- Feel free to send questions, comments, or kudos to the notmuch mailing
- list <<u>notmuch@notmuchmail.org</u>> . Subscription is not required before
+ Feel free to send questions, comments, or kudos to the notmuch mailing
+ list <<u>notmuch@notmuchmail.org</u>> . Subscription is not required before
posting, but is available from the notmuchmail.org website.
- Real-time interaction with the Notmuch community is available via IRC
+ Real-time interaction with the Notmuch community is available via IRC
(server: irc.freenode.net, channel: #notmuch).
</pre>
<h2>COPYRIGHT</h2>
<pre>
- 2009-2019, Carl Worth and many others
+ 2009-2020, Carl Worth and many others
</pre>
-<h2>0.29</h2>
+<h2>0.30</h2>
<h2>COPYRIGHT</h2>
<pre>
- 2009-2019, Carl Worth and many others
+ 2009-2020, Carl Worth and many others
</pre>
-<h2>0.29</h2>
+<h2>0.30</h2>
<h2>COPYRIGHT</h2>
<pre>
- 2009-2019, Carl Worth and many others
+ 2009-2020, Carl Worth and many others
</pre>
-<h2>0.29</h2>
+<h2>0.30</h2>
<b>list</b> Every configuration item is printed to stdout, each on a sepa‐
rate line of the form:
- *section*.\ *item*\ =\ *value*
+ section.item=value
No additional whitespace surrounds the dot or equals sign char‐
acters. In a multiple-value item (a list), the values are sepa‐
Default: <b>true</b>.
- <b>crypto.gpg</b>_<b>path</b>
- Name (or full path) of gpg binary to use in verification and
- decryption of PGP/MIME messages. NOTE: This configuration item
- is deprecated, and will be ignored if notmuch is built against
- GMime 3.0 or later.
-
- Default: <b>gpg</b>.
-
<b>index.decrypt</b> <b>[STORED</b> <b>IN</b> <b>DATABASE]</b>
- Policy for decrypting encrypted messages during indexing. Must
+ Policy for decrypting encrypted messages during indexing. Must
be one of: <b>false</b>, <b>auto</b>, <b>nostash</b>, or <b>true</b>.
- When indexing an encrypted e-mail message, if this variable is
- set to <b>true</b>, notmuch will try to decrypt the message and index
- the cleartext, stashing a copy of any discovered session keys
+ When indexing an encrypted e-mail message, if this variable is
+ set to <b>true</b>, notmuch will try to decrypt the message and index
+ the cleartext, stashing a copy of any discovered session keys
for the message. If <b>auto</b>, it will try to index the cleartext if
- a stashed session key is already known for the message (e.g.
- from a previous copy), but will not try to access your secret
+ a stashed session key is already known for the message (e.g.
+ from a previous copy), but will not try to access your secret
keys. Use <b>false</b> to avoid decrypting even when a stashed session
key is already present.
- <b>nostash</b> is the same as <b>true</b> except that it will not stash
+ <b>nostash</b> is the same as <b>true</b> except that it will not stash
newly-discovered session keys in the database.
- From the command line (i.e. during <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-insert-1/'>not‐</a>
- <a href='../notmuch-insert-1/'>much-insert</a>(1), or <a href='../notmuch-reindex-1/'>notmuch-reindex</a>(1)), the user can override
- the database's stored decryption policy with the <b>--decrypt=</b>
+ From the command line (i.e. during <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-insert-1/'>not‐</a>
+ <a href='../notmuch-insert-1/'>much-insert</a>(1), or <a href='../notmuch-reindex-1/'>notmuch-reindex</a>(1)), the user can override
+ the database's stored decryption policy with the <b>--decrypt=</b>
option.
- Here is a table that summarizes the functionality of each of
+ Here is a table that summarizes the functionality of each of
these policies:
┌──────────────┬───────┬──────┬─────────┬──────┐
├──────────────┼───────┼──────┼─────────┼──────┤
│Delete
│stashed ses‐ │ │ │ │ │
- │sion keys on │ │ │ │ │
+ │sion keys on │ │ │ │ │
│reindex │ │ │ │ │
└──────────────┴───────┴──────┴─────────┴──────┘
- Stashed session keys are kept in the database as properties
+ Stashed session keys are kept in the database as properties
associated with the message. See <b>session-key</b> in <a href='../notmuch-properties-7/'>notmuch-proper‐</a>
<a href='../notmuch-properties-7/'>ties</a>(7) for more details about how they can be useful.
- Be aware that the notmuch index is likely sufficient (and a
- stashed session key is certainly sufficient) to reconstruct the
- cleartext of the message itself, so please ensure that the not‐
- much message index is adequately protected. DO NOT USE
- <b>index.decrypt=true</b> or <b>index.decrypt=nostash</b> without considering
+ Be aware that the notmuch index is likely sufficient (and a
+ stashed session key is certainly sufficient) to reconstruct the
+ cleartext of the message itself, so please ensure that the not‐
+ much message index is adequately protected. DO NOT USE
+ <b>index.decrypt=true</b> or <b>index.decrypt=nostash</b> without considering
the security of your index.
Default: <b>auto</b>.
<b>index.header.<prefix></b> <b>[STORED</b> <b>IN</b> <b>DATABASE]</b>
- Define the query prefix <prefix>, based on a mail header. For
- example <b>index.header.List=List-Id</b> will add a probabilistic pre‐
- fix <b>List:</b> that searches the <b>List-Id</b> field. User defined pre‐
+ Define the query prefix <prefix>, based on a mail header. For
+ example <b>index.header.List=List-Id</b> will add a probabilistic pre‐
+ fix <b>List:</b> that searches the <b>List-Id</b> field. User defined pre‐
fixes must not start with 'a'...'z'; in particular adding a pre‐
- fix with same name as a predefined prefix is not supported. See
- <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7) for a list of existing prefixes, and an
+ fix with same name as a predefined prefix is not supported. See
+ <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7) for a list of existing prefixes, and an
explanation of probabilistic prefixes.
<b>built</b>_<b>with.<name></b>
- Compile time feature <name>. Current possibilities include "com‐
- pact" (see <a href='../notmuch-compact-1/'>notmuch-compact</a>(1)) and "field_processor" (see <a href='../notmuch-search-terms-7/'>not‐</a>
- <a href='../notmuch-search-terms-7/'>much-search-terms</a>(7)).
+ Compile time feature <name>. Current possibilities include
+ "retry_lock" (configure option, included by default). (since
+ notmuch 0.30, "compact" and "field_processor" are always
+ included.)
<b>query.<name></b> <b>[STORED</b> <b>IN</b> <b>DATABASE]</b>
Expansion for named query called <name>. See <a href='../notmuch-search-terms-7/'>not‐</a>
<h2>COPYRIGHT</h2>
<pre>
- 2009-2019, Carl Worth and many others
+ 2009-2020, Carl Worth and many others
</pre>
-<h2>0.29</h2>
+<h2>0.30</h2>
<h2>COPYRIGHT</h2>
<pre>
- 2009-2019, Carl Worth and many others
+ 2009-2020, Carl Worth and many others
</pre>
-<h2>0.29</h2>
+<h2>0.30</h2>
<h2>COPYRIGHT</h2>
<pre>
- 2009-2019, Carl Worth and many others
+ 2009-2020, Carl Worth and many others
</pre>
-<h2>0.29</h2>
+<h2>0.30</h2>
<h2>COPYRIGHT</h2>
<pre>
- 2009-2019, Carl Worth and many others
+ 2009-2020, Carl Worth and many others
</pre>
-<h2>0.29</h2>
+<h2>0.30</h2>
<h2>COPYRIGHT</h2>
<pre>
- 2009-2019, Carl Worth and many others
+ 2009-2020, Carl Worth and many others
</pre>
-<h2>0.29</h2>
+<h2>0.30</h2>
<h2>COPYRIGHT</h2>
<pre>
- 2009-2019, Carl Worth and many others
+ 2009-2020, Carl Worth and many others
</pre>
-<h2>0.29</h2>
+<h2>0.30</h2>
<h2>COPYRIGHT</h2>
<pre>
- 2009-2019, Carl Worth and many others
+ 2009-2020, Carl Worth and many others
</pre>
-<h2>0.29</h2>
+<h2>0.30</h2>
tion of the algorithm-specific key. For example, an AES-128 key
might be stashed in a notmuch property as: <b>ses-</b>
<b>sion-key=7:14B16AF65536C28AF209828DFE34C9E0</b>.
+
+ <b>index.repaired</b>
+ Some messages arrive in forms that are confusing to view; they can
+ be mangled by mail transport agents, or the sending mail user agent
+ may structure them in a way that is confusing. If notmuch knows how
+ to both detect and repair such a problematic message, it will do so
+ during indexing.
+
+ If it applies a message repair during indexing, it will use the
+ <b>index.repaired</b> property to note the type of repair(s) it performed.
+
+ <b>index.repaired=skip-protected-headers-legacy-display</b> indicates that
+ when indexing the cleartext of an encrypted message, notmuch skipped
+ over a "legacy-display" text/rfc822-headers part that it found in
+ that message, since it was able to index the built-in protected
+ headers directly.
+
+ <b>index.repaired=mixedup</b> indicates the repair of a "Mixed Up"
+ encrypted PGP/MIME message, a mangling typically produced by Micro‐
+ soft's
+ <u>https://tools.ietf.org/html/draft-dkg-openpgp-pgpmime-message-mangling</u>
+ for more information.
</pre>
<h2>SEE ALSO</h2>
<pre>
<a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-insert-1/'>notmuch-insert</a>(1), <a href='../notmuch-new-1/'>not‐</a>
- <a href='../notmuch-new-1/'>much-new</a>(1), <a href='../notmuch-reindex-1/'>notmuch-reindex</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1),
+ <a href='../notmuch-new-1/'>much-new</a>(1), <a href='../notmuch-reindex-1/'>notmuch-reindex</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1),
<a href='../notmuch-show-1/'>notmuch-show</a>(1), <b>*notmuch-search-terms</b>(7)
</pre>
<h2>COPYRIGHT</h2>
<pre>
- 2009-2019, Carl Worth and many others
+ 2009-2020, Carl Worth and many others
</pre>
-<h2>0.29</h2>
+<h2>0.30</h2>
<h2>COPYRIGHT</h2>
<pre>
- 2009-2019, Carl Worth and many others
+ 2009-2020, Carl Worth and many others
</pre>
-<h2>0.29</h2>
+<h2>0.30</h2>
<h2>COPYRIGHT</h2>
<pre>
- 2009-2019, Carl Worth and many others
+ 2009-2020, Carl Worth and many others
</pre>
-<h2>0.29</h2>
+<h2>0.30</h2>
<h2>COPYRIGHT</h2>
<pre>
- 2009-2019, Carl Worth and many others
+ 2009-2020, Carl Worth and many others
</pre>
-<h2>0.29</h2>
+<h2>0.30</h2>
<h2>COPYRIGHT</h2>
<pre>
- 2009-2019, Carl Worth and many others
+ 2009-2020, Carl Worth and many others
</pre>
-<h2>0.29</h2>
+<h2>0.30</h2>
terms to match against specific portions of an email, (where <brackets>
indicate user-supplied values).
- If notmuch is built with <b>Xapian</b> <b>Field</b> <b>Processors</b> (see below) some of
- the prefixes with <regex> forms can be also used to restrict the
- results to those whose value matches a regular expression (see
+ Some of the prefixes with <regex> forms can be also used to restrict
+ the results to those whose value matches a regular expression (see
<b>regex</b>(7)) delimited with //, for example:
notmuch search 'from:"/bob@.*[.]example[.]com/"'
Match terms in the body of messages.
<b>from:<name-or-address></b> <b>or</b> <b>from:/<regex>/</b>
- The <b>from:</b> prefix is used to match the name or address of the
+ The <b>from:</b> prefix is used to match the name or address of the
sender of an email message.
<b>to:<name-or-address></b>
- The <b>to:</b> prefix is used to match the names or addresses of any
+ The <b>to:</b> prefix is used to match the names or addresses of any
recipient of an email message, (whether To, Cc, or Bcc).
<b>subject:<word-or-quoted-phrase></b> <b>or</b> <b>subject:/<regex>/</b>
- Any term prefixed with <b>subject:</b> will match only text from the
- subject of an email. Searching for a phrase in the subject is
- supported by including quotation marks around the phrase, imme‐
+ Any term prefixed with <b>subject:</b> will match only text from the
+ subject of an email. Searching for a phrase in the subject is
+ supported by including quotation marks around the phrase, imme‐
diately following <b>subject:</b>.
<b>attachment:<word></b>
- The <b>attachment:</b> prefix can be used to search for specific file‐
+ The <b>attachment:</b> prefix can be used to search for specific file‐
names (or extensions) of attachments to email messages.
<b>mimetype:<word></b>
- The <b>mimetype:</b> prefix will be used to match text from the con‐
- tent-types of MIME parts within email messages (as specified by
+ The <b>mimetype:</b> prefix will be used to match text from the con‐
+ tent-types of MIME parts within email messages (as specified by
the sender).
<b>tag:<tag></b> <b>or</b> <b>tag:/<regex>/</b> <b>or</b> <b>is:<tag></b> <b>or</b> <b>is:/<regex>/</b>
- For <b>tag:</b> and <b>is:</b> valid tag values include <b>inbox</b> and <b>unread</b> by
- default for new messages added by <b>notmuch</b> <b>new</b> as well as any
+ For <b>tag:</b> and <b>is:</b> valid tag values include <b>inbox</b> and <b>unread</b> by
+ default for new messages added by <b>notmuch</b> <b>new</b> as well as any
other tag values added manually with <b>notmuch</b> <b>tag</b>.
<b>id:<message-id></b> <b>or</b> <b>mid:<message-id></b> <b>or</b> <b>mid:/<regex>/</b>
- For <b>id:</b> and <b>mid:</b>, message ID values are the literal contents of
- the Message-ID: header of email messages, but without the '<',
+ For <b>id:</b> and <b>mid:</b>, message ID values are the literal contents of
+ the Message-ID: header of email messages, but without the '<',
'>' delimiters.
<b>thread:<thread-id></b>
- The <b>thread:</b> prefix can be used with the thread ID values that
- are generated internally by notmuch (and do not appear in email
- messages). These thread ID values can be seen in the first col‐
+ The <b>thread:</b> prefix can be used with the thread ID values that
+ are generated internally by notmuch (and do not appear in email
+ messages). These thread ID values can be seen in the first col‐
umn of output from <b>notmuch</b> <b>search</b>
<b>thread:{<notmuch</b> <b>query>}</b>
- If notmuch is built with <b>Xapian</b> <b>Field</b> <b>Processors</b> (see below),
- threads may be searched for indirectly by providing an arbitrary
+ Threads may be searched for indirectly by providing an arbitrary
notmuch query in <b>{}</b>. For example, the following returns threads
containing a message from mallory and one (not necessarily the
same message) with Subject containing the word "crypto".
<b>query:<name></b>
The <b>query:</b> prefix allows queries to refer to previously saved
- queries added with <a href='../notmuch-config-1/'>notmuch-config</a>(1). Named queries are only
- available if notmuch is built with <b>Xapian</b> <b>Field</b> <b>Processors</b> (see
- below).
+ queries added with <a href='../notmuch-config-1/'>notmuch-config</a>(1).
<b>property:<key>=<value></b>
The <b>property:</b> prefix searches for messages with a particular
since 1970-01-01 00:00:00 UTC. For example:
date:@<initial-timestamp>..@<final-timestamp>
- date:<expr>..! can be used as a shorthand for date:<expr>..<expr>. The
- expansion takes place before interpretation, and thus, for example,
- date:monday..! matches from the beginning of Monday until the end of
- Monday. With <b>Xapian</b> <b>Field</b> <b>Processor</b> support (see below), non-range
- date queries such as date:yesterday will work, but otherwise will give
- unexpected results; if in doubt use date:yesterday..!
-
- Currently, we do not support spaces in range expressions. You can
+ Currently, spaces in range expressions are not supported. You can
replace the spaces with '_', or (in most cases) '-', or (in some cases)
- leave the spaces out altogether. Examples in this man page use spaces
+ leave the spaces out altogether. Examples in this man page use spaces
for clarity.
- Open-ended ranges are supported (since Xapian 1.2.1), i.e. it's possi‐
- ble to specify date:..<until> or date:<since>.. to not limit the start
- or end time, respectively. Pre-1.2.1 Xapian does not report an error on
- open ended ranges, but it does not work as expected either.
+ Open-ended ranges are supported. I.e. it's possible to specify
+ date:..<until> or date:<since>.. to not limit the start or end time,
+ respectively.
+</pre>
+
+<h3> Single expression</h3>
+<pre>
+ date:<expr> works as a shorthand for date:<expr>..<expr>. For example,
+ date:monday matches from the beginning of Monday until the end of Mon‐
+ day.
</pre>
<h3> Relative date and time</h3>
Some time zone codes, e.g. UTC, EET.
</pre>
-<h2>XAPIAN FIELD PROCESSORS</h2>
-<pre>
- Certain optional features of the notmuch query processor rely on the
- presence of the Xapian field processor API. You can determine if your
- notmuch was built against a sufficiently recent version of Xapian by
- running
-
- % notmuch config get built_with.field_processor
-
- Currently the following features require field processor support:
-
- · non-range date queries, e.g. "date:today"
-
- · named queries e.g. "query:my_special_query"
-
- · regular expression searches, e.g. "subject:/^\[SPAM\]/"
-
- · thread subqueries, e.g. "thread:{from:bob}"
-</pre>
-
<h2>SEE ALSO</h2>
<pre>
- <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not‐</a>
- <a href='../notmuch-hooks-5/'>much-hooks</a>(5), <a href='../notmuch-insert-1/'>notmuch-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reindex-1/'>notmuch-reindex</a>(1),
- <b>notmuch-properties</b>(1), <b>*notmuch-reply</b>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1), <a href='../notmuch-search-1/'>not‐</a>
+ <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not‐</a>
+ <a href='../notmuch-hooks-5/'>much-hooks</a>(5), <a href='../notmuch-insert-1/'>notmuch-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reindex-1/'>notmuch-reindex</a>(1),
+ <b>notmuch-properties</b>(1), <b>*notmuch-reply</b>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1), <a href='../notmuch-search-1/'>not‐</a>
<a href='../notmuch-search-1/'>much-search</a>(1), <b>*notmuch-show</b>(1), <a href='../notmuch-tag-1/'>notmuch-tag</a>(1)
</pre>
<h2>COPYRIGHT</h2>
<pre>
- 2009-2019, Carl Worth and many others
+ 2009-2020, Carl Worth and many others
</pre>
-<h2>0.29</h2>
+<h2>0.30</h2>
<h2>COPYRIGHT</h2>
<pre>
- 2009-2019, Carl Worth and many others
+ 2009-2020, Carl Worth and many others
</pre>
-<h2>0.29</h2>
+<h2>0.30</h2>
<h2>COPYRIGHT</h2>
<pre>
- 2009-2019, Carl Worth and many others
+ 2009-2020, Carl Worth and many others
</pre>
-<h2>0.29</h2>
+<h2>0.30</h2>