]> git.notmuchmail.org Git - notmuch-wiki/blobdiff - faq.mdwn
News for release 0.38.3
[notmuch-wiki] / faq.mdwn
index 92a2ef6ba9ffd1cf1f66492ebb021771c1bf52e9..a498e5b9744c15e4c692a85085700080954d587a 100644 (file)
--- a/faq.mdwn
+++ b/faq.mdwn
@@ -1,6 +1,8 @@
 [[!img notmuch-logo.png alt="Notmuch logo" class="left"]]
 # Frequently Asked Questions
 
+See also [[Less Frequently Asked Questions|lfaq]].
+
 [[!toc levels=2]]
 
 ## How come this query matches mails in folder:2013? `notmuch search --output=files folder:inbox`
@@ -12,6 +14,30 @@ with the same message (i.e. the files have identical Message-ID). A
 `folder:` search will match the folder of any of the files. The
 `--output=files` option outputs all the files of all matching messages.
 
+## How come my query does not list all the emails on the file system?
+
+You may have emails that have some of the [exclude
+tags](https://notmuchmail.org/doc/latest/man1/notmuch-search.html#cmdoption-search-exclude)
+
+Notmuch can be configured to exclude some tags while searching. You
+can list excluded tags with
+
+    $ notmuch config get search.exclude_tags
+    deleted
+
+To verify this is the reason of the discrepancy, add the excluded tags
+explicitly to your query. If the problematic query is
+
+    $ notmuch search --output=files -- folder:inbox
+
+Try
+
+    $ notmuch search --output=files -- folder:inbox tag:deleted
+
+You can also temporarily turn of the excluded tags feature with `--exclude`.
+
+    $ notmuch search --output=files --exclude=false -- folder:inbox
+
 ## Shouldn't notmuch support inline PGP?
 
 [Why it might not be a good idea](https://dkg.fifthhorseman.net/notes/inline-pgp-harmful/)
@@ -59,8 +85,8 @@ Next, use that to query the messages:
 
 ## How do I search for punctuation, specific special characters, or regexp?
 
-Please see the [[notmuch-search-terms manual
-page|manpages/notmuch-search-terms-7]] first.
+Please see the [notmuch-search-terms manual
+page](https://notmuchmail.org/doc/latest/man7/notmuch-search-terms.html) first.
 
 The main thing to understand is that Xapian, and therefore Notmuch, searches are
 closer to natural language searches than regular expression
@@ -69,6 +95,17 @@ searches. Punctuation is mostly ignored.
 The boolean prefix searches (see Boolean and Probabilistic Prefixes in the man
 page), such as tag: or path: searches, need an exact match.
 
+For [specific
+fields](https://notmuchmail.org/doc/latest/man7/notmuch-search-terms.html#search-prefixes)
+it is possible to use regex searches (although these are often
+noticeably slower than native Xapian queries). The limited set of
+fields is a quirk of implementation which requires a Xapian "value
+slot" in the database schema. Adding regex support for more fields to
+would require of adding more value slots to the schema. The
+performance impact of that needs to be experimentally evaluated, and
+assuming it is not too bad, some database upgrade code would need to
+be written.
+
 ## How do I search for folders or paths with spaces?
 
 The spaces in the names must be escaped. For example if you use bash or zsh,
@@ -95,42 +132,26 @@ This is required in order to run the `pre-new` and `post-new` hooks.
 No. Tagging is message based.
 
 It is possible, however, to make tags propagate to all messages in a thread
-using a little bit of scripting in the [[post-new
-hook|manpages/notmuch-hooks-5]]. For example, to add the muted tag to all
+using a little bit of scripting in the [post-new
+hook](https://notmuchmail.org/doc/latest/man5/notmuch-hooks.html). For example, to add the muted tag to all
 messages in threads that have at least one message with the muted tag:
 
         THREAD_TAGS="muted"
         for tag in "$THREAD_TAGS"; do
-                notmuch tag +$tag $(notmuch search --output=threads tag:$tag)
+                notmuch tag +$tag thread:{tag:$tag}
         done
 
-You can add other tags to `THREAD_TAGS` as needed. Note that this is one way
-only; you need to explicitly remove the tag from all the messages in a thread to
-stop it from propagating again.
+You can add other tags to `THREAD_TAGS` as needed. Note that this is
+one way only; you need to explicitly remove the tag from all the
+messages in a thread to stop it from propagating again. See
+[notmuch-search-terms](https://notmuchmail.org/doc/latest/man7/notmuch-search-terms.html)
+for discussion of `thread:{}` queries.
 
 
 ## How can I extract a git patchset for an email thread?
 
-See [notmuch-extract-patch](https://github.com/aaptel/notmuch-extract-patch).
-
-## T150-tagging.sh is failing with Xapian 1.4.6
-
-This is (probably) a bug in this point release of Xapian, should be
-fixed in 1.4.7.  Try reverting Xapian commit
-`093999529acc2f86900d91fed0c7f7af301ab94a`, e.g. with the following
-patch.
-
-
-    index 80e578b85..a47f14a68 100644
-    --- a/xapian-core/backends/glass/glass_postlist.cc
-    +++ b/xapian-core/backends/glass/glass_postlist.cc
-    @@ -759,7 +759,7 @@ GlassPostList::open_nearby_postlist(const std::string & term_,
-         (void)need_pos;
-         if (term_.empty())
-            RETURN(NULL);
-    -    if (!this_db.get() || this_db->postlist_table.is_modified())
-    +    if (!this_db.get() || this_db->postlist_table.is_writable())
-            RETURN(NULL);
-         RETURN(new GlassPostList(this_db, term_, cursor->clone()));
-     }
+See
+[notmuch-extract-patch](https://github.com/aaptel/notmuch-extract-patch). See
+also notmuch-extract-patch in
+[mailscripts](https://git.spwhitton.name/mailscripts/).