When _notmuch_thread_create() is given a query string, it can return more
messages than just those matching the query. To distinguish those that
matched the query expression, the MATCHING_SEARCH flag is set
appropriately.
Signed-off-by: Bart Trojanowski <bart@jukie.net>
/* Message flags */
typedef enum _notmuch_message_flag {
+ NOTMUCH_MSG_FLAG_MATCHING_SEARCH,
} notmuch_message_flag_t;
/* Get a value of a flag for the email corresponding to 'message'. */
notmuch_message_t *message)
{
time_t date;
+ notmuch_message_t *hashed_message;
date = notmuch_message_get_date (message);
thread->newest = date;
thread->matched_messages++;
+
+ if (g_hash_table_lookup_extended (thread->message_hash,
+ notmuch_message_get_message_id (message), NULL,
+ (void **) &hashed_message)) {
+ notmuch_message_set_flag (hashed_message,
+ NOTMUCH_MSG_FLAG_MATCHING_SEARCH, 1);
+ }
}
static void