X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=faq.mdwn;h=2e7fa10a03424e80f43493122931f9c295e8c0b9;hb=ac34b9b44bcc8693030be54b09885f51433c6bdd;hp=2558eb3869a9f9566bc91dca0ca5c4282e57010c;hpb=a25e1fa40e075141313c4232d445e690aa1b41d0;p=notmuch-wiki diff --git a/faq.mdwn b/faq.mdwn index 2558eb3..2e7fa10 100644 --- a/faq.mdwn +++ b/faq.mdwn @@ -27,11 +27,26 @@ See [[excluding]]. See help for `message-citation-line-format` for details. +## What are sexp queries + +For the syntax of sexp queries, see [the manual +page](https://notmuchmail.org/doc/latest/man7/notmuch-sexp-queries.html). + +To see if your version of notmuch supports them, run + + $ notmuch config get built_with.sexp_queries + ## How do I search for messages that have no tags? -Unfortunately, there is no way to do this directly. +To do this directly, you need a recent notmuch compiled with sexp +queries (see above). You can then run + + $ notmuch search --query=sexp --output=messages '(not (tag *))' -However, it's possible to accomplish this using two searches in shell. First, +The same style of query should work for any prefix, even user defined +prefixes like `List` (see below). + +Otherwise, it's possible to accomplish this using two searches in shell. First, you need to query all tags in the database, and transform the result into a query that matches messages that have none of those tags: @@ -54,20 +69,19 @@ 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. +## 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? -Currently there is no way to search for `List-Id:`. As a workaround, try using a -`to:` prefix search (which covers both `To:` and `Cc:` headers) on the mailing -list address. +See `index.header.` in `notmuch-config(1)` for details. TLD;R: -Limitations in the duplicate message handling are the main reason for not -indexing the `List-Id:` header. If you receive the same message via both the -list and directly (by way of `To:` or `Cc:`), only the first message encountered -will be indexed. Only the message received via the list will have `List-Id:`, -but you would expect a `List-Id:` search to find the message, regardless of the -order in which the duplicates were received. This is a more general problem than -just `List-Id:`, and once this has been resolved, adding `List-Id:` indexing is -trivial. + notmuch config set index.header.List List-Id ## Can I use notmuch with grsec? @@ -99,3 +113,24 @@ stop it from propagating again. 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())); + } +