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

69 lines
2.2 KiB
Diff

ask when sending list message replies to author only - Armin Wolfermann (aw)
---
init.h | 7 +++++++
mutt.h | 1 +
send.c | 18 ++++++++++++++++++
3 files changed, 26 insertions(+)
--- init.h
+++ init.h 2017-09-11 11:57:46.199273705 +0000
@@ -1662,6 +1662,13 @@ struct Option MuttVars[] = {
** ``$$keywords_standard'' are \fCfalse\fP, mutt will save keywords
** to legacy headers to ensure that it does not lose your labels.
*/
+ { "list_reply", DT_QUAD, R_NONE, OPT_LIST_REPLY, 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_NUMBER, R_NONE, UL &MailCheck, 5 },
/*
** .pp
--- mutt.h
+++ mutt.h 2017-09-11 11:59:08.957770801 +0000
@@ -266,6 +266,7 @@ enum QuadOptionVars
#endif
OPT_ABORT_NOSUBJECT,
OPT_CRYPT_VERIFY_SIG, /* verify PGP signatures */
+ OPT_LIST_REPLY,
#ifdef USE_NNTP
OPT_POST_MODERATED,
OPT_CATCHUP_NEWSGROUP,
--- send.c
+++ send.c 2017-09-11 12:00:28.680322715 +0000
@@ -532,6 +532,7 @@ static int include_reply(struct Context
static int default_to(struct Address **to, struct Envelope *env, int flags, int hmfupto)
{
char prompt[STRING];
+ struct Address *tmp;
if (flags && env->mail_followup_to && hmfupto == MUTT_YES)
{
@@ -545,6 +546,23 @@ static int default_to(struct Address **t
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) && mutt_is_list_cc (0, env->to, env->cc)) {
+ switch (query_quadoption (OPT_LIST_REPLY,
+ _("Message came from a mailing list. Reply to author only?")))
+ {
+ case MUTT_NO:
+ tmp = find_mailing_lists (env->to, env->cc);
+ rfc822_append (to, tmp, 0);
+ rfc822_free_address (&tmp);
+ return 0;
+ case -1:
+ return -1; /* abort */
+ }
+ }
+
if (!option(OPT_REPLY_SELF) && mutt_addr_is_user(env->from))
{
/* mail is from the user, assume replying to recipients */