From c5fe511d95b817f388a98ee96349654bc9a2f0b4 Mon Sep 17 00:00:00 2001 From: Manos Pitsidianakis Date: Sun, 10 May 2020 23:56:35 +0300 Subject: [PATCH] notmuch: don't remove tags from tag_index When removing a tag, we shouldn't also remove it from the tag index. --- melib/src/backends/notmuch.rs | 2 -- src/components/mail/listing/compact.rs | 1 + src/components/mail/listing/conversations.rs | 1 + src/components/mail/listing/plain.rs | 1 + 4 files changed, 3 insertions(+), 2 deletions(-) diff --git a/melib/src/backends/notmuch.rs b/melib/src/backends/notmuch.rs index 9023c23e..e3cd9d4d 100644 --- a/melib/src/backends/notmuch.rs +++ b/melib/src/backends/notmuch.rs @@ -792,8 +792,6 @@ impl BackendOp for NotmuchOp { let hash = tag_hash!(tag); if value { self.tag_index.write().unwrap().insert(hash, tag); - } else { - self.tag_index.write().unwrap().remove(&hash); } if !envelope.labels().iter().any(|&h_| h_ == hash) { if value { diff --git a/src/components/mail/listing/compact.rs b/src/components/mail/listing/compact.rs index d12bc004..bd12d8f4 100644 --- a/src/components/mail/listing/compact.rs +++ b/src/components/mail/listing/compact.rs @@ -698,6 +698,7 @@ impl CompactListing { .ignore_tags ) .contains(t) + || !tags_lck.contains_key(t) { continue; } diff --git a/src/components/mail/listing/conversations.rs b/src/components/mail/listing/conversations.rs index 30c77fae..126c65e1 100644 --- a/src/components/mail/listing/conversations.rs +++ b/src/components/mail/listing/conversations.rs @@ -606,6 +606,7 @@ impl ConversationsListing { .ignore_tags ) .contains(t) + || !tags_lck.contains_key(t) { continue; } diff --git a/src/components/mail/listing/plain.rs b/src/components/mail/listing/plain.rs index 3cc7e3d7..d7e45e38 100644 --- a/src/components/mail/listing/plain.rs +++ b/src/components/mail/listing/plain.rs @@ -662,6 +662,7 @@ impl PlainListing { .ignore_tags ) .contains(t) + || !tags_lck.contains_key(t) { continue; }