aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--emacs/notmuch-lib.el5
-rwxr-xr-xtest/T310-emacs.sh1
2 files changed, 4 insertions, 2 deletions
diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el
index fa7646fe..959764e3 100644
--- a/emacs/notmuch-lib.el
+++ b/emacs/notmuch-lib.el
@@ -426,7 +426,10 @@ user-friendly queries."
(save-match-data
(if (or (equal term "")
- (string-match "[ ()]\\|^\"" term))
+ ;; To be pessimistic, only pass through terms composed
+ ;; entirely of ASCII printing characters other than ", (,
+ ;; and ).
+ (string-match "[^!#-'*-~]" term))
;; Requires escaping
(concat "\"" (replace-regexp-in-string "\"" "\"\"" term t t) "\"")
term)))
diff --git a/test/T310-emacs.sh b/test/T310-emacs.sh
index 6c18bbd7..ac966e52 100755
--- a/test/T310-emacs.sh
+++ b/test/T310-emacs.sh
@@ -954,7 +954,6 @@ output=$(notmuch search --output=messages 'tag:search-global-race-tag')
test_expect_equal "$output" "id:$gen_msg_id_1"
test_begin_subtest "Term escaping"
-test_subtest_known_broken
output=$(test_emacs "(mapcar 'notmuch-escape-boolean-term (list
\"\"
\"abc\`~\!@#\$%^&*-=_+123\"