<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/notmuch.h, branch 0.16</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.16</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.16'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2013-06-25T05:53:16Z</updated>
<entry>
<title>lib: add NOTMUCH_EXCLUDE_FLAG to notmuch_exclude_t</title>
<updated>2013-06-25T05:53:16Z</updated>
<author>
<name>Mark Walters</name>
<email>markwalters1009@gmail.com</email>
</author>
<published>2013-05-13T15:10:51Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d29d7e1ee25059c657412d5b045650f1e3e1533f'/>
<id>urn:sha1:d29d7e1ee25059c657412d5b045650f1e3e1533f</id>
<content type='text'>
Add NOTMUCH_EXCLUDE_FLAG to notmuch_exclude_t so that it can
cover all four values of search --exclude in the cli.

Previously the way to avoid any message being marked excluded was to
pass in an empty list of excluded tags: since we now have an explicit
option we might as well honour it.

The enum is in a slightly strange order as the existing FALSE/TRUE
options correspond to the new
NOTMUCH_EXCLUDE_FLAG/NOTMUCH_EXCLUDE_TRUE options so this means we do
not need to bump the version number.

Indeed, an example of this is that the cli count and show still use
FALSE/TRUE and still work.
</content>
</entry>
<entry>
<title>lib: add --exclude=all option</title>
<updated>2013-05-14T00:32:03Z</updated>
<author>
<name>Mark Walters</name>
<email>markwalters1009@gmail.com</email>
</author>
<published>2013-05-11T19:50:02Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=38698d86596af64fa25c118dafef0249155ca7a4'/>
<id>urn:sha1:38698d86596af64fa25c118dafef0249155ca7a4</id>
<content type='text'>
Adds a exclude all option to the lib which means that excluded
messages are completely ignored (as if they had actually been
deleted).
</content>
</entry>
<entry>
<title>lib: Add an iterator over all messages in a thread</title>
<updated>2013-02-19T00:20:59Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2012-11-25T04:57:05Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=f29bcc59df128e7ca37ed324846ebb760ee13be8'/>
<id>urn:sha1:f29bcc59df128e7ca37ed324846ebb760ee13be8</id>
<content type='text'>
Previously, getting the list of all messages in a thread required
recursively traversing the thread's message hierarchy, which was both
difficult and resulted in messages being out of order.  This adds a
public function to retrieve an iterator over all of the messages in a
thread in oldest-first order.
</content>
</entry>
<entry>
<title>lib: Make notmuch_database_get_directory return NULL if the directory is not found</title>
<updated>2012-05-24T01:30:55Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2012-05-18T04:13:37Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=fe1ca1410423d99db09543f4a97bc2ba0c6ade81'/>
<id>urn:sha1:fe1ca1410423d99db09543f4a97bc2ba0c6ade81</id>
<content type='text'>
Using the new support from _notmuch_directory_create, this makes
notmuch_database_get_directory a read-only operation that simply
returns the directory object if it exists or NULL otherwise.  This
also means that notmuch_database_get_directory can work on read-only
databases.

This change breaks the directory mtime workaround in notmuch-new.c by
fixing the exact issue it was working around.  This permits mtime
update races to prevent scans of changed directories, which
non-deterministically breaks a few tests.  The next patch fixes this.
</content>
</entry>
<entry>
<title>lib/cli: Make notmuch_database_get_directory return a status code</title>
<updated>2012-05-15T11:56:33Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2012-05-13T23:36:09Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=7199d22f4394abdf72ab791fc0aba2c697bf1209'/>
<id>urn:sha1:7199d22f4394abdf72ab791fc0aba2c697bf1209</id>
<content type='text'>
Previously, notmuch_database_get_directory had no way to indicate how
it had failed.  This changes its prototype to return a status code and
set an out-argument to the retrieved directory, like similar functions
in the library API.  This does *not* change its currently broken
behavior of creating directory objects when they don't exist, but it
does document it and paves the way for fixing this.  Also, it can now
check for a read-only database and return
NOTMUCH_STATUS_READ_ONLY_DATABASE instead of crashing.

In the interest of atomicity, this also updates calls from the CLI so
that notmuch still compiles.
</content>
</entry>
<entry>
<title>lib/cli: Make notmuch_database_create return a status code</title>
<updated>2012-05-05T13:12:26Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2012-04-30T16:25:34Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=ba5729421825e0ec9d38aa9d656553f329aa6f09'/>
<id>urn:sha1:ba5729421825e0ec9d38aa9d656553f329aa6f09</id>
<content type='text'>
This is the notmuch_database_create equivalent of the previous change.

In this case, there were places where errors were not being propagated
correctly in notmuch_database_create or in calls to it.  These have
been fixed, using the new status value.
</content>
</entry>
<entry>
<title>lib/cli: Make notmuch_database_open return a status code</title>
<updated>2012-05-05T13:11:57Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2012-04-30T16:25:33Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=5fddc07dc31481453c1af186bf7da241c00cdbf1'/>
<id>urn:sha1:5fddc07dc31481453c1af186bf7da241c00cdbf1</id>
<content type='text'>
It has been a long-standing issue that notmuch_database_open doesn't
return any indication of why it failed.  This patch changes its
prototype to return a notmuch_status_t and set an out-argument to the
database itself, like other functions that return both a status and an
object.

In the interest of atomicity, this also updates every use in the CLI
so that notmuch still compiles.  Since this patch does not update the
bindings, the Python bindings test fails.
</content>
</entry>
<entry>
<title>Split notmuch_database_close into two functions</title>
<updated>2012-04-28T12:21:13Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2012-04-25T13:20:16Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=7864350c938944276c1a378539da7670c211b9b5'/>
<id>urn:sha1:7864350c938944276c1a378539da7670c211b9b5</id>
<content type='text'>
Formerly notmuch_database_close closed the xapian database and
destroyed the talloc structure associated with the notmuch database
object. Split notmuch_database_close into notmuch_database_close and
notmuch_database_destroy.

This makes it possible for long running programs to close the xapian
database and thus release the lock associated with it without
destroying the data structures obtained from it.

This also makes the api more consistent since every other data
structure has a destructor function.

The comments in notmuch.h are a courtesy of Austin Clements.

Signed-off-by: Justus Winter &lt;4winter@informatik.uni-hamburg.de&gt;
</content>
</entry>
<entry>
<title>lib: change default for notmuch_query_set_omit_excluded</title>
<updated>2012-04-08T01:58:33Z</updated>
<author>
<name>Mark Walters</name>
<email>markwalters1009@gmail.com</email>
</author>
<published>2012-04-07T16:10:03Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d6fbef4690968c8d0b8e9dc19a903e693cace316'/>
<id>urn:sha1:d6fbef4690968c8d0b8e9dc19a903e693cace316</id>
<content type='text'>
</content>
</entry>
<entry>
<title>lib: Add the exclude flag to notmuch_query_search_threads</title>
<updated>2012-03-02T12:28:39Z</updated>
<author>
<name>Mark Walters</name>
<email>markwalters1009@gmail.com</email>
</author>
<published>2012-03-01T22:30:38Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=1a53f9f116fa7c460cda3df532be921baaafb082'/>
<id>urn:sha1:1a53f9f116fa7c460cda3df532be921baaafb082</id>
<content type='text'>
Add the NOTMUCH_MESSAGE_FLAG_EXCLUDED flag to
notmuch_query_search_threads. Implemented by inspecting the tags
directly in _notmuch_thread_create/_thread_add_message rather than as
a Xapian query for speed reasons.

Note notmuch_thread_get_matched_messages now returns the number of
non-excluded matching messages. This API is not totally desirable but
fixing it means breaking binary compatibility so we delay that.
</content>
</entry>
</feed>
