summaryrefslogtreecommitdiff
path: root/mail/mutt/files/patch-threadcomplete
diff options
context:
space:
mode:
Diffstat (limited to 'mail/mutt/files/patch-threadcomplete')
-rw-r--r--mail/mutt/files/patch-threadcomplete80
1 files changed, 22 insertions, 58 deletions
diff --git a/mail/mutt/files/patch-threadcomplete b/mail/mutt/files/patch-threadcomplete
index e4f56f261382..d151009ec1d7 100644
--- a/mail/mutt/files/patch-threadcomplete
+++ b/mail/mutt/files/patch-threadcomplete
@@ -1,18 +1,6 @@
-written by Nicolas Rachinsky <nr@rachinsky.de>
-http://www.rachinsky.de
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published
-by the Free Software Foundation; version 2 of the License.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
---- mutt-1.3.28.ori/mutt.h Thu Mar 14 19:22:25 2002
-+++ mutt.h Fri Mar 15 00:22:41 2002
-@@ -198,6 +198,7 @@
+--- mutt.h.orig2 Mon Sep 6 09:24:17 2004
++++ mutt.h Mon Sep 6 09:27:04 2004
+@@ -212,6 +212,7 @@
M_LIMIT,
M_EXPIRED,
M_SUPERSEDED,
@@ -20,9 +8,9 @@ General Public License for more details.
/* actions for mutt_pattern_comp/mutt_pattern_exec */
M_AND,
---- mutt-1.3.28.ori/pattern.c Thu Mar 14 19:22:26 2002
-+++ pattern.c Fri Mar 15 00:23:52 2002
-@@ -50,6 +50,7 @@
+--- pattern.c.orig2 Sun Sep 18 15:17:46 2005
++++ pattern.c Sun Sep 18 15:19:48 2005
+@@ -54,6 +54,7 @@
}
Flags[] =
{
@@ -30,44 +18,20 @@ General Public License for more details.
{ 'A', M_ALL, 0, NULL },
{ 'b', M_BODY, M_FULL_MSG, eat_regexp },
{ 'B', M_WHOLE_MSG, M_FULL_MSG, eat_regexp },
-@@ -957,6 +958,27 @@
- return alladdr;
- }
-
-+static int match_threadcomplete(int flag,THREAD *t,int left,int up,int right,int down)
-+{
-+ int a=0;
-+ HEADER *h=NULL;
-+
-+ if(! t)return 0;
-+ h=t->message;
-+ if(! flag && h && h->tagged)return 1;
-+ if(flag && h && ! h->tagged) return 1;
-+
-+ if(up)a=match_threadcomplete(flag,t->parent,1,1,1,0);
-+ if(a)return a;
-+ if(right && t->parent)a=match_threadcomplete(flag,t->next,0,0,1,1);
-+ if(a)return a;
-+ if(left && t->parent)a=match_threadcomplete(flag,t->prev,1,0,0,1);
-+ if(a)return a;
-+ if(down)a=match_threadcomplete(flag,t->child,1,0,1,1);
-+ if(a)return a;
-+ return 0;
-+}
-+
- /* flags
- M_MATCH_FULL_ADDRESS match both personal and machine address */
- int
-@@ -1053,6 +1075,8 @@
- return (pat->not ^ (h->env->x_label && regexec (pat->rx, h->env->x_label, 0, NULL, 0) == 0));
- case M_DUPLICATED:
- return (pat->not ^ (h->thread && h->thread->duplicate_thread));
+@@ -1139,6 +1140,16 @@
+ 2, h->env->to, h->env->cc));
+ case M_LIST: /* known list, subscribed or not */
+ return (pat->not ^ mutt_is_list_cc (pat->alladdr, h->env->to, h->env->cc));
+ case M_THREADCOMPLETE:
-+ return ((h->thread && match_threadcomplete(pat->not,h->thread,1,1,1,1)));
- }
- mutt_error (_("error: unknown op %d (report this error)."), pat->op);
- return (-1);
---- PATCHES~ Tue Nov 6 19:59:33 2001
-+++ PATCHES Tue Nov 6 19:59:42 2001
-@@ -1,0 +1 @@
-+1.3.28.nr.threadcomplete
++ { static pattern_t tmp;
++ static short pattern_set = 0;
++ if(! pattern_set) {
++ memset (&tmp, 0, sizeof (tmp));
++ tmp.op = M_TAG;
++ pattern_set = 1;
++ }
++ return (pat->not ^ (h->env && match_threadcomplete(&tmp, flags, ctx, h->thread, 1, 1, 1, 1)));
++ }
+ case M_SUBSCRIBED_LIST:
+ return (pat->not ^ mutt_is_list_recipient (pat->alladdr, h->env->to, h->env->cc));
+ case M_PERSONAL_RECIP: