* The library version number. This must agree with the soname
* version in Makefile.local.
*/
-#define LIBNOTMUCH_MAJOR_VERSION 3
-#define LIBNOTMUCH_MINOR_VERSION 1
+#define LIBNOTMUCH_MAJOR_VERSION 4
+#define LIBNOTMUCH_MINOR_VERSION 2
#define LIBNOTMUCH_MICRO_VERSION 0
#endif /* __DOXYGEN__ */
* to call it if the query is about to be destroyed).
*
* If a Xapian exception occurs this function will return NULL.
+ * For better error reporting, use the _st variant.
*/
notmuch_threads_t *
notmuch_query_search_threads (notmuch_query_t *query);
+/**
+ * Like notmuch_query_search_threads, but with a status return.
+ */
+notmuch_status_t
+notmuch_query_search_threads_st (notmuch_query_t *query,
+ notmuch_threads_t **out);
+
/**
* Execute a query for messages, returning a notmuch_messages_t object
* which can be used to iterate over the results. The returned
* reason to call it if the query is about to be destroyed).
*
* If a Xapian exception occurs this function will return NULL.
+ * For better error reporting, use the _st variant.
*/
notmuch_messages_t *
notmuch_query_search_messages (notmuch_query_t *query);
+/**
+ * Like notmuch_query_search_messages, but with a status return.
+ */
+notmuch_status_t
+notmuch_query_search_messages_st (notmuch_query_t *query,
+ notmuch_messages_t **out);
+
/**
* Destroy a notmuch_query_t along with any associated resources.
*
notmuch_threads_destroy (notmuch_threads_t *threads);
/**
- * Return an estimate of the number of messages matching a search.
+ * Return the number of messages matching a search.
*
- * This function performs a search and returns Xapian's best
- * guess as to number of matching messages.
+ * This function performs a search and returns the number of matching
+ * messages.
*
* If a Xapian exception occurs, this function may return 0 (after
* printing a message).
*/
typedef enum _notmuch_message_flag {
NOTMUCH_MESSAGE_FLAG_MATCH,
- NOTMUCH_MESSAGE_FLAG_EXCLUDED
+ NOTMUCH_MESSAGE_FLAG_EXCLUDED,
+
+ /* This message is a "ghost message", meaning it has no filenames
+ * or content, but we know it exists because it was referenced by
+ * some other message. A ghost message has only a message ID and
+ * thread ID.
+ */
+ NOTMUCH_MESSAGE_FLAG_GHOST,
} notmuch_message_flag_t;
/**