+Fix notmuch_query_count_messages to share code with
+notmuch_query_search_messages rather than duplicating code. (And
+consider renaming it as well.)
+
+Provide a mechanism for doing automatic address completion based on
+notmuch searches. Here was one proposal made in IRC:
+
+ <cworth> I guess all it would really have to be would be a way
+ to configure a series of searches to try in turn,
+ (presenting ambiguities at a given single level, and
+ advancing to the next level only if one level
+ returned no matches).
+ <cworth> So then I might have a series that looks like this:
+ <cworth> notmuch search --output=address_from tag:address_book_alias
+ <cworth> notmuch search --output=address_to tag:sent
+ <cworth> notmuch search --output=address_from
+ <cworth> I think I might like that quite a bit.
+ <cworth> And then we have a story for an address book for
+ non-emacs users.
+
+Provide a ~me Xapian synonym for all of the user's configured email
+addresses.
+
+Add symbol hiding so that we don't risk leaking any private symbols
+into the shared-library interface.
+
+Audit all libnotmuch entry points to ensure that all Xapian calls are
+wrapped in a try/catch block.
+
+Fix the "count" functionality to be exact as Olly explained in IRC:
+
+ ojwb> cworth: if you set the check_at_least parameter to the
+ database size, get_matches_estimated() will be exact
+
+Search syntax
+-------------
+Implement support for "tag:*" to expand to all tags.
+
+Fix "notmuch search to:" to be less confusing. Many users expect this
+to search for all messages with a To: header, but it instead searches
+for all messages with the word "to". If we don't provide the first
+behavior, perhaps we should exit on an error when a configured prefix
+is provided with no value?
+
+Support "*" in all cases and not just as a special case. That is, "* "
+should also work, as well as "* and tag:inbox".