diff --git a/common/mu.patch b/common/mu.patch new file mode 100644 index 0000000..6201669 --- /dev/null +++ b/common/mu.patch @@ -0,0 +1,15 @@ +diff --git a/lib/mu-store.cc b/lib/mu-store.cc +index c67b551c..59eb183c 100644 +--- a/lib/mu-store.cc ++++ b/lib/mu-store.cc +@@ -582,7 +582,7 @@ Store::move_message(Store::Id id, + const auto dup_flags{filter_dup_flags(dup_msg->flags(), *new_flags)}; + /* use the updated new_flags and MoveOptions without DupFlags (so we don't + * recurse) */ +- opts = opts & ~MoveOptions::DupFlags; ++ opts = opts & ~MoveOptions::DupFlags & ~MoveOptions::ChangeName; + if (auto dup_res = priv_->move_message_unlocked( + std::move(*dup_msg), Nothing, dup_flags, opts); !dup_res) + mu_warning("failed to move dup: {}", dup_res.error().what()); +-- +2.51.2 diff --git a/common/overlays.nix b/common/overlays.nix index 5707a7e..c1b241c 100644 --- a/common/overlays.nix +++ b/common/overlays.nix @@ -19,7 +19,13 @@ inputs: system: ((prev.emacsPackagesFor final.emacs-unstable) .emacsWithPackages (epkgs: with epkgs; [ treesit-grammars.with-all-grammars - mu4e + (mu4e.override (prev: { + mu = prev.mu.overrideAttrs (old: { + patches = (old.patches or []) ++ [ + ./mu.patch + ]; + }); + })) ])); })