From: Carl Worth Date: Fri, 13 Nov 2009 18:50:52 +0000 (-0800) Subject: notmuch reply: Prefer "Reply-To" header over "From" for choosing recipient. X-Git-Tag: 0.1~502 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=f9f897ae27b4443bfa0f2d55600f5120fc1153ac;p=notmuch.git notmuch reply: Prefer "Reply-To" header over "From" for choosing recipient. There are still open questions about how to correctly compute the intended list of recipients. We'll probably need separate "reply to sender" and "reply to all" commands at some point (unfortunately). --- diff --git a/notmuch-reply.c b/notmuch-reply.c index 86e9b3a2..42060665 100644 --- a/notmuch-reply.c +++ b/notmuch-reply.c @@ -182,12 +182,13 @@ notmuch_reply_command (void *ctx, int argc, char *argv[]) char *reply_headers; struct { const char *header; + const char *fallback; GMimeRecipientType recipient_type; } reply_to_map[] = { - { "from", GMIME_RECIPIENT_TYPE_TO }, - { "to", GMIME_RECIPIENT_TYPE_TO }, - { "cc", GMIME_RECIPIENT_TYPE_CC }, - { "bcc", GMIME_RECIPIENT_TYPE_BCC } + { "reply-to", "from", GMIME_RECIPIENT_TYPE_TO }, + { "to", NULL, GMIME_RECIPIENT_TYPE_TO }, + { "cc", NULL, GMIME_RECIPIENT_TYPE_CC }, + { "bcc", NULL, GMIME_RECIPIENT_TYPE_BCC } }; unsigned int i; @@ -235,6 +236,10 @@ notmuch_reply_command (void *ctx, int argc, char *argv[]) recipients = notmuch_message_get_header (message, reply_to_map[i].header); + if (recipients == NULL && reply_to_map[i].fallback) + recipients = notmuch_message_get_header (message, + reply_to_map[i].fallback); + addr = add_recipients_for_string (reply, config, reply_to_map[i].recipient_type, recipients);