1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-23 00:43:28 +00:00

o Add patch for the new ~a function. By this one can tag entire

threads via "T ~a" (means: tag all entire threads where at least
  one message of the tread is tagged).
o Bump PORTREVISION.

PR:		ports/54361
Submitted by:	Udo Schweigert <udo.schweigert@siemens.com> (maintainer)
This commit is contained in:
Norikatsu Shigemura 2003-07-11 17:32:26 +00:00
parent b447f0df74
commit 8c49dc2107
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=84687
2 changed files with 74 additions and 1 deletions

View File

@ -75,7 +75,7 @@
PORTNAME= mutt-devel
PORTVERSION= 1.5.4
PORTREVISION?= 3
PORTREVISION?= 4
CATEGORIES+= mail ipv6
.if defined(WITH_MUTT_NNTP)
CATEGORIES+= news

View File

@ -0,0 +1,73 @@
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 @@
M_LIMIT,
M_EXPIRED,
M_SUPERSEDED,
+ M_THREADCOMPLETE,
/* actions for mutt_pattern_comp/mutt_pattern_exec */
M_AND,
--- pattern.c.orig Fri Jul 11 09:19:06 2003
+++ pattern.c Fri Jul 11 09:23:17 2003
@@ -44,6 +44,7 @@
}
Flags[] =
{
+ { 'a', M_THREADCOMPLETE, 0, NULL },
{ 'A', M_ALL, 0, NULL },
{ 'b', M_BODY, M_FULL_MSG, eat_regexp },
{ 'B', M_WHOLE_MSG, M_FULL_MSG, eat_regexp },
@@ -946,6 +947,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
@@ -1024,6 +1046,8 @@
pat->alladdr, 2, h->env->to, h->env->cc));
case M_LIST:
return (pat->not ^ mutt_is_list_recipient (pat->alladdr, h->env->to, h->env->cc));
+ case M_THREADCOMPLETE:
+ return ((h->thread && match_threadcomplete(pat->not,h->thread,1,1,1,1)));
case M_PERSONAL_RECIP:
return (pat->not ^ match_user (pat->alladdr, h->env->to, h->env->cc));
case M_PERSONAL_FROM:
--- PATCHES~ Tue Nov 6 19:59:33 2001
+++ PATCHES Tue Nov 6 19:59:42 2001
@@ -1,0 +1 @@
+1.3.28.nr.threadcomplete