summaryrefslogtreecommitdiff
path: root/mail/mutt-devel/files/patch-threadcomplete
diff options
context:
space:
mode:
authorRenato Botelho <garga@FreeBSD.org>2006-09-01 13:46:22 +0000
committerRenato Botelho <garga@FreeBSD.org>2006-09-01 13:46:22 +0000
commit1783cd17e47eeecb8ae7da7b186c9a9273f5b3ab (patch)
tree88e810d3b747cadaa06c27f108993620d00e019d /mail/mutt-devel/files/patch-threadcomplete
parent- Update to 1.0.11 (diff)
- Update to 1.5.13
PR: ports/102697 Submitted by: Udo Schweigert <udo.schweigert@siemens.com> (maintainer)
Notes
Notes: svn path=/head/; revision=171806
Diffstat (limited to 'mail/mutt-devel/files/patch-threadcomplete')
-rw-r--r--mail/mutt-devel/files/patch-threadcomplete107
1 files changed, 0 insertions, 107 deletions
diff --git a/mail/mutt-devel/files/patch-threadcomplete b/mail/mutt-devel/files/patch-threadcomplete
index 195c9a736126..d151009ec1d7 100644
--- a/mail/mutt-devel/files/patch-threadcomplete
+++ b/mail/mutt-devel/files/patch-threadcomplete
@@ -1,110 +1,3 @@
-diff -Nru a/PATCHES b/PATCHES
---- PATCHES
-+++ PATCHES
-@@ -0,0 +1 @@
-+patch-1.5.6+20040904.tg.mutt-thread.3
-diff -Nru a/mutt.h b/mutt.h
---- mutt.h 2004-07-24 12:27:21 +02:00
-+++ mutt.h 2004-09-04 12:36:18 +02:00
-@@ -211,6 +211,7 @@
- /* actions for mutt_pattern_comp/mutt_pattern_exec */
- M_AND,
- M_OR,
-+ M_THREAD,
- M_TO,
- M_CC,
- M_COLLAPSED,
-diff -Nru a/pattern.c b/pattern.c
---- pattern.c 2004-07-24 12:27:23 +02:00
-+++ pattern.c 2004-09-04 12:37:52 +02:00
-@@ -700,7 +700,7 @@
- pattern_t *mutt_pattern_comp (/* const */ char *s, int flags, BUFFER *err)
- {
- pattern_t *curlist = NULL;
-- pattern_t *tmp;
-+ pattern_t *tmp, *tmp2;
- pattern_t *last = NULL;
- int not = 0;
- int alladdr = 0;
-@@ -755,6 +755,39 @@
- alladdr = 0;
- break;
- case '~':
-+ if (*(ps.dptr + 1) == '(') {
-+ ps.dptr ++; /* skip ~ */
-+ p = find_matching_paren (ps.dptr + 1);
-+ if (*p != ')')
-+ {
-+ snprintf (err->data, err->dsize, _("mismatched brackets: %s"), ps.dptr);
-+ mutt_pattern_free (&curlist);
-+ return NULL;
-+ }
-+ tmp = new_pattern ();
-+ tmp->op = M_THREAD;
-+ if (last)
-+ last->next = tmp;
-+ else
-+ curlist = tmp;
-+ last = tmp;
-+ tmp->not ^= not;
-+ tmp->alladdr |= alladdr;
-+ not = 0;
-+ alladdr = 0;
-+ /* compile the sub-expression */
-+ buf = mutt_substrdup (ps.dptr + 1, p);
-+ if ((tmp2 = mutt_pattern_comp (buf, flags, err)) == NULL)
-+ {
-+ FREE (&buf);
-+ mutt_pattern_free (&curlist);
-+ return NULL;
-+ }
-+ FREE (&buf);
-+ tmp->child = tmp2;
-+ ps.dptr = p + 1; /* restore location */
-+ break;
-+ }
- if (implicit && or)
- {
- /* A | B & C == (A | B) & C */
-@@ -945,6 +978,29 @@
- return alladdr;
- }
-
-+static int match_threadcomplete(struct pattern_t *pat, pattern_exec_flag flags, CONTEXT *ctx, THREAD *t,int left,int up,int right,int down)
-+{
-+ int a;
-+ HEADER *h;
-+
-+ if(!t)
-+ return 0;
-+ h = t->message;
-+ if(h)
-+ if(mutt_pattern_exec(pat, flags, ctx, h))
-+ return 1;
-+
-+ if(up && (a=match_threadcomplete(pat, flags, ctx, t->parent,1,1,1,0)))
-+ return a;
-+ if(right && t->parent && (a=match_threadcomplete(pat, flags, ctx, t->next,0,0,1,1)))
-+ return a;
-+ if(left && t->parent && (a=match_threadcomplete(pat, flags, ctx, t->prev,1,0,0,1)))
-+ return a;
-+ if(down && (a=match_threadcomplete(pat, flags, ctx, t->child,1,0,1,1)))
-+ return a;
-+ return 0;
-+}
-+
- /* flags
- M_MATCH_FULL_ADDRESS match both personal and machine address */
- int
-@@ -958,6 +1014,8 @@
- return (pat->not ^ (perform_and (pat->child, flags, ctx, h) > 0));
- case M_OR:
- return (pat->not ^ (perform_or (pat->child, flags, ctx, h) > 0));
-+ case M_THREAD:
-+ return (pat->not ^ match_threadcomplete(pat->child, flags, ctx, h->thread, 1, 1, 1, 1));
- case M_ALL:
- return (!pat->not);
- case M_EXPIRED:
--- mutt.h.orig2 Mon Sep 6 09:24:17 2004
+++ mutt.h Mon Sep 6 09:27:04 2004
@@ -212,6 +212,7 @@