Quoth Louis Rilling on Jul 12 at 12:38 am: > On 11/07/11 16:07 -0400, Austin Clements wrote: > > I worry that this may compound the confusion caused by mutt's handling > > of the new flag, but I suppose people aren't likely to manipulate any > > of the other maildir-synchronized flags without also marking the > > message as seen. > > Even if they don't mark the message as seen, any flag changed would > move the message to cur/. The only buggy behavior would be from > mutt, with the bug you mentioned about mutt putting messages with > flags back to new/. Yes. I was thinking of someone tagging a message as, say, flagged, while it's still tagged unread. Then it would change from new to old in mutt. OTOH, adding some other non-synchronized tag wouldn't change it from new to old. I don't think there is a "correct" solution; your approach is probably the best compromise. > > The convention in notmuch is to use notmuch_bool_t, TRUE, and FALSE > > (though, admittedly, I don't know why; avoiding C99-isms?) > > And bool is already used at another place in message.cc: > > struct maildir_flag_tag { > char flag; > const char *tag; > bool inverse; > }; > > IIUC it should be changed to notmuch_bool_t too. Yes, I suppose it should (something slipped by cworth's eagle-eyed reviews!). Though that appears to be the sole use of bool in all of libnotmuch.