<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/database-private.h, branch master</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=master</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2025-08-04T13:44:52Z</updated>
<entry>
<title>lib/database-private: undef XAPIAN_DEPRECATED before redefining it</title>
<updated>2025-08-04T13:44:52Z</updated>
<author>
<name>Anton Khirnov</name>
<email>anton@khirnov.net</email>
</author>
<published>2025-07-27T14:11:47Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=bee7a53194606757997f069f0e95ac862fbba0e0'/>
<id>urn:sha1:bee7a53194606757997f069f0e95ac862fbba0e0</id>
<content type='text'>
Silences compiler warnings about redefining a macro.
</content>
</entry>
<entry>
<title>lib: parse index.as_text</title>
<updated>2023-04-02T22:22:36Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2023-01-06T00:02:05Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=3f5809bf28becbddfed9ff33d6f1242346904c23'/>
<id>urn:sha1:3f5809bf28becbddfed9ff33d6f1242346904c23</id>
<content type='text'>
We pre-parse into a list of compiled regular expressions to avoid
calling regexc on the hot (indexing) path.  As explained in the code
comment, this cannot be done lazily with reasonable error reporting,
at least not without touching a lot of the code in index.cc.
</content>
</entry>
<entry>
<title>lib: factor out lastmod range handling from sexp parser.</title>
<updated>2022-09-03T11:36:53Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2022-08-14T15:02:58Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=93c602a82fdbd03e0104ea922d073b2b1aa6b241'/>
<id>urn:sha1:93c602a82fdbd03e0104ea922d073b2b1aa6b241</id>
<content type='text'>
This will permit the re-use of the same logic in the infix query
parser. The location of the shared code in the infix side is for
consistency with the other shared parsing logic. It will make more
sense when a Xapian field processor is added for the lastmod prefix.
</content>
</entry>
<entry>
<title>fix build without sfsexp</title>
<updated>2022-04-15T17:17:31Z</updated>
<author>
<name>Michael J Gruber</name>
<email>git@grubix.eu</email>
</author>
<published>2022-04-15T16:23:46Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=785f9d656d547a325c978eee51cf7e52ed2fe625'/>
<id>urn:sha1:785f9d656d547a325c978eee51cf7e52ed2fe625</id>
<content type='text'>
a1d139de ("lib: add sexp: prefix to Xapian (infix) query parser.",
2022-04-09) introduced sfsexp infix queries. This requires the infix
preprocessor to be built in in a way which does not require sfsexp when
notmuch is built without it.

Make the preprocessor throw a Xapian error in this case (and fix the
build).

Signed-off-by: Michael J Gruber &lt;git@grubix.eu&gt;
</content>
</entry>
<entry>
<title>lib: drop trailing slash for path and folder searches (infix)</title>
<updated>2022-01-27T11:48:27Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2022-01-21T23:38:51Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=c62c22c9fb222d43d9b9956ce6b6e9985019ea2d'/>
<id>urn:sha1:c62c22c9fb222d43d9b9956ce6b6e9985019ea2d</id>
<content type='text'>
This resolves an old bug reported by David Edmondson in 2014. The fix
is only needed for the "boolean" case, as probabilistic / phrase
searching already ignores punctuation.

This fix is only for the infix (xapian provided) query parser.

[1]: id:cunoasuolcv.fsf@gargravarr.hh.sledj.net
</content>
</entry>
<entry>
<title>lib/date: factor out date range parsing.</title>
<updated>2022-01-26T11:41:02Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2022-01-20T13:36:02Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=bf3cc5eed2d7f3386946b0c51e45c057705d24b8'/>
<id>urn:sha1:bf3cc5eed2d7f3386946b0c51e45c057705d24b8</id>
<content type='text'>
This will allow re-using the same logic in the s-expression parser.
</content>
</entry>
<entry>
<title>lib/open: use notmuch-&gt;params to track split status</title>
<updated>2022-01-15T19:53:31Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-12-25T13:33:03Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=63b4c469835133ac44b7db516fc54b8a4abb90a8'/>
<id>urn:sha1:63b4c469835133ac44b7db516fc54b8a4abb90a8</id>
<content type='text'>
Persisting this status will allow us to use the information in other
compilation units, in particular when setting configuration defaults.
</content>
</entry>
<entry>
<title>Merge branch 'release'</title>
<updated>2021-12-04T13:27:30Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-12-04T13:27:30Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=1e7d33961e626488b09b56c8543e8edf00648670'/>
<id>urn:sha1:1e7d33961e626488b09b56c8543e8edf00648670</id>
<content type='text'>
</content>
</entry>
<entry>
<title>lib/open: track which parameters are passed</title>
<updated>2021-12-04T00:50:03Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-10-28T01:34:18Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d467444085d96229172ce29ef8654c3c459b6ce2'/>
<id>urn:sha1:d467444085d96229172ce29ef8654c3c459b6ce2</id>
<content type='text'>
This will be used to fine tune the loading of configuration for
certain special configuration items (initially just "database.path").
</content>
</entry>
<entry>
<title>lib: remove enum names from typedefs</title>
<updated>2021-10-23T11:38:53Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2021-10-13T14:02:16Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=6987286a5b562709c1de583db66673c202fd926c'/>
<id>urn:sha1:6987286a5b562709c1de583db66673c202fd926c</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>
</feed>
