<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/notmuch-client.h, branch 0.35</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.35</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.35'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2022-01-18T12:08:22Z</updated>
<entry>
<title>CLI: stash pointer to database in sprinter structs</title>
<updated>2022-01-18T12:08:22Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2022-01-01T12:01:34Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=417d202e642e0af0ef692e3ce250a6af985c7442'/>
<id>urn:sha1:417d202e642e0af0ef692e3ce250a6af985c7442</id>
<content type='text'>
We already use an allocated (and presumably open) database as a talloc
context. Keeping the pointer in the allocated struct will allow us to
e.g. interrogate the configuration in a sprinter function without
threading the database all the way through the various levels of function.
</content>
</entry>
<entry>
<title>CLI: move indexopts variable out of shared options block</title>
<updated>2021-10-23T12:51:50Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-06-12T13:26:17Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=2ce6c76a61c907b5d1d508e12255e83d9256937c'/>
<id>urn:sha1:2ce6c76a61c907b5d1d508e12255e83d9256937c</id>
<content type='text'>
This reduces the amount of global state.  Furthermore, index options
can be set (in principle) in several ways, not just in the one
function for processing indexing command line options.
</content>
</entry>
<entry>
<title>cli: remove enum names from typedefs</title>
<updated>2021-10-23T11:39:16Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2021-10-13T14:02:17Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=f316f7ef6af98b8f89f094dde24e36b837b3c5f2'/>
<id>urn:sha1:f316f7ef6af98b8f89f094dde24e36b837b3c5f2</id>
<content type='text'>
There are some enum typedefs with the enum name:

    typedef enum _name_t { ... } name_t;

We don't need or use the enum names _name_t for anything, and not all
of the enum typedefs have them. We have the typedefs specifically to
use the typedef name.

Use the anonymous enum in the typedefs:

    typedef enum { ... } name_t;
</content>
</entry>
<entry>
<title>CLI: move query syntax to shared option</title>
<updated>2021-09-05T00:07:19Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-08-24T15:17:42Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=a2e7af5b6986bca5a2bb2752f892cb86a9767b3c'/>
<id>urn:sha1:a2e7af5b6986bca5a2bb2752f892cb86a9767b3c</id>
<content type='text'>
This will allow easy addition of a query syntax option to other subcommands.
</content>
</entry>
<entry>
<title>CLI: make variable n_requested_db_uuid file scope.</title>
<updated>2021-09-05T00:07:19Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-08-24T15:17:10Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d447b694b498c3e18a22f1eb15139a798c6aab26'/>
<id>urn:sha1:d447b694b498c3e18a22f1eb15139a798c6aab26</id>
<content type='text'>
It turns out that now that we pass an open database into the
subcommands, it is easy to check any requested uuid against the
database at the same time as we process the other shared
arguments. This results in overall less boilerplate code, as well as
making a CLI scope function and variable file scope in notmuch.c.
</content>
</entry>
<entry>
<title>CLI: define and use format version 5</title>
<updated>2021-08-22T14:05:13Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-08-22T00:00:11Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=731697d671749a13634a2a4b843ce62f2927f64f'/>
<id>urn:sha1:731697d671749a13634a2a4b843ce62f2927f64f</id>
<content type='text'>
This is a bit of a cheat, since the format does not actually
change. On the other hand it is fairly common to do something like
this to shared libary SONAMEs when the ABI changes in some subtle way.
It does rely on the format-version argument being early enough on the
command line to generate a sensible error message.
</content>
</entry>
<entry>
<title>CLI: centralize initialization in notmuch_client_init</title>
<updated>2021-05-14T09:40:37Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-05-12T23:22:18Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=5a8d174f6797844580b52857a6254c25ce532d1c'/>
<id>urn:sha1:5a8d174f6797844580b52857a6254c25ce532d1c</id>
<content type='text'>
Initially make sure gmime_filter_reply initialization is
thread-safe (assuming notmuch_client_init is only called once).
For tidyness, also put talloc initialization in the new function.
</content>
</entry>
<entry>
<title>CLI: rename notmuch_config_t to notmuch_conffile_t</title>
<updated>2021-04-07T00:32:36Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-02-27T14:11:23Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=1459217e17e94277495c5c644b5a4ca1651c9452'/>
<id>urn:sha1:1459217e17e94277495c5c644b5a4ca1651c9452</id>
<content type='text'>
The name is a compromise between keeping function names from getting
too long, and avoiding confusion with the newer notmuch_config library
API. Try to make clear that the residual functionality is only about
updating configuration files.
</content>
</entry>
<entry>
<title>CLI: drop notmuch_config_t from subcommand interface.</title>
<updated>2021-04-07T00:32:36Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-02-27T14:07:45Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=1c747a501c0ed7df5eaa2b994b9ad11d8981c62c'/>
<id>urn:sha1:1c747a501c0ed7df5eaa2b994b9ad11d8981c62c</id>
<content type='text'>
At this point it is unused in all subcommands.
</content>
</entry>
<entry>
<title>CLI/config: remove calls to notmuch_config_open from top level</title>
<updated>2021-04-07T00:32:36Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-02-27T13:22:32Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=ec4b7efbe4bd6d50bd6046bac5f7ef4ceaa30154'/>
<id>urn:sha1:ec4b7efbe4bd6d50bd6046bac5f7ef4ceaa30154</id>
<content type='text'>
This will allow simplifying the subcommand interface.

Change the internal API to notmuch_config_open to not tie it to the
implementation of subcommands in notmuch.c.

It also fixes a previously broken test, since notmuch_config_open does
not understand the notion of the empty string as a config file name.
</content>
</entry>
</feed>
