mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-24 20:08:10 +01:00
notmuch-mutt: fix Xapian query construction
Spaces need to be stripped when querying the Message-Id, because notmuch stores them in Xapian with spaces stripped. All double-quote characters need to be doubled to escape them, otherwise they will be added as extra query terms outside the id.
This commit is contained in:
parent
d155f29eca
commit
6d383d4049
1 changed files with 9 additions and 2 deletions
|
@ -124,7 +124,11 @@ sub thread_action($$@) {
|
||||||
empty_maildir($results_dir);
|
empty_maildir($results_dir);
|
||||||
die "notmuch-mutt: cannot find Message-Id, abort.\n";
|
die "notmuch-mutt: cannot find Message-Id, abort.\n";
|
||||||
}
|
}
|
||||||
my $search_cmd = 'notmuch search --output=threads ' . shell_quote("id:$mid");
|
|
||||||
|
$mid =~ s/ //g; # notmuch strips spaces before storing Message-Id
|
||||||
|
$mid =~ s/"/""/g; # escape all double quote characters
|
||||||
|
|
||||||
|
my $search_cmd = 'notmuch search --output=threads ' . shell_quote(qq{id:"$mid"});
|
||||||
my $tid = `$search_cmd`; # get thread id
|
my $tid = `$search_cmd`; # get thread id
|
||||||
chomp($tid);
|
chomp($tid);
|
||||||
|
|
||||||
|
@ -135,7 +139,10 @@ sub tag_action(@) {
|
||||||
my $mid = get_message_id();
|
my $mid = get_message_id();
|
||||||
defined $mid or die "notmuch-mutt: cannot find Message-Id, abort.\n";
|
defined $mid or die "notmuch-mutt: cannot find Message-Id, abort.\n";
|
||||||
|
|
||||||
system("notmuch", "tag", @_, "--", "id:$mid");
|
$mid =~ s/ //g; # notmuch strips spaces before storing Message-Id
|
||||||
|
$mid =~ s/"/""/g; # escape all double quote characters
|
||||||
|
|
||||||
|
system("notmuch", "tag", @_, "--", qq{id:"$mid"});
|
||||||
}
|
}
|
||||||
|
|
||||||
sub die_usage() {
|
sub die_usage() {
|
||||||
|
|
Loading…
Reference in a new issue