<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/thread.cc, branch debian/0.15-2</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=debian%2F0.15-2</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=debian%2F0.15-2'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2012-03-02T12:28:39Z</updated>
<entry>
<title>lib: Add the exclude flag to notmuch_query_search_threads</title>
<updated>2012-03-02T12:28:39Z</updated>
<author>
<name>Mark Walters</name>
<email>markwalters1009@gmail.com</email>
</author>
<published>2012-03-01T22:30:38Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=1a53f9f116fa7c460cda3df532be921baaafb082'/>
<id>urn:sha1:1a53f9f116fa7c460cda3df532be921baaafb082</id>
<content type='text'>
Add the NOTMUCH_MESSAGE_FLAG_EXCLUDED flag to
notmuch_query_search_threads. Implemented by inspecting the tags
directly in _notmuch_thread_create/_thread_add_message rather than as
a Xapian query for speed reasons.

Note notmuch_thread_get_matched_messages now returns the number of
non-excluded matching messages. This API is not totally desirable but
fixing it means breaking binary compatibility so we delay that.
</content>
</entry>
<entry>
<title>Mark some structures in the library interface with visibility=default attribute.</title>
<updated>2011-05-11T20:27:15Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2011-05-11T20:23:13Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d5523ead90b6be2b07d4af745b8ed9b980a6b9f1'/>
<id>urn:sha1:d5523ead90b6be2b07d4af745b8ed9b980a6b9f1</id>
<content type='text'>
As of gcc 4.6, there are new warnings from -Wattributes along the lines of:

	warning: ‘_notmuch_messages’ declared with greater visibility
	than the type of its field ‘_notmuch_messages::iterator’
	[-Wattributes]

To squelch these, we decorate all such containing structs with
__attribute__((visibility("default"))). We take care to let only the
C++ compiler see this, (since the C compiler would otherwise warn
about ignored visibility attributes on types).
</content>
</entry>
<entry>
<title>Implement an internal generic string list and use it.</title>
<updated>2011-03-21T06:45:18Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2010-12-09T00:26:05Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=f3c1eebfaf8526129ae6946cbcd44a3c602563d6'/>
<id>urn:sha1:f3c1eebfaf8526129ae6946cbcd44a3c602563d6</id>
<content type='text'>
This replaces the guts of the filename list and tag list, making those
interfaces simple iterators over the generic string list.  The
directory, message filename, and tags-related code now build generic
string lists and then wraps them in specific iterators.  The real wins
come in later patches, when we use these for even more generic
functionality.

As a nice side-effect, this also eliminates the annoying dependency on
GList in the tag list.
</content>
</entry>
<entry>
<title>notmuch search: Clean up some memory leaks during search loop.</title>
<updated>2011-01-26T05:59:19Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2011-01-25T13:40:35Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b64afb1ab9924749cd6d3fbfa02e5e42bb0d728b'/>
<id>urn:sha1:b64afb1ab9924749cd6d3fbfa02e5e42bb0d728b</id>
<content type='text'>
With talloc, we were already freeing all memory by the time we exited
the loop, but that didn't help with excess use of memory inside the
loop, (which was mostly from tallocing some objects with the incorrect
parent).

Thanks to Andrew Tridgell for sitting next to me and teaching me to
use talloc_report_full to find these leaks.
</content>
</entry>
<entry>
<title>Optimize thread search using matched docid sets.</title>
<updated>2010-12-08T00:40:05Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2010-11-17T19:28:26Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b3caef1f0659dac8183441357c8fee500a940889'/>
<id>urn:sha1:b3caef1f0659dac8183441357c8fee500a940889</id>
<content type='text'>
This reduces thread search's 1+2t Xapian queries (where t is the
number of matched threads) to 1+t queries and constructs exactly one
notmuch_message_t for each message instead of 2 to 3.
notmuch_query_search_threads eagerly fetches the docids of all
messages matching the user query instead of lazily constructing
message objects and fetching thread ID's from term lists.
_notmuch_thread_create takes a seed docid and the set of all matched
docids and uses a single Xapian query to expand this docid to its
containing thread, using the matched docid set to determine which
messages in the thread match the user query instead of using a second
Xapian query.

This reduces the amount of time required to load my inbox from 4.523
seconds to 3.025 seconds (1.5X faster).
</content>
</entry>
<entry>
<title>notmuch search: Fix to display authors in date order.</title>
<updated>2010-12-08T00:34:52Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-12-08T00:33:29Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b099fc9ea77e7d1fc68b5dd10d1d3adc764c6efc'/>
<id>urn:sha1:b099fc9ea77e7d1fc68b5dd10d1d3adc764c6efc</id>
<content type='text'>
Previously, the authors of the thread were displayed in
reverse-chronological order, which was fairly confusing.
</content>
</entry>
<entry>
<title>lib: Set thread subject at the same time as setting thread-&gt;{oldest,newest}</title>
<updated>2010-12-08T00:27:03Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-12-08T00:26:38Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=a4ce6cfbc63c53934c4c06f1b00ffef1c560b3b5'/>
<id>urn:sha1:a4ce6cfbc63c53934c4c06f1b00ffef1c560b3b5</id>
<content type='text'>
We really want to change the thread subject at the same time we set
the date, (if the sort order indicates this is necessary). The
previous code for setting the thread subject was sensitive on the
query sort when adding matching messages. An independent bug fix is
about to change that query sort order, so we remove the dependency on
it here.
</content>
</entry>
<entry>
<title>lib: Eliminate some redundant includes of xapian.h</title>
<updated>2010-11-02T06:24:40Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-11-02T05:31:45Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d064bd696ccc443a7ece9cfc8816999c69943223'/>
<id>urn:sha1:d064bd696ccc443a7ece9cfc8816999c69943223</id>
<content type='text'>
Most files including this already include database-private.h which
includes xapian.h already.
</content>
</entry>
<entry>
<title>lib: Add some missing static qualifiers.</title>
<updated>2010-11-02T04:58:43Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-11-02T04:58:43Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=67c3bc9db48c9e12d648df4792c706cae723676c'/>
<id>urn:sha1:67c3bc9db48c9e12d648df4792c706cae723676c</id>
<content type='text'>
These various functions and data are all used only locally, so should
be marked static. Ensuring we get these right will avoid us accidentally
leaking unintended symbols through the library interface.
</content>
</entry>
<entry>
<title>Fix SEGV in _thread_cleanup_author if author ends with ', '</title>
<updated>2010-04-27T23:34:27Z</updated>
<author>
<name>Dirk Hohndel</name>
<email>hohndel@infradead.org</email>
</author>
<published>2010-04-27T23:29:22Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=a258cb32b318d831fab5ef64329bd65119b47def'/>
<id>urn:sha1:a258cb32b318d831fab5ef64329bd65119b47def</id>
<content type='text'>
Admittedly, an author name ending in ',' guarantees this is spam, and
indeed this was triggered by a spam email, but that doesn't mean we
shouldn't handle this case correctly.
We now check that there is actually a component of the name (presumably
the first name) after the comma in the author name.

Signed-off-by: Dirk Hohndel &lt;hohndel@infradead.org&gt;
</content>
</entry>
</feed>
