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

76 lines
2.4 KiB
Diff
Raw Normal View History

ask when sending list message replies to author only - Armin Wolfermann (aw)
---
PATCHES | 1 +
init.h | 7 +++++++
mutt.h | 1 +
send.c | 18 ++++++++++++++++++
4 files changed, 27 insertions(+)
--- mutt-1.5.23/PATCHES
+++ mutt-1.5.23/PATCHES 2015-01-26 15:34:40.133518493 +0000
@@ -1,2 +1,3 @@
+patch-1.5.9.aw.listreply.1
patch-1.5.23.sidebar.20140412.txt
rr.compressed
--- mutt-1.5.23/init.h
+++ mutt-1.5.23/init.h 2012-06-21 09:48:22.000000000 +0000
@@ -1340,6 +1340,13 @@ struct option_t MuttVars[] = {
** The locale used by \fCstrftime(3)\fP to format dates. Legal values are
** the strings your system accepts for the locale environment variable \fC$$$LC_TIME\fP.
*/
+ { "list_reply", DT_QUAD, R_NONE, OPT_LISTREPLY, M_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, UL &BuffyTimeout, 5 },
/*
** .pp
--- mutt-1.5.23/mutt.h
+++ mutt-1.5.23/mutt.h 2012-06-21 09:48:22.000000000 +0000
@@ -288,6 +288,7 @@ enum
#endif
OPT_SUBJECT,
OPT_VERIFYSIG, /* verify PGP signatures */
+ OPT_LISTREPLY,
/* THIS MUST BE THE LAST VALUE. */
OPT_MAX
--- mutt-1.5.23/send.c
+++ mutt-1.5.23/send.c 2012-06-21 09:48:22.000000000 +0000
@@ -452,6 +452,7 @@ static int include_reply (CONTEXT *ctx,
static int default_to (ADDRESS **to, ENVELOPE *env, int flags, int hmfupto)
{
char prompt[STRING];
+ ADDRESS *tmp;
if (flags && env->mail_followup_to && hmfupto == M_YES)
{
@@ -465,6 +466,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) && 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 M_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(OPTREPLYSELF) && mutt_addr_is_user (env->from))
{
/* mail is from the user, assume replying to recipients */