<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/notmuch.h, branch 0.9_rc1</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.9_rc1</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.9_rc1'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2011-09-24T23:00:29Z</updated>
<entry>
<title>lib: Improve notmuch_database_{add,remove}_message documentation.</title>
<updated>2011-09-24T23:00:29Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2011-06-11T19:34:11Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=35f4a0f18b2484e835e8b647f3d2c2782efcc406'/>
<id>urn:sha1:35f4a0f18b2484e835e8b647f3d2c2782efcc406</id>
<content type='text'>
State up front that these functions may add a filename to an existing
message or remove only a filename (and not the message), respectively.
Previously, this key information was buried in return value
documentation or in "notes", which made it seem secondary to these
functions' semantics.
</content>
</entry>
<entry>
<title>lib: Add an API to find a message by filename.</title>
<updated>2011-09-24T23:00:28Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2011-06-11T04:19:31Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=7a8046ced8c0e61ddd0ff463cfc17ed63e6edad3'/>
<id>urn:sha1:7a8046ced8c0e61ddd0ff463cfc17ed63e6edad3</id>
<content type='text'>
notmuch_database_find_message_by_filename is mostly stolen from
notmuch_database_remove_message, so this patch also vastly simplfies
the latter using the former.

This API is also useful in its own right and will be used in a later
patch for eager maildir flag synchronization.
</content>
</entry>
<entry>
<title>lib: Add support for nested atomic sections.</title>
<updated>2011-09-24T01:50:38Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2011-06-11T03:35:06Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=e59cc0031fbf84f49e32dedb9927f427d2c49309'/>
<id>urn:sha1:e59cc0031fbf84f49e32dedb9927f427d2c49309</id>
<content type='text'>
notmuch_database_t now keeps a nesting count and we only start a
transaction or commit for the outermost atomic section.

Introduces a new error, NOTMUCH_STATUS_UNBALANCED_ATOMIC.
</content>
</entry>
<entry>
<title>lib: Add notmuch_database_{begin,end}_atomic.</title>
<updated>2011-09-24T01:50:38Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2011-01-29T16:25:24Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=957f1ba3fc1d737887029ff1787fc6bea94de00b'/>
<id>urn:sha1:957f1ba3fc1d737887029ff1787fc6bea94de00b</id>
<content type='text'>
These operations translate into non-flushed Xapian transactions,
allowing arbitrary groups of database operations to be performed
atomically.
</content>
</entry>
<entry>
<title>fix sum moar typos [comments in source code]</title>
<updated>2011-06-23T22:58:39Z</updated>
<author>
<name>Pieter Praet</name>
<email>pieter@praet.org</email>
</author>
<published>2011-06-20T20:14:21Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=8bb6f7869c4c98190f010d60409938b1c50c5968'/>
<id>urn:sha1:8bb6f7869c4c98190f010d60409938b1c50c5968</id>
<content type='text'>
Various typo fixes in comments within the source code.

Signed-off-by: Pieter Praet &lt;pieter@praet.org&gt;

Edited-by: Carl Worth &lt;cworth@cworth.org&gt; Restricted to just
source-code comments, (and fixed fix of "descriptios" to "descriptors"
rather than "descriptions").
</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>lib: Be honest in the documentation of the maildir functions</title>
<updated>2010-11-11T12:51:55Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-11-11T12:51:55Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=1ea0b8bfe164a0f7a3e750236b8aef9b5ab8917e'/>
<id>urn:sha1:1ea0b8bfe164a0f7a3e750236b8aef9b5ab8917e</id>
<content type='text'>
I had originally hoped for better semantics, such as doing nothing in
non-maildir directories, and preserving unknown maildir flags that
happen to be present.

We could still do those things, of course, but for now, remove them
from the documentation since the implementation does not do these
things yet.
</content>
</entry>
<entry>
<title>lib: Document that absence of maildir flags can also remove/add tags</title>
<updated>2010-11-11T11:40:19Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-11-11T10:45:24Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=5a98880add247cca406cc99bf826398915ee6039'/>
<id>urn:sha1:5a98880add247cca406cc99bf826398915ee6039</id>
<content type='text'>
Previously the documentation of notmuch_message_maildir_flags_to_tags
suggested that the presence of a flag would cause tags to be added,
(or in the case of "unread", removed). But the case of absent maildir
flags was not explicitly described.

What we actually want, is that for supported flags, the absence of the
flag in all messages causes the corresponding tag to be removed,
(or in the case of "unread", added). So document that explicitly.

This is the case recently added to the test suite as a failing test,
(so we'll need to do bug fixing before the documentation is honest
here).
</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>
