From b12aada52d682c45aa1e66e13dc448dc894aee79 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Thu, 1 Oct 2026 10:31:51 +0200 Subject: fix: double a quote in a search term, as notmuch expects SearchTerm::quote() escaped an embedded double quote with a backslash. notmuch has no backslash escape inside a quoted term: it doubles the quote, and a backslash-escaped one ENDS the term. Selected text holding a quote therefore let the rest of the selection reach the query as syntax. Measured on a throwaway index: under a `tag:nomatch and` scope, the backslash form of `x " or tag:inbox or id:"` matched every message, while the doubled form matched none. quote() now doubles the quote and leaves a backslash alone, since notmuch reads it literally. Truncation still runs first, so a cut cannot split a doubled pair. Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'CHANGELOG.md') diff --git a/CHANGELOG.md b/CHANGELOG.md index 6701417..a92ff4e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,12 @@ point at which they are stable. - The status bar renders its messages as plain text. +### Fixed + +- Searching on selected text containing a double quote no longer lets the rest + of the selection escape the query. Quotes are now doubled, which is notmuch's + own escape; the backslash form ended the quoted term early. + ## [0.30.0] - 2026-09-29 A calendar window over the vdirsyncer vdir, with a month grid, an agenda and -- cgit v1.2.3