View | Details | Raw Unified | Return to bug 102697
Collapse All | Expand All

(-)./Makefile (-8 / +3 lines)
Lines 106-112 Link Here
106
#
106
#
107
107
108
PORTNAME=	mutt-devel
108
PORTNAME=	mutt-devel
109
PORTVERSION=	1.5.12
109
PORTVERSION=	1.5.13
110
PORTREVISION?=	0
110
PORTREVISION?=	0
111
CATEGORIES+=	mail ipv6
111
CATEGORIES+=	mail ipv6
112
.if defined(WITH_MUTT_NNTP)
112
.if defined(WITH_MUTT_NNTP)
Lines 329-339 Link Here
329
.endif
329
.endif
330
.endif
330
.endif
331
331
332
.if defined(WITH_MUTT_SIDEBAR_PATCH)
333
post-patch::
334
	@${PATCH} ${PATCH_ARGS} < ${PATCHDIR}/extra-patch-sidebar
335
.endif
336
337
.if defined(WITH_MUTT_ASPELL)
332
.if defined(WITH_MUTT_ASPELL)
338
post-patch::
333
post-patch::
339
	@${PATCH} ${PATCH_ARGS} < ${PATCHDIR}/extra-patch-aspell
334
	@${PATCH} ${PATCH_ARGS} < ${PATCHDIR}/extra-patch-aspell
Lines 419-425 Link Here
419
PATCHFILES+=	p0-patch-${DW_MBOX_PATCH_VERSION}.dw.mbox-hook.1:dw
414
PATCHFILES+=	p0-patch-${DW_MBOX_PATCH_VERSION}.dw.mbox-hook.1:dw
420
.endif
415
.endif
421
.if defined(WITH_MUTT_SIDEBAR_PATCH)
416
.if defined(WITH_MUTT_SIDEBAR_PATCH)
422
SIDEBAR_PATCH=	patch-1.5.12.sidebar.20060720.txt
417
SIDEBAR_PATCH=	patch-1.5.13.sidebar.20060828.txt
423
DISTFILES+=	${SIDEBAR_PATCH}:tchan
418
DISTFILES+=	${SIDEBAR_PATCH}:tchan
424
XML_NEEDED=	yes
419
XML_NEEDED=	yes
425
pre-patch::
420
pre-patch::
Lines 442-448 Link Here
442
	@${REINPLACE_CMD} -e 's,pgp6,pgp,g' \
437
	@${REINPLACE_CMD} -e 's,pgp6,pgp,g' \
443
		${WRKSRC}/contrib/pgp6.rc
438
		${WRKSRC}/contrib/pgp6.rc
444
	@${REINPLACE_CMD} -E -e 's|@samplesdir@|${EXAMPLESDIR}|g' \
439
	@${REINPLACE_CMD} -E -e 's|@samplesdir@|${EXAMPLESDIR}|g' \
445
		${WRKSRC}/contrib/Makefile.in
440
		${WRKSRC}/contrib/Makefile.am
446
441
447
pre-configure::
442
pre-configure::
448
	@(cd ${WRKSRC}; ${SETENV} ${AUTOMAKE_ENV} ${ACLOCAL} -I m4)
443
	@(cd ${WRKSRC}; ${SETENV} ${AUTOMAKE_ENV} ${ACLOCAL} -I m4)
(-)./distinfo (-18 / +18 lines)
Lines 1-27 Link Here
1
MD5 (mutt/mutt-1.5.12.tar.gz) = 57196c816211a72900fdc54341eb0132
1
MD5 (mutt/mutt-1.5.13.tar.gz) = 456a138680a6726f14983cb3e9ff4e22
2
SHA256 (mutt/mutt-1.5.12.tar.gz) = 0d0c2ab6cea0d93579bc5490fafdae3bf640070d993490c7b00ccac4fa808b67
2
SHA256 (mutt/mutt-1.5.13.tar.gz) = e0481690c0caf23b5c88359b2dbac70308f8f138663e8fee482b163562fe8da9
3
SIZE (mutt/mutt-1.5.12.tar.gz) = 3440835
3
SIZE (mutt/mutt-1.5.13.tar.gz) = 3442681
4
MD5 (mutt/patch-1.5.12.rr.compressed.gz) = 9a164da2a647de6a6e19c4d43bd032aa
4
MD5 (mutt/patch-1.5.13.rr.compressed.gz) = 2f1d2b9defc3ad81ab3893aefdaa8fe4
5
SHA256 (mutt/patch-1.5.12.rr.compressed.gz) = 8311bdb651a39e492ac66591324c0c21a3d7c7c7c487a86676db01fd62f12606
5
SHA256 (mutt/patch-1.5.13.rr.compressed.gz) = 236ea2ed2c5b0195d1f72647d17de5c4cbe7faf78de4cdeb983ab6799baf2f7d
6
SIZE (mutt/patch-1.5.12.rr.compressed.gz) = 10066
6
SIZE (mutt/patch-1.5.13.rr.compressed.gz) = 10058
7
MD5 (mutt/patch-1.5.12.vvv.nntp.gz) = 7cbc1e12a743b3ad9a594a5da29f6d35
7
MD5 (mutt/patch-1.5.13.vvv.nntp.gz) = 68af2e3641d2e46546ad29d66781a700
8
SHA256 (mutt/patch-1.5.12.vvv.nntp.gz) = 5d921156e0b3e6ccb53964c8308a0c3f2b57357512b453a8bdfa49e7978c0f05
8
SHA256 (mutt/patch-1.5.13.vvv.nntp.gz) = bfd8431c35dfd47fe8de502ae93cb9969c18ea464ed1fe832c6443f9e12a5577
9
SIZE (mutt/patch-1.5.12.vvv.nntp.gz) = 54910
9
SIZE (mutt/patch-1.5.13.vvv.nntp.gz) = 54834
10
MD5 (mutt/patch-1.5.4.cd.ifdef.1) = a545036cdb55519154d0b35465f52daa
10
MD5 (mutt/patch-1.5.4.cd.ifdef.1) = a545036cdb55519154d0b35465f52daa
11
SHA256 (mutt/patch-1.5.4.cd.ifdef.1) = 7d11892bcc688bbc82b5996ca0fda2d4446d8e928bec50b2731f8a3a5d9be373
11
SHA256 (mutt/patch-1.5.4.cd.ifdef.1) = 7d11892bcc688bbc82b5996ca0fda2d4446d8e928bec50b2731f8a3a5d9be373
12
SIZE (mutt/patch-1.5.4.cd.ifdef.1) = 3545
12
SIZE (mutt/patch-1.5.4.cd.ifdef.1) = 3545
13
MD5 (mutt/patch-1.5.12.vvv.initials.gz) = 1cc3b352f92c14f619c534aaa8e4900d
13
MD5 (mutt/patch-1.5.13.vvv.initials.gz) = 52df400d31e225c02bea2f575db03b2a
14
SHA256 (mutt/patch-1.5.12.vvv.initials.gz) = 4b4e8953c0d8144366ae8ca1a616253218981dbca4bf312c87766fa9c408833f
14
SHA256 (mutt/patch-1.5.13.vvv.initials.gz) = b6e1dc90fc871ea6227da33f7c69d12175836eac0d98154096f51dfee5568914
15
SIZE (mutt/patch-1.5.12.vvv.initials.gz) = 683
15
SIZE (mutt/patch-1.5.13.vvv.initials.gz) = 682
16
MD5 (mutt/patch-1.5.12.vvv.quote.gz) = 48df3c09a4a467ce0347588ecff1d73b
16
MD5 (mutt/patch-1.5.13.vvv.quote.gz) = 3afa1bb8065ff207420ba9bc4fe2ae8c
17
SHA256 (mutt/patch-1.5.12.vvv.quote.gz) = 5110a3437311e07216b102c17f3888b4fff2f593f1107fd46247559028b9d6d2
17
SHA256 (mutt/patch-1.5.13.vvv.quote.gz) = 77f3d497796a1112f1908ac9bdc12babaa6146824e878f8cb284accda0499de7
18
SIZE (mutt/patch-1.5.12.vvv.quote.gz) = 1967
18
SIZE (mutt/patch-1.5.13.vvv.quote.gz) = 1965
19
MD5 (mutt/p0-patch-1.5.6.dw.mbox-hook.1) = 9e29a6778ab07a4de3442691e4573fea
19
MD5 (mutt/p0-patch-1.5.6.dw.mbox-hook.1) = 9e29a6778ab07a4de3442691e4573fea
20
SHA256 (mutt/p0-patch-1.5.6.dw.mbox-hook.1) = ec9511b86a595f9b4f1f96b05d9e9e12e997bc62b0a0f2b5a36e2817dee61406
20
SHA256 (mutt/p0-patch-1.5.6.dw.mbox-hook.1) = ec9511b86a595f9b4f1f96b05d9e9e12e997bc62b0a0f2b5a36e2817dee61406
21
SIZE (mutt/p0-patch-1.5.6.dw.mbox-hook.1) = 6405
21
SIZE (mutt/p0-patch-1.5.6.dw.mbox-hook.1) = 6405
22
MD5 (mutt/patch-1.5.12.sidebar.20060720.txt) = aec38e08ace75aa8a36cb5f6ae318b4b
22
MD5 (mutt/patch-1.5.13.sidebar.20060828.txt) = b1e18dcdfdb33cfcf8965f332b9f3f9f
23
SHA256 (mutt/patch-1.5.12.sidebar.20060720.txt) = 5373460e9846cf86d6da2192de37cc6ac98f37dc15e7820b6681ae86b9bed9d5
23
SHA256 (mutt/patch-1.5.13.sidebar.20060828.txt) = bafb6fed5057d1b78544a06c192bc67fca259c5cccd15312b292824849e3aa20
24
SIZE (mutt/patch-1.5.12.sidebar.20060720.txt) = 47695
24
SIZE (mutt/patch-1.5.13.sidebar.20060828.txt) = 49483
25
MD5 (mutt/patch-1.5.9.tt.assumed_charset.2.gz) = 45cacc5155f1865ace31c72e2bffee63
25
MD5 (mutt/patch-1.5.9.tt.assumed_charset.2.gz) = 45cacc5155f1865ace31c72e2bffee63
26
SHA256 (mutt/patch-1.5.9.tt.assumed_charset.2.gz) = 41ae6d049d2d39c3bb01d534a760372ec571bc51e90c259f529c477aa41d3d7e
26
SHA256 (mutt/patch-1.5.9.tt.assumed_charset.2.gz) = 41ae6d049d2d39c3bb01d534a760372ec571bc51e90c259f529c477aa41d3d7e
27
SIZE (mutt/patch-1.5.9.tt.assumed_charset.2.gz) = 2555
27
SIZE (mutt/patch-1.5.9.tt.assumed_charset.2.gz) = 2555
(-)./files/extra-patch-sidebar (-10 lines)
Lines 1-10 Link Here
1
--- Makefile.am.orig	Fri Feb  4 18:12:14 2005
2
+++ Makefile.am	Fri Feb  4 18:17:17 2005
3
@@ -195,6 +195,7 @@
4
 		$(srcdir)/init.h | ./makedoc -c | cat Muttrc.head - > Muttrc
5
 	touch stamp-doc-rc
6
 
7
+mutt_SOURCES += sidebar.c
8
 
9
 .PHONY: commit pclean check-security commit-real commit-changelog
10
 .PHONY: changelog ChangeLog
(-)./files/patch-02 (+21 lines)
Lines 1-3 Link Here
1
--- doc/Makefile.am.orig	Mon Aug 14 16:06:21 2006
2
+++ doc/Makefile.am	Wed Aug 30 14:52:04 2006
3
@@ -63,9 +63,6 @@
4
 		$(INSTALL) -m 644 $(srcdir)/$$f $(DESTDIR)$(docdir) ; \
5
 	done
6
 	-$(INSTALL) -m 644 manual.txt $(DESTDIR)$(docdir)
7
-	-for f in $(HTML_DOCFILES) ; do \
8
-		$(INSTALL) -m 644 $$f $(DESTDIR)$(docdir) ; \
9
-	done
10
 
11
 uninstall-local:
12
 	for f in mutt.1 mutt_dotlock.1 flea.1 muttbug.1 ; do \
13
@@ -82,7 +79,7 @@
14
 
15
 check:
16
 manual.txt: manual.html
17
-	-lynx -dump -nolist -with_backspaces $^ > $@ || w3m -dump $^ > $@
18
+	-lynx -dump -nolist -with_backspaces manual.html > $@ || w3m -dump $^ > $@
19
 
20
 manual.html: $(srcdir)/html.xsl stamp-doc-xml
21
 	-xsltproc --nonet -o $@ $(srcdir)/html.xsl manual.xml
1
--- doc/Makefile.in.orig1	Wed Jul  5 10:40:07 2006
22
--- doc/Makefile.in.orig1	Wed Jul  5 10:40:07 2006
2
+++ doc/Makefile.in	Mon Jul 17 15:49:28 2006
23
+++ doc/Makefile.in	Mon Jul 17 15:49:28 2006
3
@@ -71,7 +71,7 @@
24
@@ -71,7 +71,7 @@
(-)./files/patch-contrib-Makefile.am (+11 lines)
Line 0 Link Here
1
--- contrib/Makefile.am.orig	Tue Jul 18 20:04:14 2006
2
+++ contrib/Makefile.am	Wed Aug 30 16:15:04 2006
3
@@ -2,7 +2,7 @@
4
 
5
 subdir = contrib
6
 
7
-SAMPLES = Mush.rc Pine.rc gpg.rc pgp2.rc pgp5.rc pgp6.rc Tin.rc \
8
+SAMPLES = Mush.rc Pine.rc gpg.rc pgp2.rc pgp6.rc Tin.rc \
9
 	sample.muttrc  sample.mailcap sample.muttrc-tlr \
10
 	colors.default colors.linux smime.rc \
11
 	ca-bundle.crt smime_keys_test.pl
(-)./files/patch-contrib-Makefile.in (-11 lines)
Lines 1-11 Link Here
1
--- contrib/Makefile.in.orig	Wed Apr  2 10:57:06 2003
2
+++ contrib/Makefile.in	Mon Mar 21 08:22:47 2005
3
@@ -20,7 +20,7 @@
4
 
5
 subdir = contrib
6
 
7
-SAMPLES = Mush.rc Pine.rc gpg.rc pgp2.rc pgp5.rc pgp6.rc Tin.rc \
8
+SAMPLES = Mush.rc Pine.rc gpg.rc pgp2.rc pgp6.rc Tin.rc \
9
 	sample.muttrc  sample.mailcap sample.muttrc-tlr \
10
 	colors.default colors.linux smime.rc \
11
 	ca-bundle.crt smime_keys_test.pl
(-)./files/patch-examples (-41 / +41 lines)
Lines 1-29 Link Here
1
--- contrib/Makefile.in.orig	Mon Jun  4 19:14:31 2001
1
--- contrib/Makefile.am.orig	Tue Jul 18 20:04:14 2006
2
+++ contrib/Makefile.in	Wed Mar 26 11:45:15 2003
2
+++ contrib/Makefile.am	Wed Aug 30 16:05:33 2006
3
@@ -12,6 +12,7 @@
3
@@ -1,6 +1,7 @@
4
 mandir = @mandir@
4
 # $Id: Makefile.am,v 3.1 2006/07/18 18:04:14 brendan Exp $
5
 srcdir = @srcdir@
5
 
6
 docdir = @docdir@
6
 subdir = contrib
7
+samplesdir = @samplesdir@
7
+samplesdir = @samplesdir@
8
 top_srcdir = @top_srcdir@
9
 top_builddir = ..
10
 INSTALL = @INSTALL@
11
@@ -37,12 +38,12 @@
12
 check:
13
 
8
 
14
 install:
9
 SAMPLES = Mush.rc Pine.rc gpg.rc pgp2.rc pgp5.rc pgp6.rc Tin.rc \
10
 	sample.muttrc  sample.mailcap sample.muttrc-tlr \
11
@@ -14,12 +15,12 @@
12
 	iconv/make.sh
13
 
14
 install-data-local:
15
-	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(docdir)/samples $(DESTDIR)$(docdir)/samples/iconv
15
-	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(docdir)/samples $(DESTDIR)$(docdir)/samples/iconv
16
+	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(samplesdir) $(DESTDIR)$(samplesdir)/iconv
16
+	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(samplesdir) $(DESTDIR)$(samplesdir)/iconv
17
 	for f in $(SAMPLES) ; do \
17
 	for f in $(SAMPLES) ; do \
18
-		$(INSTALL) -m 644 $(srcdir)/$$f $(DESTDIR)$(docdir)/samples ;	\
18
-		$(INSTALL) -m 644 $(srcdir)/$$f $(DESTDIR)$(docdir)/samples ;	\
19
+		$(INSTALL) -m 644 $(srcdir)/$$f $(DESTDIR)$(samplesdir);	\
19
+		$(INSTALL) -m 644 $(srcdir)/$$f $(DESTDIR)$(samplesdir) ;	\
20
 	done
20
 	done
21
 	for f in $(srcdir)/iconv/*.rc ; do					\
21
 	for f in $(srcdir)/iconv/*.rc ; do					\
22
-		$(INSTALL) -m 644 $$f $(DESTDIR)$(docdir)/samples/iconv	  ;	\
22
-		$(INSTALL) -m 644 $$f $(DESTDIR)$(docdir)/samples/iconv	  ;	\
23
+		$(INSTALL) -m 644 $$f $(DESTDIR)$(samplesdir)/iconv	  ;	\
23
+		$(INSTALL) -m 644 $$f $(DESTDIR)$(samplesdir)/iconv  ;	\
24
 	done
24
 	done
25
 
25
 
26
 # Nothing needs to be done - uninstall in doc removes samples as well.
26
 uninstall-local:
27
--- init.h.orig	Tue Mar  4 10:28:12 2003
27
--- init.h.orig	Tue Mar  4 10:28:12 2003
28
+++ init.h	Wed Mar 26 15:41:19 2003
28
+++ init.h	Wed Mar 26 15:41:19 2003
29
@@ -1455,8 +1455,8 @@
29
@@ -1455,8 +1455,8 @@
Lines 48-61 Link Here
48
   ** (S/MIME only)
48
   ** (S/MIME only)
49
   */
49
   */
50
   { "smime_verify_command", 	DT_STR, R_NONE, UL &SmimeVerifyCommand, 0},
50
   { "smime_verify_command", 	DT_STR, R_NONE, UL &SmimeVerifyCommand, 0},
51
--- Makefile.am.orig	Mon Jul 17 15:31:10 2006
51
--- Makefile.am.orig	Wed Aug 30 14:30:28 2006
52
+++ Makefile.am	Mon Jul 17 15:32:52 2006
52
+++ Makefile.am	Wed Aug 30 14:31:49 2006
53
@@ -13,7 +13,7 @@
53
@@ -13,7 +13,7 @@
54
 
54
 
55
 bin_SCRIPTS = muttbug flea @SMIMEAUX_TARGET@
55
 bin_SCRIPTS = muttbug flea @SMIMEAUX_TARGET@
56
 
56
 
57
-BUILT_SOURCES = keymap_defs.h patchlist.c reldate.h
57
-BUILT_SOURCES = keymap_defs.h patchlist.c
58
+BUILT_SOURCES = keymap_defs.h patchlist.c reldate.h Muttrc
58
+BUILT_SOURCES = keymap_defs.h patchlist.c Muttrc
59
 
59
 
60
 bin_PROGRAMS = mutt @DOTLOCK_TARGET@ @PGPAUX_TARGET@
60
 bin_PROGRAMS = mutt @DOTLOCK_TARGET@ @PGPAUX_TARGET@
61
 mutt_SOURCES = $(BUILT_SOURCES) \
61
 mutt_SOURCES = $(BUILT_SOURCES) \
Lines 77-103 Link Here
77
 
77
 
78
 into your system's global Muttrc, which normally resides in /etc or
78
 into your system's global Muttrc, which normally resides in /etc or
79
 /usr/local/etc.
79
 /usr/local/etc.
80
--- doc/manual.txt.orig	Thu Sep 15 16:22:18 2005
80
--- doc/manual.txt.orig	Mon Aug 14 16:10:04 2006
81
+++ doc/manual.txt	Sun Sep 18 15:31:13 2005
81
+++ doc/manual.txt	Wed Aug 30 14:34:46 2006
82
@@ -5004,8 +5004,8 @@
82
@@ -5971,8 +5971,8 @@
83
 
83
 
84
    For  examples  on  how  to  configure  these  formats  for the various
84
    For examples on how to configure these formats for the various versions of
85
    versions  of PGP which are floating around, see the pgp*.rc and gpg.rc
85
    PGP which are floating around, see the pgp*.rc and gpg.rc files in the
86
-   files  in  the  samples/ subdirectory which has been installed on your
86
-   samples/ subdirectory which has been installed on your system alongside the
87
-   system alongside the documentation. (PGP only)
87
-   documentation. (PGP only)
88
+   files  in  the  share/examples/mutt/ subdirectory which has been installed
88
+   share/examples/mutt/ subdirectory which has been installed on your system
89
+   on your system alongside the documentation. (PGP only)
89
+   alongside the documentation. (PGP only)
90
 
90
 
91
 6.3.160. pgp_getkeys_command
91
 3.163. pgp_getkeys_command
92
 
92
 
93
@@ -5203,8 +5203,8 @@
93
@@ -6164,8 +6164,8 @@
94
           $$ssmmiimmee__ccaa__llooccaattiioonn" or "-CAfile $$ssmmiimmee__ccaa__llooccaattiioonn".
94
           "-CAfile $smime_ca_location".
95
 
95
 
96
    For  examples  on  how to configure these formats, see the smime.rc in
96
    For examples on how to configure these formats, see the smime.rc in the
97
-   the  samples/  subdirectory  which  has  been installed on your system
97
-   samples/ subdirectory which has been installed on your system alongside the
98
-   alongside the documentation. (S/MIME only)
98
-   documentation. (S/MIME only)
99
+   the  share/examples/mutt/  subdirectory  which  has  been installed on
99
+   share/examples/mutt/ subdirectory which has been installed on your system
100
+   your system alongside the documentation. (S/MIME only)
100
+   alongside the documentation. (S/MIME only)
101
 
101
 
102
 6.3.179. smime_verify_command
102
 3.182. smime_verify_command
103
 
103
 
(-)./files/patch-threadcomplete (-107 lines)
Lines 1-110 Link Here
1
diff -Nru a/PATCHES b/PATCHES
2
--- PATCHES
3
+++ PATCHES
4
@@ -0,0 +1 @@
5
+patch-1.5.6+20040904.tg.mutt-thread.3
6
diff -Nru a/mutt.h b/mutt.h
7
--- mutt.h	2004-07-24 12:27:21 +02:00
8
+++ mutt.h	2004-09-04 12:36:18 +02:00
9
@@ -211,6 +211,7 @@
10
   /* actions for mutt_pattern_comp/mutt_pattern_exec */
11
   M_AND,
12
   M_OR,
13
+  M_THREAD,
14
   M_TO,
15
   M_CC,
16
   M_COLLAPSED,
17
diff -Nru a/pattern.c b/pattern.c
18
--- pattern.c	2004-07-24 12:27:23 +02:00
19
+++ pattern.c	2004-09-04 12:37:52 +02:00
20
@@ -700,7 +700,7 @@
21
 pattern_t *mutt_pattern_comp (/* const */ char *s, int flags, BUFFER *err)
22
 {
23
   pattern_t *curlist = NULL;
24
-  pattern_t *tmp;
25
+  pattern_t *tmp, *tmp2;
26
   pattern_t *last = NULL;
27
   int not = 0;
28
   int alladdr = 0;
29
@@ -755,6 +755,39 @@
30
 	alladdr = 0;
31
 	break;
32
       case '~':
33
+	if (*(ps.dptr + 1) == '(') {
34
+		ps.dptr ++; /* skip ~ */
35
+		p = find_matching_paren (ps.dptr + 1);
36
+		if (*p != ')')
37
+		{
38
+		  snprintf (err->data, err->dsize, _("mismatched brackets: %s"), ps.dptr);
39
+		  mutt_pattern_free (&curlist);
40
+		  return NULL;
41
+		}
42
+		tmp = new_pattern ();
43
+		tmp->op = M_THREAD;
44
+		if (last)
45
+		  last->next = tmp;
46
+		else
47
+		  curlist = tmp;
48
+		last = tmp;
49
+		tmp->not ^= not;
50
+		tmp->alladdr |= alladdr;
51
+		not = 0;
52
+		alladdr = 0;
53
+		/* compile the sub-expression */
54
+		buf = mutt_substrdup (ps.dptr + 1, p);
55
+		if ((tmp2 = mutt_pattern_comp (buf, flags, err)) == NULL)
56
+		{
57
+		  FREE (&buf);
58
+		  mutt_pattern_free (&curlist);
59
+		  return NULL;
60
+		}
61
+		FREE (&buf);
62
+		tmp->child = tmp2;
63
+		ps.dptr = p + 1; /* restore location */
64
+		break;
65
+	}
66
 	if (implicit && or)
67
 	{
68
 	  /* A | B & C == (A | B) & C */
69
@@ -945,6 +978,29 @@
70
   return alladdr;
71
 }
72
 
73
+static int match_threadcomplete(struct pattern_t *pat, pattern_exec_flag flags, CONTEXT *ctx, THREAD *t,int left,int up,int right,int down)
74
+{
75
+  int a;
76
+  HEADER *h;
77
+
78
+  if(!t)
79
+    return 0;
80
+  h = t->message;
81
+  if(h)
82
+    if(mutt_pattern_exec(pat, flags, ctx, h))
83
+      return 1;
84
+
85
+  if(up && (a=match_threadcomplete(pat, flags, ctx, t->parent,1,1,1,0)))
86
+    return a;
87
+  if(right && t->parent && (a=match_threadcomplete(pat, flags, ctx, t->next,0,0,1,1)))
88
+    return a;
89
+  if(left && t->parent && (a=match_threadcomplete(pat, flags, ctx, t->prev,1,0,0,1)))
90
+    return a;
91
+  if(down && (a=match_threadcomplete(pat, flags, ctx, t->child,1,0,1,1)))
92
+    return a;
93
+  return 0;
94
+}
95
+
96
 /* flags
97
    	M_MATCH_FULL_ADDRESS	match both personal and machine address */
98
 int
99
@@ -958,6 +1014,8 @@
100
       return (pat->not ^ (perform_and (pat->child, flags, ctx, h) > 0));
101
     case M_OR:
102
       return (pat->not ^ (perform_or (pat->child, flags, ctx, h) > 0));
103
+    case M_THREAD:
104
+      return (pat->not ^ match_threadcomplete(pat->child, flags, ctx, h->thread, 1, 1, 1, 1));
105
     case M_ALL:
106
       return (!pat->not);
107
     case M_EXPIRED:
108
--- mutt.h.orig2	Mon Sep  6 09:24:17 2004
1
--- mutt.h.orig2	Mon Sep  6 09:24:17 2004
109
+++ mutt.h	Mon Sep  6 09:27:04 2004
2
+++ mutt.h	Mon Sep  6 09:27:04 2004
110
@@ -212,6 +212,7 @@
3
@@ -212,6 +212,7 @@

Return to bug 102697