--- /dev/null
+Return-Path: <aclements@csail.mit.edu>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+ by arlo.cworth.org (Postfix) with ESMTP id 7A4686DE0924\r
+ for <notmuch@notmuchmail.org>; Sat, 8 Aug 2015 06:27:19 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at cworth.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -2.126\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-2.126 tagged_above=-999 required=5\r
+ tests=[HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3,\r
+ RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,\r
+ RP_MATCHES_RCVD=-0.55, SPF_PASS=-0.001, URIBL_SBL=0.644,\r
+ URIBL_SBL_A=0.1] autolearn=disabled\r
+Received: from arlo.cworth.org ([127.0.0.1])\r
+ by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024)\r
+ with ESMTP id ugghzyetOPjk for <notmuch@notmuchmail.org>;\r
+ Sat, 8 Aug 2015 06:27:17 -0700 (PDT)\r
+X-Greylist: delayed 1302 seconds by postgrey-1.35 at arlo;\r
+ Sat, 08 Aug 2015 06:27:17 PDT\r
+Received: from outgoing.csail.mit.edu (outgoing.csail.mit.edu [128.30.2.149])\r
+ by arlo.cworth.org (Postfix) with ESMTP id 2742C6DE02D2\r
+ for <notmuch@notmuchmail.org>; Sat, 8 Aug 2015 06:27:17 -0700 (PDT)\r
+Received: from mail-qk0-f174.google.com ([209.85.220.174])\r
+ by outgoing.csail.mit.edu with esmtpsa (TLS1.0:RSA_ARCFOUR_SHA1:16)\r
+ (Exim 4.72) (envelope-from <aclements@csail.mit.edu>)\r
+ id 1ZO3oa-0001Kk-UC\r
+ for notmuch@notmuchmail.org; Sat, 08 Aug 2015 09:05:33 -0400\r
+Received: by qkdv3 with SMTP id v3so45472883qkd.3\r
+ for <notmuch@notmuchmail.org>; Sat, 08 Aug 2015 06:05:32 -0700 (PDT)\r
+MIME-Version: 1.0\r
+X-Received: by 10.55.26.93 with SMTP id a90mr23194257qka.63.1439039132115;\r
+ Sat, 08 Aug 2015 06:05:32 -0700 (PDT)\r
+Received: by 10.96.197.42 with HTTP; Sat, 8 Aug 2015 06:05:31 -0700 (PDT)\r
+Received: by 10.96.197.42 with HTTP; Sat, 8 Aug 2015 06:05:31 -0700 (PDT)\r
+In-Reply-To: <87r3ne96li.fsf@maritornes.cs.unb.ca>\r
+References: <1432936375-astroid-4-0i1n6yczs2-1520@strange>\r
+ <1433525318-23756-1-git-send-email-david@tethera.net>\r
+ <1433525318-23756-3-git-send-email-david@tethera.net>\r
+ <878u9nk0st.fsf@schoepe.localhost>\r
+ <87r3ne96li.fsf@maritornes.cs.unb.ca>\r
+Date: Sat, 8 Aug 2015 09:05:31 -0400\r
+Message-ID:\r
+ <CAH-f9WszEhzuSie05+R88kk1kFvHgktCcf3JYbk1+MPEzU6Mjw@mail.gmail.com>\r
+Subject: Re: [PATCH 2/6] lib: Add per-message last modification tracking\r
+From: Austin Clements <aclements@csail.mit.edu>\r
+To: David Bremner <david@tethera.net>\r
+Content-Type: multipart/alternative; boundary=001a1146cb2a49acdd051ccc688b\r
+Cc: notmuch <notmuch@notmuchmail.org>\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.18\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+ <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch/>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Sat, 08 Aug 2015 13:27:19 -0000\r
+\r
+--001a1146cb2a49acdd051ccc688b\r
+Content-Type: text/plain; charset=UTF-8\r
+\r
+Hi David. I haven't had a chance to look back at the original code, but\r
+your follow-up expanded comment agrees with how I remember this code\r
+working.\r
+On Aug 7, 2015 4:41 PM, "David Bremner" <david@tethera.net> wrote:\r
+\r
+> Daniel Schoepe <daniel@schoepe.org> writes:\r
+>\r
+>\r
+> > On Fri, 05 Jun 2015 19:28 +0200, David Bremner wrote:\r
+> >> + /* Prior to NOTMUCH_FEATURE_LAST_MOD, messages did not\r
+> >> + * track modification revisions. Give all messages a\r
+> >> + * revision of 1.\r
+> >> + */\r
+> >> + if (new_features & NOTMUCH_FEATURE_LAST_MOD)\r
+> >> + _notmuch_message_upgrade_last_mod (message);\r
+> >> [..]\r
+> >> +/* Upgrade a message to support NOTMUCH_FEATURE_LAST_MOD. The caller\r
+> >> + * must call _notmuch_message_sync. */\r
+> >> +void\r
+> >> +_notmuch_message_upgrade_last_mod (notmuch_message_t *message)\r
+> >> +{\r
+> >> + /* _notmuch_message_sync will update the last modification\r
+> >> + * revision; we just have to ask it to. */\r
+> >> + message->modified = TRUE;\r
+> >> +}\r
+> >> +\r
+> >\r
+> > The comment in the first part says that message without LAST_MOD get a\r
+> > revision of 1, but as far as I can tell, _notmuch_message_sync will\r
+> > actually put the next revision number on the message. If this is what's\r
+> > happening, either the comment or the behavior should be changed,\r
+> > depending on what's intended.\r
+>\r
+> I think the behaviour is OK, but you're correct the comment is\r
+> wrong. I'll see if Austin has any comment on that. I guess it would be\r
+> harmless to initialize upgraded messages to some low revision number,\r
+> but I don't see the benefit.\r
+>\r
+\r
+--001a1146cb2a49acdd051ccc688b\r
+Content-Type: text/html; charset=UTF-8\r
+Content-Transfer-Encoding: quoted-printable\r
+\r
+<p dir=3D"ltr">Hi David. I haven't had a chance to look back at the ori=\r
+ginal code, but your follow-up expanded comment agrees with how I remember =\r
+this code working.</p>\r
+<div class=3D"gmail_quote">On Aug 7, 2015 4:41 PM, "David Bremner"=\r
+; <<a href=3D"mailto:david@tethera.net">david@tethera.net</a>> wrote:=\r
+<br type=3D"attribution"><blockquote class=3D"gmail_quote" style=3D"margin:=\r
+0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Daniel Schoepe <=\r
+<a href=3D"mailto:daniel@schoepe.org">daniel@schoepe.org</a>> writes:<br=\r
+>\r
+<br>\r
+<br>\r
+> On Fri, 05 Jun 2015 19:28 +0200, David Bremner wrote:<br>\r
+>> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* Prior to NOTMUCH_FEATURE_LAST_MOD,=\r
+ messages did not<br>\r
+>> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* track modification revisions.=\r
+=C2=A0 Give all messages a<br>\r
+>> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* revision of 1.<br>\r
+>> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0*/<br>\r
+>> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (new_features & NOTMUCH_FEATUR=\r
+E_LAST_MOD)<br>\r
+>> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 _notmuch_message_upgrad=\r
+e_last_mod (message);<br>\r
+>> [..]<br>\r
+>> +/* Upgrade a message to support NOTMUCH_FEATURE_LAST_MOD.=C2=A0 T=\r
+he caller<br>\r
+>> + * must call _notmuch_message_sync. */<br>\r
+>> +void<br>\r
+>> +_notmuch_message_upgrade_last_mod (notmuch_message_t *message)<br=\r
+>\r
+>> +{<br>\r
+>> +=C2=A0 =C2=A0 /* _notmuch_message_sync will update the last modif=\r
+ication<br>\r
+>> +=C2=A0 =C2=A0 =C2=A0* revision; we just have to ask it to. */<br>\r
+>> +=C2=A0 =C2=A0 message->modified =3D TRUE;<br>\r
+>> +}<br>\r
+>> +<br>\r
+><br>\r
+> The comment in the first part says that message without LAST_MOD get a=\r
+<br>\r
+> revision of 1, but as far as I can tell, _notmuch_message_sync will<br=\r
+>\r
+> actually put the next revision number on the message. If this is what&=\r
+#39;s<br>\r
+> happening, either the comment or the behavior should be changed,<br>\r
+> depending on what's intended.<br>\r
+<br>\r
+I think the behaviour is OK, but you're correct the comment is<br>\r
+wrong. I'll see if Austin has any comment on that. I guess it would be<=\r
+br>\r
+harmless to initialize upgraded messages to some low revision number,<br>\r
+but I don't see the benefit.<br>\r
+</blockquote></div>\r
+\r
+--001a1146cb2a49acdd051ccc688b--\r