Support this syntax for constincy with (data from to) ranges.
---
lib/parse-sexp.cc | 10 ++++++++--
test/T081-sexpr-search.sh | 2 --
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/lib/parse-sexp.cc b/lib/parse-sexp.cc
index 08fd7037..6282a456 100644
--- a/lib/parse-sexp.cc
+++ b/lib/parse-sexp.cc
@@ -504,14 +504,20 @@ _sexp_parse_range (notmuch_database_t *notmuch, const _sexp_prefix_t *prefix,
long from_idx, to_idx;
try {
- from_idx = std::stol (from);
+ if (EMPTY_STRING (from))
+ from_idx = 0L;
+ else
+ from_idx = std::stol (from);
} catch (std::logic_error &e) {
_notmuch_database_log (notmuch, "bad 'from' revision: '%s'\n", from);
return NOTMUCH_STATUS_BAD_QUERY_SYNTAX;
}
try {
- to_idx = std::stol (to);
+ if (EMPTY_STRING (to))
+ to_idx = LONG_MAX;
+ else
+ to_idx = std::stol (to);
} catch (std::logic_error &e) {
_notmuch_database_log (notmuch, "bad 'to' revision: '%s'\n", to);
return NOTMUCH_STATUS_BAD_QUERY_SYNTAX;
diff --git a/test/T081-sexpr-search.sh b/test/T081-sexpr-search.sh
index 31169fb5..896ffe5d 100755
--- a/test/T081-sexpr-search.sh
+++ b/test/T081-sexpr-search.sh
@@ -932,13 +932,11 @@ notmuch search --query=sexp "(and (lastmod $revision $revision2))" | notmuch_se
test_expect_equal_file EXPECTED OUTPUT
test_begin_subtest "lastmod query, lower bound only"
-test_subtest_known_broken
notmuch search lastmod:$revision.. | notmuch_search_sanitize > EXPECTED
notmuch search --query=sexp "(lastmod $revision \"\")" | notmuch_search_sanitize > OUTPUT
test_expect_equal_file_nonempty EXPECTED OUTPUT
test_begin_subtest "lastmod query, upper bound only"
-test_subtest_known_broken
notmuch search lastmod:..$revision2 | notmuch_search_sanitize > EXPECTED
notmuch search --query=sexp "(lastmod \"\" $revision2)" | notmuch_search_sanitize > OUTPUT
test_expect_equal_file_nonempty EXPECTED OUTPUT
--
2.35.2
_______________________________________________
notmuch mailing list -- notmuch@notmuchmail.org
To unsubscribe send an email to notmuch-leave@notmuchmail.org