]> git.notmuchmail.org Git - notmuch/blobdiff - lib/thread.cc
have _notmuch_thread_create mark which messages matched the query
[notmuch] / lib / thread.cc
index 9bb6a5e1f4d11b8ba50e89c7377e4e3122cc3ed4..9e4cb5c89174cc697af2c3f828a66eeb9497024a 100644 (file)
@@ -132,6 +132,7 @@ _thread_add_matched_message (notmuch_thread_t *thread,
                             notmuch_message_t *message)
 {
     time_t date;
                             notmuch_message_t *message)
 {
     time_t date;
+    notmuch_message_t *hashed_message;
 
     date = notmuch_message_get_date (message);
 
 
     date = notmuch_message_get_date (message);
 
@@ -142,6 +143,13 @@ _thread_add_matched_message (notmuch_thread_t *thread,
        thread->newest = date;
 
     thread->matched_messages++;
        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
 }
 
 static void
@@ -190,7 +198,7 @@ _resolve_thread_relationships (unused (notmuch_thread_t *thread))
  * subject line, the total count of messages, and all authors). The
  * second search is for all messages that are in the thread and that
  * also match the given query_string. This is to allow for a separate
  * subject line, the total count of messages, and all authors). The
  * second search is for all messages that are in the thread and that
  * also match the given query_string. This is to allow for a separate
- * count of matched messages, and to allow a viewer to diplay these
+ * count of matched messages, and to allow a viewer to display these
  * messages differently.
  *
  * Here, 'ctx' is talloc context for the resulting thread object.
  * messages differently.
  *
  * Here, 'ctx' is talloc context for the resulting thread object.
@@ -260,7 +268,7 @@ _notmuch_thread_create (void *ctx,
 
     notmuch_query_set_sort (thread_id_query, NOTMUCH_SORT_OLDEST_FIRST);
 
 
     notmuch_query_set_sort (thread_id_query, NOTMUCH_SORT_OLDEST_FIRST);
 
-    for (messages = notmuch_query_search_messages (thread_id_query, 0, -1);
+    for (messages = notmuch_query_search_messages (thread_id_query);
         notmuch_messages_has_more (messages);
         notmuch_messages_advance (messages))
     {
         notmuch_messages_has_more (messages);
         notmuch_messages_advance (messages))
     {
@@ -271,7 +279,7 @@ _notmuch_thread_create (void *ctx,
 
     notmuch_query_destroy (thread_id_query);
 
 
     notmuch_query_destroy (thread_id_query);
 
-    for (messages = notmuch_query_search_messages (matched_query, 0, -1);
+    for (messages = notmuch_query_search_messages (matched_query);
         notmuch_messages_has_more (messages);
         notmuch_messages_advance (messages))
     {
         notmuch_messages_has_more (messages);
         notmuch_messages_advance (messages))
     {