ask when sending list message replies to author only - Armin Wolfermann (aw) --- init.h | 7 +++++++ mutt.h | 1 + send.c | 17 +++++++++++++++++ 3 files changed, 25 insertions(+) --- init.h +++ init.h 2020-01-14 13:35:13.352604037 +0000 @@ -1960,6 +1960,13 @@ struct option_t MuttVars[] = { ** If \fIset\fP, convert the date in the Date header of sent emails into local ** (sender's) timezone. */ + { "list_reply", DT_QUAD, R_NONE, {.l=OPT_LISTREPLY}, {.l=MUTT_NO} }, + /* + ** .pp + ** When set, address replies to the mailing list the original message came + ** from (instead to the author only). Setting this option to ``ask-yes'' or + ** ``ask-no'' will ask if you really intended to reply to the author only. + */ { "mail_check", DT_NUM, R_NONE, {.p=&BuffyTimeout}, {.l=5} }, /* ** .pp --- mutt.h +++ mutt.h 2020-01-14 13:32:27.595685455 +0000 @@ -342,6 +342,7 @@ enum #endif OPT_SUBJECT, OPT_VERIFYSIG, /* verify PGP signatures */ + OPT_LISTREPLY, /* THIS MUST BE THE LAST VALUE. */ OPT_MAX --- send.c +++ send.c 2020-01-14 13:32:27.599685379 +0000 @@ -582,6 +582,23 @@ static int default_to (ADDRESS **to, ENV if (flags & SENDLISTREPLY) return 0; + /* If this message came from a mailing list, ask the user if he really + * intended to reply to the author only. + */ + if (!(flags & (SENDGROUPREPLY|SENDGROUPCHATREPLY)) && mutt_is_list_cc (0, env->to, env->cc)) { + switch (query_quadoption (OPT_LISTREPLY, + _("Message came from a mailing list. Reply to author only?"))) + { + case MUTT_NO: + default_addr = find_mailing_lists (env->to, env->cc); + rfc822_append (to, default_addr, 0); + rfc822_free_address (&default_addr); + return 0; + case -1: + return -1; /* abort */ + } + } + if (!option(OPTREPLYSELF) && mutt_addr_is_user (env->from)) { default_addr = env->to;