<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/database-private.h, branch 0.25_rc1</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.25_rc1</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.25_rc1'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2017-05-12T10:17:18Z</updated>
<entry>
<title>build: switch to hiding libnotmuch symbols by default</title>
<updated>2017-05-12T10:17:18Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2017-05-10T19:42:11Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=bc11759dd1fd198661657b741bc0143c9af309a4'/>
<id>urn:sha1:bc11759dd1fd198661657b741bc0143c9af309a4</id>
<content type='text'>
The dynamic generation of the linker version script for libnotmuch
exports has grown rather complicated.

Reverse the visibility control by hiding symbols by default using
-fvisibility=hidden, and explicitly exporting symbols in notmuch.h
using #pragma GCC visibility. (We could also use __attribute__
((visibility ("default"))) for each exported function, but the pragma
is more convenient.)

The above is not quite enough alone, as it would "leak" a number of
weak symbols from Xapian and C++ standard library. Combine it with a
small static version script that filters out everything except the
notmuch_* symbols that we explicitly exposed, and the C++ RTTI
typeinfo symbols for exception handling.

Finally, as the symbol hiding test can no longer look at the generated
symbol table, switch the test to parse the functions from notmuch.h.
</content>
</entry>
<entry>
<title>lib: create field processors from prefix table</title>
<updated>2017-03-03T11:15:13Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2017-02-27T02:34:19Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=31b8ce4558de69860c95bf319a0a162316dce6c6'/>
<id>urn:sha1:31b8ce4558de69860c95bf319a0a162316dce6c6</id>
<content type='text'>
This is a bit more code than hardcoding the two existing field
processors, but it should make it easy to add more.
</content>
</entry>
<entry>
<title>lib: add _notmuch_database_reopen</title>
<updated>2017-02-26T01:09:17Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2017-02-24T01:38:24Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=e17a914b77230d942b36639c261c345849fe9d52'/>
<id>urn:sha1:e17a914b77230d942b36639c261c345849fe9d52</id>
<content type='text'>
The main expected use is to recover from a Xapian::DatabaseChanged
exception.
</content>
</entry>
<entry>
<title>lib: Let Xapian manage the memory for FieldProcessors</title>
<updated>2017-02-19T02:18:06Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2017-02-17T03:07:50Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=0e037c34dd4b7eb9be96e62e0ee18260291de1b2'/>
<id>urn:sha1:0e037c34dd4b7eb9be96e62e0ee18260291de1b2</id>
<content type='text'>
It turns out this is exactly what release() is for; Xapian will
deallocate the objects when it's done with them.
</content>
</entry>
<entry>
<title>lib: merge internal prefix tables</title>
<updated>2017-02-19T02:17:39Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2017-02-17T03:07:49Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=e30fa4182fbae7b302d1e90de9f36a8d08a47c1b'/>
<id>urn:sha1:e30fa4182fbae7b302d1e90de9f36a8d08a47c1b</id>
<content type='text'>
Replace multiple tables with some flags in a single table. This makes
the code in notmuch_database_open_verbose a bit shorter, and it should
also make it easier to add other options to fields, e.g. regexp
searching.
</content>
</entry>
<entry>
<title>lib: optionally silence Xapian deprecation warnings</title>
<updated>2016-11-15T11:47:55Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2016-10-05T11:34:34Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=0abcad7c0ec2099750720d02b97aa84ce0255f91'/>
<id>urn:sha1:0abcad7c0ec2099750720d02b97aa84ce0255f91</id>
<content type='text'>
This is not ideal, but the new API is not available in Xapian 1.2.x, and
it seems to soon to depend on Xapian &gt;= 1.4
</content>
</entry>
<entry>
<title>Use https instead of http where possible</title>
<updated>2016-06-05T11:32:17Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2016-06-02T16:26:14Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=6a833a6e83865f6999707cc30768d07e1351c2cb'/>
<id>urn:sha1:6a833a6e83865f6999707cc30768d07e1351c2cb</id>
<content type='text'>
Many of the external links found in the notmuch source can be resolved
using https instead of http.  This changeset addresses as many as i
could find, without touching the e-mail corpus or expected outputs
found in tests.
</content>
</entry>
<entry>
<title>lib: add support for named queries</title>
<updated>2016-05-25T10:40:44Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2016-03-22T10:54:54Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b9bf3f44eacd42ce53885c79f9dad8d82c76f13d'/>
<id>urn:sha1:b9bf3f44eacd42ce53885c79f9dad8d82c76f13d</id>
<content type='text'>
This relies on the optional presense of xapian field processors, and the
library config API.
</content>
</entry>
<entry>
<title>lib: make a global constant for query parser flags</title>
<updated>2016-05-25T10:40:44Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2016-03-22T10:54:53Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=30caaf52b022be5f0f695f3088286fb56e82c782'/>
<id>urn:sha1:30caaf52b022be5f0f695f3088286fb56e82c782</id>
<content type='text'>
It's already kindof gross that this is hardcoded in two different
places. We will also need these later in field processors calling back
into the query parser.
</content>
</entry>
<entry>
<title>lib: optionally support single argument date: queries</title>
<updated>2016-05-08T11:17:07Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2016-03-22T10:54:44Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=bbf6069252d31e6693ee99cce8bf4f9fab47e360'/>
<id>urn:sha1:bbf6069252d31e6693ee99cce8bf4f9fab47e360</id>
<content type='text'>
This relies on the FieldProcessor API, which is only present in xapian
&gt;= 1.3.
</content>
</entry>
</feed>
