From f3dc5be6f2c870ca9edf7d60a8c7b80984c37bbf Mon Sep 17 00:00:00 2001 From: "Kevin J. McCarthy" Date: Sat, 7 Sep 2013 10:07:57 -0700 Subject: [PATCH] notmuch-mutt: Fix tagging issues This patch fixes three issues with "notmuch-mutt tag": 1. The message_id was not shell quoted. Thanks to Jason Miller for the bug report and patch. 2. The tags passed into tag_action() were not being properly quoted. The "join before shell_quote" was combining multiple tags into a single argument to notmuch tag: '+one -two -three' instead of '+one' '-two' '-three'. 3. A "--" was added between the tags and search-term as shown in the current notmuch-tag man page. Thanks to Tomi Ollila for suggesting the simple fix of using the list form of system(), which bypasses the shell. --- contrib/notmuch-mutt/notmuch-mutt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/contrib/notmuch-mutt/notmuch-mutt b/contrib/notmuch-mutt/notmuch-mutt index c69b35c9..4969e4be 100755 --- a/contrib/notmuch-mutt/notmuch-mutt +++ b/contrib/notmuch-mutt/notmuch-mutt @@ -113,9 +113,7 @@ sub tag_action(@) { my $mid = get_message_id(); defined $mid or die "notmuch-mutt: cannot find Message-Id, abort.\n"; - system("notmuch tag " - . shell_quote(join(' ', @_)) - . " id:$mid"); + system("notmuch", "tag", @_, "--", "id:$mid"); } sub die_usage() {