On Wed, 10 Nov 2010 11:26:40 +0100, Michal Sojka <sojkam1@fel.cvut.cz> wrote: > > So maybe we will need a new function for the purpose of synchronizing > > the current tags of a message to a maildir filename. So that would be, > > perhaps, notmuch_message_tags_to_maildir_flags or so? > > This sounds good and allows us to get rid of > NOTMUCH_MESSAGE_FLAG_TAGS_INVALID. Yes. And I'm now pursuing simply two new synchronization functions, (as opposed to the _with_maildir_flags variant of _add_message I proposed earlier). So the two new functions are: notmuch_message_maildir_flags_to_tags and notmuch_message_tags_to_maildir_flags > But can we say the the function _removes_ the unread tag if 'S' is > present and adds it otherwise? I think so. I ended up getting close to this with the code I was writing yesterday. I eventually had the original (non-maildir-related) notmuch_database_add_message adding the "unread" tag (which is a new behavior) and the _add_message_with_maildir_flags removing it if necessary. The semantics will be slightly different with the explicit flags_to_tags function, but I think I'll get this right. > I understand your point but this change would break how I use notmuch > now. My new_tags contains only "new" tag and if this tag is not added > during notmuch new the message would not be properly tagged by my > initial tagging script. And of course I found the same problem with my own setup. ;-) So the tag named configured in [new.tags] will need to be applied unconditionally to all new messages, (as currently documented). I was getting concerned when my patches started adding an "unread" tag to new messages (even without [maildir.synchronize_flags] configuration) and the existing configuration wouldn't allow a user to prevent that. But perhaps with the new functions proposed above we can avoid that problem. > notmuch tag -inbox not tag:unread > > We could also show this hint at the end of notmuch new when it is run > for the first time and all messages are tagged by inbox. Yes. That might be the right answer. > Great. I've finished the additional tests, which I send as a reply to > this mail. Some test are marked as broken because I do not want to touch > C sources while you are woking on them. Thanks! In addition to this test: +test_begin_subtest 'Duplicated message is tagged according to the duplicate' +cp "$MAIL_DIR/cur/msg-003" "$MAIL_DIR/cur/msg-003-dup:2,RS" I'd like to see a similar test that starts with "some-message:2,RS" and then copies it to "some-message". When we add this message would we expect the "replied" tag to be removed and the "unread" tag added? I'm still trying to work out exactly how the notmuch_message_maildir_flags_to_tags function should be documented, (whereas notmuch_message_tags_to_maildir_flags seems entirely obvious). Thanks, -Carl -- carl.d.worth@intel.com