<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/notmuch-client.h, branch 0.38</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.38</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.38'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2022-11-05T17:18:15Z</updated>
<entry>
<title>cli: add options --offset and --limit to notmuch show</title>
<updated>2022-11-05T17:18:15Z</updated>
<author>
<name>Robin Jarry</name>
<email>robin@jarry.cc</email>
</author>
<published>2022-10-18T19:41:58Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=793f2980910f612fa33806ef71fa7ee35d093657'/>
<id>urn:sha1:793f2980910f612fa33806ef71fa7ee35d093657</id>
<content type='text'>
notmuch search does not output header values. However, when browsing
through a large email corpus, it can be time saving to be able to
paginate without running notmuch show for each message/thread.

Add --offset and --limit options to notmuch show. This is inspired from
commit 796b629c3b82 ("cli: add options --offset and --limit to notmuch
search").

Update man page, shell completion and add a test case to ensure it works
as expected.

Cc: Tim Culverhouse &lt;tim@timculverhouse.com&gt;
Cc: Tomi Ollila &lt;tomi.ollila@iki.fi&gt;
Signed-off-by: Robin Jarry &lt;robin@jarry.cc&gt;
</content>
</entry>
<entry>
<title>CLI/show: support --duplicate for structured output</title>
<updated>2022-07-30T11:41:50Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2022-07-01T21:45:44Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=4612f3eb3dbf16bf98ccbadef77d7a6f6361e692'/>
<id>urn:sha1:4612f3eb3dbf16bf98ccbadef77d7a6f6361e692</id>
<content type='text'>
This introduces a new mandatory key for message structures, namely
"duplicate". Per convention in devel/schemata this does _not_ increase
the format version. This means that clients are responsible for
checking that it exists, and not crashing if it does not.

The main functional change is teaching mime_node_open to understand a
'duplicate' argument.

Support for --duplicate in notmuch-reply would make sense, but we
defer it to a later commit.
</content>
</entry>
<entry>
<title>CLI/show: initial support for --duplicate for (raw output only)</title>
<updated>2022-07-30T11:39:13Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2022-07-01T21:45:43Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=cef5eaaef61b1f4dde6276ef267fb923f1b16680'/>
<id>urn:sha1:cef5eaaef61b1f4dde6276ef267fb923f1b16680</id>
<content type='text'>
Add command line argument --duplicate, analogous with that already
supported for notmuch-search.

Use of a seperate function for _get_filename is mainly a form of
documentation at this point.

md5sum is of course a weak hash, but it is good enough for
this (non-adversarial) test suite use.
</content>
</entry>
<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>
</feed>
