<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/message.cc, branch 0.5</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.5</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.5'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2010-11-12T04:54:41Z</updated>
<entry>
<title>lib: Fix missing initialization of status field.</title>
<updated>2010-11-12T04:54:41Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-11-12T04:54:41Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=7278383005de3a0d61ac3471162e7ef633d45076'/>
<id>urn:sha1:7278383005de3a0d61ac3471162e7ef633d45076</id>
<content type='text'>
This could have been a problematic bug. Fortuinately "gcc -O2" warns
about it.
</content>
</entry>
<entry>
<title>lib: Add two missing static qualifiers</title>
<updated>2010-11-12T04:53:21Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-11-12T04:53:21Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=fe8eeaf4a576b4cad2ec4faee8d5e373118771f8'/>
<id>urn:sha1:fe8eeaf4a576b4cad2ec4faee8d5e373118771f8</id>
<content type='text'>
The debian packaging is nice enough to notice when we accidentally
leak private symbols to the public interface.
</content>
</entry>
<entry>
<title>tags_to_maildir_flags: Fix to preserve existing, unsupported flags</title>
<updated>2010-11-12T00:36:02Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-11-12T00:36:02Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=96d99c383785dec67443ff1b45e2d2f8437398fa'/>
<id>urn:sha1:96d99c383785dec67443ff1b45e2d2f8437398fa</id>
<content type='text'>
This is to prevent notmuch from destroying any information the user
has encoded as flags in the maildir filename. Tests are also added to
the test suite to verify the documented behavior.
</content>
</entry>
<entry>
<title>notmuch_message_tags_to_maildir_flags: Do nothing outside of "new" and "cur"</title>
<updated>2010-11-11T22:32:17Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-11-11T22:32:17Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=95dd5fe5d7e9cd8169a6e3174ea27376acd92870'/>
<id>urn:sha1:95dd5fe5d7e9cd8169a6e3174ea27376acd92870</id>
<content type='text'>
Some people use notmuch with non-maildir files, (for example, email
messages in MH format, or else cool things like using sluk[*] to suck
down feeds into a format that notmuch can index).

To better support uses like that, don't do any renaming for files that
are not in a directory named either "new" or "cur".

[*] https://github.com/krl/sluk/
</content>
</entry>
<entry>
<title>notmuch_message_tags_to_maildir_flags: Don't exit on failure to rename.</title>
<updated>2010-11-11T11:50:42Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-11-11T11:50:42Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=37a8096fdc0584567aab43a8bede7b32860a3517'/>
<id>urn:sha1:37a8096fdc0584567aab43a8bede7b32860a3517</id>
<content type='text'>
It is totally legitimate for a non-maildir directory to be named "new"
(and not have a directory next to it named "cur"). To support this
case at least, be silent about any rename failure.
</content>
</entry>
<entry>
<title>notmuch_message_tags_to_maildir_flags: Fix to rename multiple files</title>
<updated>2010-11-11T11:47:11Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-11-11T11:41:39Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=71a3201885d508f10ecd24a0887337e1624ffbf1'/>
<id>urn:sha1:71a3201885d508f10ecd24a0887337e1624ffbf1</id>
<content type='text'>
This function was documented as modifying every filename associated
with the message. Fix it to actually do that.
</content>
</entry>
<entry>
<title>maildir_flags_to_tags: Avoid interpreting "no info" as "no flags set".</title>
<updated>2010-11-11T11:40:19Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-11-11T10:55:13Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=404db1de90f6e5a66c34077b38b18a39c955ece2'/>
<id>urn:sha1:404db1de90f6e5a66c34077b38b18a39c955ece2</id>
<content type='text'>
If a filename has no maildir info at all, (that is, it does not
contain the sequence ":2,"), we consider this distinct from a filename
with an empty maildir info, (the ":2," separator is present, but no
flags characters follow).

Specifically, we regard a missing info field as providing no
information, so tags will remain unchanged. On the other hand, an info
field that is present but has no flags set will cause various tags to
be cleared, (or in the case of "unread", added).

This fixes the "remove info" case of the maildir-sync tests in the
test suite.
</content>
</entry>
<entry>
<title>Fix notmuch_message_tags_to_maildir_flags to effect rename immediately</title>
<updated>2010-11-11T11:40:19Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-11-11T08:26:04Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=81cbaafc0f64dcc77933d06e0d2b22ee38eefd88'/>
<id>urn:sha1:81cbaafc0f64dcc77933d06e0d2b22ee38eefd88</id>
<content type='text'>
We have tests to ensure that when the notmuch library renames a file
that that rename takes place immediately in the database, (without
requiring something like "notmuch new" to notice the change).

This was working when the code was first added, but recently broke in
the reworking of the maildir-synchronization interface since the
tags_to_maildir_flags function can no longer assume that it is being
called as part of _notmuch_message_sync.

Fortunately, the fix is as simple as adding an explicit call to
_notmuch_message_sync.
</content>
</entry>
<entry>
<title>Fix notmuch_message_maildir_flags_to_tags to iterate over filenames</title>
<updated>2010-11-11T11:40:19Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-11-11T08:18:35Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=4b6063397ffcc13f38757e7052e3dc6649d9703c'/>
<id>urn:sha1:4b6063397ffcc13f38757e7052e3dc6649d9703c</id>
<content type='text'>
As documented, this function now iterates over all filenames for the
message, computing a logical OR of the flags set on the filenames,
then uses the final result to set tags on the message.

This change fixes 3 of the 10 maildir-sync tests that have been
failing since being added.
</content>
</entry>
<entry>
<title>lib: Add new, public notmuch_message_get_filenames</title>
<updated>2010-11-11T11:40:19Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-11-11T08:07:24Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=1d02dd64afe245a2b5a8461feeba975e61f0c233'/>
<id>urn:sha1:1d02dd64afe245a2b5a8461feeba975e61f0c233</id>
<content type='text'>
This augments the existing notmuch_message_get_filename by allowing
the caller access to all filenames in the case of multiple files for a
single message.

To support this, we split the iterator (notmuch_filenames_t) away from
the list storage (notmuch_filename_list_t) where previously these were
a single object (notmuch_filenames_t). Then, whenever the user asks
for a file or filename, the message object lazily creates a complete
notmuch_filename_list_t and then:

	For notmuch_message_get_filename, returns the first filename
	in the list.

	For notmuch_message_get_filenames, creates and returns a new
	iterator for the filename list.
</content>
</entry>
</feed>
