1
0
forked from pool/mutt
mutt/aw.listreply.diff

61 lines
1.9 KiB
Diff

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
@@ -1864,6 +1864,13 @@ struct option_t MuttVars[] = {
** from your spool mailbox to your $$mbox mailbox, or as a result of
** a ``$mbox-hook'' command.
*/
+ { "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
@@ -341,6 +341,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;