From: Joel Borggrén-Franck <jbf@codehouse.se> Add headers cc: bcc: and to: to index. Real header to: is searched as "exactto:foo@bar.baz" and search term "to:" is kept as a union of cc:, bcc: and to: for backward compatibility. Use search term "cc:" resp. "bcc:" to search those headers respectively. --- lib/database.cc | 11 +++++++---- lib/index.cc | 9 +++++++++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/lib/database.cc b/lib/database.cc index 7a00917..68910f3 100644 --- a/lib/database.cc +++ b/lib/database.cc @@ -88,9 +88,9 @@ typedef struct { * MESSAGE_ID: The unique ID of the mail mess (see "id" above) * * In addition, terms from the content of the message are added with - * "from", "to", "attachment", and "subject" prefixes for use by the - * user in searching. But the database doesn't really care itself - * about any of these. + * "from", "to", "exactto", "cc", "bbc", "attachment" and "subject" + * prefixes for use by the user in searching. But the database doesn't + * really care itself about any of these. * * The data portion of a mail document is empty. * @@ -204,7 +204,10 @@ static prefix_t PROBABILISTIC_PREFIX[]= { { "from", "XFROM" }, { "to", "XTO" }, { "attachment", "XATTACHMENT" }, - { "subject", "XSUBJECT"} + { "subject", "XSUBJECT"}, + { "exactto", "XEXACTTO"}, + { "cc", "XCC"}, + { "bcc", "XBCC"}, }; int diff --git a/lib/index.cc b/lib/index.cc index 00478f8..d59c255 100644 --- a/lib/index.cc +++ b/lib/index.cc @@ -455,6 +455,15 @@ _notmuch_message_index_file (notmuch_message_t *message, _index_address_list (message, "from", addresses); + addresses = g_mime_message_get_recipients (mime_message, GMIME_RECIPIENT_TYPE_TO); + _index_address_list (message, "exactto", addresses); + + addresses = g_mime_message_get_recipients (mime_message, GMIME_RECIPIENT_TYPE_CC); + _index_address_list (message, "cc", addresses); + + addresses = g_mime_message_get_recipients (mime_message, GMIME_RECIPIENT_TYPE_BCC); + _index_address_list (message, "bcc", addresses); + addresses = g_mime_message_get_all_recipients (mime_message); _index_address_list (message, "to", addresses); -- 1.7.3.2