]> git.cworth.org Git - notmuch-wiki/blobdiff - faq.mdwn
point to the new subscribe/unsubscribe page
[notmuch-wiki] / faq.mdwn
index 1cc224e8ed5d3c1602366c0a8e2a80a8db4f80a8..9d47f1bad6c8e242c31bfce7b248b21889e18f77 100644 (file)
--- a/faq.mdwn
+++ b/faq.mdwn
@@ -45,7 +45,7 @@ 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
 ## 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,
+page|manpages/notmuch-search-terms-7]] first.
 
 The main thing to understand is that Xapian, and therefore Notmuch, searches are
 closer to natural language searches than regular expression
 
 The main thing to understand is that Xapian, and therefore Notmuch, searches are
 closer to natural language searches than regular expression
@@ -53,3 +53,69 @@ 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.
 
 The boolean prefix searches (see Boolean and Probabilistic Prefixes in the man
 page), such as tag: or path: searches, need an exact match.
+
+## 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,
+you can search for messages with tag `foo` in folder `INBOX/folder with spaces`
+with this query:
+
+        $ notmuch search tag:foo 'folder:"INBOX/folder with spaces"'
+
+## How do I search for the `List-Id:` header?
+
+See `index.header.<prefix>` in `notmuch-config(1)` for details. TLD;R:
+
+    notmuch config set index.header.List List-Id
+
+## Can I use notmuch with grsec?
+
+Sure! It works out of the box. If you have TPE enabled (trusted path execution),
+make sure the user is executing the script belongs to the
+`kernel.grsecurity.tpe_gid` (in debian this is grsec-tpe).
+This is required in order to run the `pre-new` and `post-new` hooks.
+
+## Can I tag threads?
+
+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
+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)
+        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.
+
+
+## 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()));
+     }
+