<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/thread.cc, branch 0.40_rc1</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.40_rc1</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.40_rc1'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2025-08-04T13:43:35Z</updated>
<entry>
<title>lib: add notmuch_threads_status()</title>
<updated>2025-08-04T13:43:35Z</updated>
<author>
<name>Anton Khirnov</name>
<email>anton@khirnov.net</email>
</author>
<published>2025-07-28T14:26:56Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=11d373b4fd05f5409bf5c49459fe141d2235f7f5'/>
<id>urn:sha1:11d373b4fd05f5409bf5c49459fe141d2235f7f5</id>
<content type='text'>
While a number of errors can happen when iterating over threads
(DatabaseModifiedError, memory allocation errors, etc.), the API
currently cannot signal them to the caller, and either triggers an
internal error (aborting the caller) or returns NULL from
notmuch_threads_get() with no information on what actually went wrong.

Add a new public function notmuch_threads_status() - similar to
previously added notmuch_messages_status() - that allows propagating
those errors to the caller.

Use this to remove the INTERNAL_ERROR() in _notmuch_thread_create()
(triggered by T642).

Fixes: https://github.com/pazz/alot/issues/1460

Amended-By: db. Resolved whitespace disagreement between emacs and
uncrustify in favour of uncrustify.
</content>
</entry>
<entry>
<title>config: allow custom separators in author lists</title>
<updated>2024-07-26T06:59:11Z</updated>
<author>
<name>Lars Kotthoff</name>
<email>larsko@uwyo.edu</email>
</author>
<published>2023-12-22T21:06:34Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d34720e7b35da771d9a06ee8dbdc158680684e99'/>
<id>urn:sha1:d34720e7b35da771d9a06ee8dbdc158680684e99</id>
<content type='text'>
Allow distinguishing between commas separating authors and separating
first and last names.

Amended by db: reformat NEWS entry and commit message. Tweaked
whitespace in lib/thread.cc.
</content>
</entry>
<entry>
<title>lib/thread: add common prefix to debug messages, join lines</title>
<updated>2021-05-23T11:01:38Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-05-16T14:10:13Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=748352693cb92ede86b30cde219e5d95e8656461'/>
<id>urn:sha1:748352693cb92ede86b30cde219e5d95e8656461</id>
<content type='text'>
This will simplify filtering these message, e.g. in the test suite.
</content>
</entry>
<entry>
<title>lib: run uncrustify</title>
<updated>2021-03-13T12:45:34Z</updated>
<author>
<name>uncrustify</name>
<email>david@tethera.net</email>
</author>
<published>2021-03-13T12:45:34Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=8aeba1228ace947c1b689ae6ae08db5d53755917'/>
<id>urn:sha1:8aeba1228ace947c1b689ae6ae08db5d53755917</id>
<content type='text'>
This is the result of running

     $ uncrustify --replace --config ../devel/uncrustify.cfg *.c *.h *.cc

in the lib directory
</content>
</entry>
<entry>
<title>lib/thread: replace use of deprecated notmuch_message_get_flag</title>
<updated>2020-07-18T14:03:29Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2020-07-11T18:30:07Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=c8539d5e9248f08f417165e765814a1ed3d777e1'/>
<id>urn:sha1:c8539d5e9248f08f417165e765814a1ed3d777e1</id>
<content type='text'>
This adds one more reason why _notmuch_thread_create might return
NULL, but those were not previously enumerated, so no promises are
broken.
</content>
</entry>
<entry>
<title>lib: run uncrustify</title>
<updated>2019-06-14T10:41:27Z</updated>
<author>
<name>uncrustify</name>
<email>david@tethera.net</email>
</author>
<published>2019-06-13T10:55:35Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=2b62ca2e3b786beca8d89fa737bda0b49faa638d'/>
<id>urn:sha1:2b62ca2e3b786beca8d89fa737bda0b49faa638d</id>
<content type='text'>
This is the result of running

     $ uncrustify --replace --config ../devel/uncrustify.cfg *.c *.h *.cc

in the lib directory
</content>
</entry>
<entry>
<title>lib: cache user prefixes in database object</title>
<updated>2019-05-25T10:08:20Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2018-11-17T14:09:00Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b52cda90f0b05ce5055fb840e6d9dd88c09f1f83'/>
<id>urn:sha1:b52cda90f0b05ce5055fb840e6d9dd88c09f1f83</id>
<content type='text'>
This will be used to avoid needing a database access to resolve a db
prefix from the corresponding UI prefix (e.g. when indexing). Arguably
the setup of the separate header map does not belong here, since it is
about indexing rather than querying, but we currently don't have any
other indexing setup to do.
</content>
</entry>
<entry>
<title>gmime-cleanup: pass NULL arguments explicitly where GMime 3.0 expects it</title>
<updated>2019-05-03T09:57:27Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2019-05-02T13:19:45Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=bbe3015b3ea503b2834811f6cdd7276f9742faa1'/>
<id>urn:sha1:bbe3015b3ea503b2834811f6cdd7276f9742faa1</id>
<content type='text'>
Several GMime 2.6 functions sprouted a change in the argument order in
GMime 3.0.  We had a compatibility layer here to be able to handle
compiling against both GMime 2.6 and 3.0.  Now that we're using 3.0
only, rip out the compatibility layer for those functions with changed
argument lists, and explicitly use the 3.0 argument lists.

Signed-off-by: Daniel Kahn Gillmor &lt;dkg@fifthhorseman.net&gt;
</content>
</entry>
<entry>
<title>lib/thread: change _resolve_thread_relationships to use depths</title>
<updated>2018-09-06T11:07:13Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2018-08-30T11:29:10Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=46dce33abc82ea6ebd3be2e0887506af4185c739'/>
<id>urn:sha1:46dce33abc82ea6ebd3be2e0887506af4185c739</id>
<content type='text'>
We (finally) implement the XXX comment. It requires a bit of care not
to reparent all of the possible toplevel messages.

_notmuch_messages_has_next is not ready to be a public function yet,
since it punts on the mset case. We know in the one case it is called,
the notmuch_messages_t is just a regular list / iterator.
</content>
</entry>
<entry>
<title>lib/thread: rewrite _parent_or_toplevel to use depths</title>
<updated>2018-09-06T11:07:13Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2018-08-30T11:29:09Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=21803df6aeb20ff2e91068988441f10fc4b6853a'/>
<id>urn:sha1:21803df6aeb20ff2e91068988441f10fc4b6853a</id>
<content type='text'>
This is part 1/2 of changing the reparenting of alleged toplevel
messages to use a "deep" reference rather than just the first one
found.
</content>
</entry>
</feed>
