<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib, branch 0.20</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.20</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.20'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2015-03-28T23:34:15Z</updated>
<entry>
<title>lib: eliminate fprintf from _notmuch_message_file_open</title>
<updated>2015-03-28T23:34:15Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2014-12-26T17:34:49Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=9d192da683b0656e37fc8d69c69698ca605926b3'/>
<id>urn:sha1:9d192da683b0656e37fc8d69c69698ca605926b3</id>
<content type='text'>
You may wonder why _notmuch_message_file_open_ctx has two parameters.
This is because we need sometime to use a ctx which is a
notmuch_message_t. While we could get the database from this, there is
no easy way in C to tell type we are getting.
</content>
</entry>
<entry>
<title>lib: replace almost all fprintfs in library with _n_d_log</title>
<updated>2015-03-28T23:34:15Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2014-12-26T16:25:35Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=736ac26407914425a9c94e86616225292cf716dd'/>
<id>urn:sha1:736ac26407914425a9c94e86616225292cf716dd</id>
<content type='text'>
This is not supposed to change any functionality from an end user
point of view. Note that it will eliminate some output to stderr. The
query debugging output is left as is; it doesn't really fit with the
current primitive logging model. The remaining "bad" fprintf will need
an internal API change.
</content>
</entry>
<entry>
<title>lib: add private function to extract the database for a message.</title>
<updated>2015-03-28T23:34:15Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2014-12-26T16:16:12Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=9b73a8bcc9cb381fc1a15013f4baa3ec9fdb97a7'/>
<id>urn:sha1:9b73a8bcc9cb381fc1a15013f4baa3ec9fdb97a7</id>
<content type='text'>
This is needed by logging in functions outside message.cc that take
only a notmuch_message_t object.
</content>
</entry>
<entry>
<title>lib: add a log function with output to a string in notmuch_database_t</title>
<updated>2015-03-28T23:34:15Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2014-12-26T08:01:01Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b53e1a2da720e9a0efd815b92f0a54dc2f644ffc'/>
<id>urn:sha1:b53e1a2da720e9a0efd815b92f0a54dc2f644ffc</id>
<content type='text'>
In principle in the future this could do something fancier than
asprintf.
</content>
</entry>
<entry>
<title>lib: add "verbose" versions of notmuch_database_{open,create}</title>
<updated>2015-03-28T23:34:15Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2014-12-27T18:12:49Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=84d3b15d251623cbb66e5eca7ddb8d61aa596d33'/>
<id>urn:sha1:84d3b15d251623cbb66e5eca7ddb8d61aa596d33</id>
<content type='text'>
The compatibility wrapper ensures that clients calling
notmuch_database_open will receive consistent output for now.

The changes to notmuch-{new,search} and test/symbol-test are just to
make the test suite pass.

The use of IGNORE_RESULT is justified by two things. 1) I don't know
what else to do.  2) asprintf guarantees the output string is NULL if
an error occurs, so at least we are not passing garbage back.
</content>
</entry>
<entry>
<title>lib: make notmuch_query_count_messages explicitely exact</title>
<updated>2015-03-13T06:58:55Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2014-10-14T16:32:54Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=6d44e5ac4743f618513c9a080733d91afa683f16'/>
<id>urn:sha1:6d44e5ac4743f618513c9a080733d91afa683f16</id>
<content type='text'>
The default is actually exact if no checkatleast parameter is
specified. This change makes that explicit, mainly for documentation,
but also to be safe in the unlikely event of a change of default.

[ commit message rewritten by db based on id:87lho0nlkk.fsf@nikula.org
]
</content>
</entry>
<entry>
<title>lib: bump library minor version</title>
<updated>2015-03-07T19:15:06Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2015-03-07T14:49:00Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=90886f3640ed6aaace84ee7a83a8d2afa2d0c8fb'/>
<id>urn:sha1:90886f3640ed6aaace84ee7a83a8d2afa2d0c8fb</id>
<content type='text'>
This should have happened in commit 326e18856, but it didn't.
</content>
</entry>
<entry>
<title>lib: make notmuch shared library install_name be full path on Mac OS X</title>
<updated>2015-03-06T07:00:18Z</updated>
<author>
<name>J. Lewis Muir</name>
<email>jlmuir@imca-cat.org</email>
</author>
<published>2015-03-04T22:32:49Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=ee2d490280a939ca91dd184bece2bd53582b8e54'/>
<id>urn:sha1:ee2d490280a939ca91dd184bece2bd53582b8e54</id>
<content type='text'>
The install_name of libnotmuch.dylib on Mac OS X is what is written
into a program that links against it.  If it is just the name of the
shared library file, as opposed to the full path, the program won't be
able to find it when it runs and will abort.  Instead, the install_name
should be the full path to the shared library (in its final installed
location).

Why does Notmuch work without this patch when installed via Homebrew?
The answer is twofold.  One, /usr/local/lib is a special location in
which the dynamic linker will look by default to find shared libraries.
Homebrew highly recommends installing to /usr/local, and, assuming it
has been configured this way, the Notmuch library will end up installed
in /usr/local/lib, and the dynamic linker will find it.  Two, Homebrew
globally corrects all install names in dynamically shared libraries and
binaries for each package it installs.  So, even if the install names in
a package's binaries and libraries are incorrect, Homebrew corrects them
automatically, and no one ever knows.

Why does Notmuch work without this patch when installed via MacPorts?
The answer is that MacPorts applies a patch just like this patch to fix
the same problem.
</content>
</entry>
<entry>
<title>lib: bump SONAME minor version</title>
<updated>2015-03-01T07:49:14Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2015-02-28T08:38:26Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=326e1885640e53b8c2851e92bcf2d8297d7329ac'/>
<id>urn:sha1:326e1885640e53b8c2851e92bcf2d8297d7329ac</id>
<content type='text'>
This indicates upwardly compatible changes, namely adding new symbols.

Although we don't formally need to do this until the next release,
there is no hard in doing it now, as long as we don't bump the minor
version for every addition between now and the release.
</content>
</entry>
<entry>
<title>lib: add new status reporting API for notmuch_query_search_{m,t}</title>
<updated>2015-03-01T07:49:14Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2015-01-20T07:53:41Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=7a0fc103678ea1b1da2df561d222c08db04c5af2'/>
<id>urn:sha1:7a0fc103678ea1b1da2df561d222c08db04c5af2</id>
<content type='text'>
This at least allows distinguishing between out of memory and Xapian
exceptions. Adding finer grained status codes would allow different
Xapian exceptions to be preserved.

Adding wrappers allows people to transition gradually to the new API,
at the cost of bloating the library API a bit.
</content>
</entry>
</feed>
