tags_to_maildir_flags: Don't rename if no flags change
authorLouis Rilling <l.rilling@av7.net>
Wed, 19 Dec 2012 21:32:27 +0000 (22:32 +0100)
committerDavid Bremner <bremner@debian.org>
Tue, 3 Sep 2013 23:41:51 +0000 (20:41 -0300)
commita9b2135c75874f871fa8e97c8fca965654577772
treeb3133b2749df30817bfbbfdd0c89cc970aa9b09d
parent4229966dce6588f3d890ac648a059e31747f3bd5
tags_to_maildir_flags: Don't rename if no flags change

notmuch_message_tags_to_maildir_flags() unconditionally moves messages from
maildir directory "new/" to maildir directory "cur/", which makes messages lose
their "new" status in the MUA. However some users want to keep this "new"
status after, for instance, an auto-tagging of new messages.

However, as Austin mentioned and according to the maildir specification,
messages living in "new/" are not allowed to have flags, even if mutt allows it
to happen. For this reason, this patch prevents moving messages from "new/" to
"cur/", only if no flags have to be changed. It's hopefully enough to satisfy
mutt (and maybe other MUAs showing the "new" status) users checking the "new"
status.

Changelog:
* v2: Fix bool type as well as NULL returned despite having no errors (Austin
      Clements)
* v4: Tag the related test (contributed by Michal Sojka) as working

Signed-off-by: Louis Rilling <l.rilling@av7.net>
[Condition for keeping messages in new/ was extended to satisfy all
 tests from the previous patch. -Michal Sojka]

[Added by David Bremner, to keep the tests passing at each commit]

update insert tests for new maildir synchronization rules

As of id:1355952747-27350-4-git-send-email-sojkam1@fel.cvut.cz
we are more conservative about moving messages from ./new to ./cur.
This updates the insert tests to match
lib/message.cc
test/insert
test/maildir-sync