]> git.cworth.org Git - notmuch/commitdiff
CLI/config support saving s-expression queries
authorDavid Bremner <david@tethera.net>
Tue, 24 Aug 2021 15:17:38 +0000 (08:17 -0700)
committerDavid Bremner <david@tethera.net>
Sun, 5 Sep 2021 00:07:19 +0000 (17:07 -0700)
This commit does not enable using saved s-expression queries, only
saving and retrieving them from the config file or the database. Use
in queries will be enabled in a following commit.

doc/man1/notmuch-config.rst
notmuch-config.c
test/T081-sexpr-search.sh

index 07a9eaf0bec3745f1cb6b4635f6caa7649f9d58f..7d90175801cb014819a1468259424dd804785a6a 100644 (file)
@@ -251,6 +251,11 @@ paths are presumed relative to `$HOME` for items in section
     :any:`notmuch-search-terms(7)` for more information about named
     queries.
 
+**squery.<name>**
+    Expansion for named query called <name>, using s-expression syntax. See
+    :any:`notmuch-sexp-queries(7)` for more information about s-expression
+    queries.
+
 FILES
 =====
 
index c0c91cc870e451257c0f2a1837fc24c1bdadb236..db00a26cd4327ce87f148f49bca9994450470656 100644 (file)
@@ -517,6 +517,7 @@ static const struct config_key
     { "index.decrypt",   false,  NULL },
     { "index.header.",   true,   validate_field_name },
     { "query.",          true,   NULL },
+    { "squery.",         true,   validate_field_name },
 };
 
 static const config_key_info_t *
index 22e533352efc760569f7c58bf848566c79003301..e0de030408e6f574e204719503be6e4819eece41 100755 (executable)
@@ -812,4 +812,17 @@ notmuch search 'List:"notmuch notmuchmail org"' | notmuch_search_sanitize > EXPE
 notmuch search --query=sexp '(List notmuch notmuchmail org)' | notmuch_search_sanitize > OUTPUT
 test_expect_equal_file EXPECTED OUTPUT
 
+test_begin_subtest "check saved query name"
+test_expect_code 1 "notmuch config set squery.test '(subject utf8-sübjéct)'"
+
+test_begin_subtest "roundtrip saved query (database)"
+notmuch config set --database squery.Test '(subject utf8-sübjéct)'
+output=$(notmuch config get squery.Test)
+test_expect_equal "$output" '(subject utf8-sübjéct)'
+
+test_begin_subtest "roundtrip saved query"
+notmuch config set squery.Test '(subject override subject)'
+output=$(notmuch config get squery.Test)
+test_expect_equal "$output" '(subject override subject)'
+
 test_done