mail/mutt: Update to 2.0.0 with extra patch cleanup
- Update to 2.0.0 [1][2] - Remove threadcomplete. Appears ~(~T) has the same functionality. - Remove muttlib.c patch and use mutt's mktemp functions for temp files. I don't believe this is an issue since neomutt also use's mutt's. - Remove forcebase64 patch. Should no longer be an issue. - Remove spelling options. Install the desired spelling port and configure mutt as needed. - Update patch contexts. [1] https://marc.info/?l=mutt-announce&m=160478560100820&w=2 [2] http://www.mutt.org/relnotes/2.0/ PR: 250970 Submitted by: Derek Schrock <dereks@lifeofadishwasher.com> (maintainer)
This commit is contained in:
parent
7576ea5198
commit
3d30797fee
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=554673
@ -2,7 +2,7 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= mutt
|
||||
DISTVERSION= 1.14.7
|
||||
DISTVERSION= 2.0.0
|
||||
CATEGORIES+= mail
|
||||
MASTER_SITES= ftp://ftp.mutt.org/pub/mutt/ \
|
||||
https://bitbucket.org/mutt/mutt/downloads/ \
|
||||
@ -45,14 +45,12 @@ GNU_CONFIGURE= yes
|
||||
|
||||
OPTIONS_SUB= yes
|
||||
|
||||
OPTIONS_DEFINE= AUTOCRYPT DEBUG_LOGS DOCS EXAMPLES FLOCK FORCEBASE64 GPGME \
|
||||
OPTIONS_DEFINE= AUTOCRYPT DEBUG_LOGS DOCS EXAMPLES FLOCK GPGME \
|
||||
GREETING_PATCH HTML ICONV IDN IFDEF_PATCH LOCALES_FIX \
|
||||
MAILBOX_MANPAGES MAILDIR_MTIME_PATCH NLS QUOTE_PATCH \
|
||||
REVERSE_REPLY_PATCH SASL SMIME SMART_DATE SMTP URLVIEW
|
||||
|
||||
OPTIONS_SINGLE= GSSAPI HCACHE SCREEN
|
||||
OPTIONS_RADIO= SPELL
|
||||
OPTIONS_RADIO_SPELL= ASPELL ISPELL
|
||||
OPTIONS_SINGLE_GSSAPI= GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT GSSAPI_NONE
|
||||
OPTIONS_SINGLE_HCACHE= HCACHE_BDB HCACHE_TOKYOCABINET HCACHE_KYOTOCABINET HCACHE_NONE
|
||||
OPTIONS_SINGLE_SCREEN= NCURSES SLANG
|
||||
@ -60,7 +58,6 @@ OPTIONS_SINGLE_SCREEN= NCURSES SLANG
|
||||
AUTOCRYPT_DESC= Convenient End-to-End Encryption
|
||||
DEBUG_LOGS_DESC= Debugging capabilities
|
||||
FLOCK_DESC= flock() usage
|
||||
FORCEBASE64_DESC= Option to force base64 encoding for compose
|
||||
GPGME_DESC= Gpgme interface
|
||||
GREETING_PATCH_DESC= Greeting support
|
||||
HCACHE_BDB_DESC= Use Berkeley DB (BDB)
|
||||
@ -103,10 +100,6 @@ AUTOCRYPT_DEPENDS= gnupg>=2.1:security/gnupg \
|
||||
AUTOCRYPT_BUILD_DEPENDS= ${AUTOCRYPT_DEPENDS}
|
||||
AUTOCRYPT_RUN_DEPENDS= ${AUTOCRYPT_DEPENDS}
|
||||
|
||||
ASPELL_BUILD_DEPENDS= aspell:textproc/aspell
|
||||
ASPELL_RUN_DEPENDS= aspell:textproc/aspell
|
||||
ISPELL_BUILD_DEPENDS= ispell:textproc/aspell-ispell
|
||||
ISPELL_RUN_DEPENDS= ispell:textproc/aspell-ispell
|
||||
URLVIEW_RUN_DEPENDS= urlview:textproc/urlview
|
||||
|
||||
DEBUG_LOGS_CONFIGURE_ON= --enable-debug
|
||||
@ -176,8 +169,6 @@ GPGME_CONFIGURE_ENABLE= gpgme
|
||||
|
||||
SMTP_CONFIGURE_ENABLE= smtp
|
||||
|
||||
FORCEBASE64_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-forcebase64
|
||||
|
||||
MAILDIR_MTIME_PATCH_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-maildir-mtime
|
||||
|
||||
GREETING_PATCH_PATCHFILES= mutt-${GREETING_PATCH_VERSION}.vc.greeting:vc
|
||||
@ -187,9 +178,8 @@ QUOTE_PATCH_PATCHFILES= patch-${VVV_PATCH_VERSION}.vvv.initials.xz:vvv \
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
# un/comment as each VERSION is created for PORTVERSION
|
||||
VVV_PATCH_VERSION= 1.13.0
|
||||
GREETING_PATCH_VERSION= 1.14.3
|
||||
GREETING_PATCH_VERSION= 2.0.0
|
||||
|
||||
post-install:
|
||||
${INSTALL_MAN} ${FILESDIR}/mailcap.5 ${STAGEDIR}${MANPREFIX}/man/man5
|
||||
@ -216,10 +206,4 @@ post-stage::
|
||||
${STAGEDIR}/${LOCALBASE}/etc/Muttrc.sample
|
||||
@${RM} ${STAGEDIR}/${LOCALBASE}/etc/mime.types*
|
||||
|
||||
# Change default ispell
|
||||
post-build-ASPELL-on:
|
||||
@${REINPLACE_CMD} -e '/^# append-hook/p' \
|
||||
-e 's/^# append-hook.*$$/set ispell="aspell --mode=email check"/' \
|
||||
${WRKSRC}/doc/Muttrc
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
@ -1,8 +1,8 @@
|
||||
TIMESTAMP = 1598742511
|
||||
SHA256 (mutt/mutt-1.14.7.tar.gz) = e4f507b133253cb5eef27996b8668956cdf9caac622cf8adad13f0f9a4eda864
|
||||
SIZE (mutt/mutt-1.14.7.tar.gz) = 5009968
|
||||
SHA256 (mutt/mutt-1.14.3.vc.greeting) = c6067f19e51e99e3c981c0c45a29fb442626d8bb3f0df56736ce4ee0eb0bfa83
|
||||
SIZE (mutt/mutt-1.14.3.vc.greeting) = 4472
|
||||
TIMESTAMP = 1604877444
|
||||
SHA256 (mutt/mutt-2.0.0.tar.gz) = 93a4138ca795d2668e25c8e95c9ef2082447431423163decda83e66a4e42aeaf
|
||||
SIZE (mutt/mutt-2.0.0.tar.gz) = 5287742
|
||||
SHA256 (mutt/mutt-2.0.0.vc.greeting) = 28d157df0ca36f2448dcc3d1cd19e34ec0eefe88251ebf1951e080d7178cccd2
|
||||
SIZE (mutt/mutt-2.0.0.vc.greeting) = 4452
|
||||
SHA256 (mutt/patch-1.13.0.vvv.initials.xz) = 8b25ad6596bd57d94f6551e7e73ceb8da620468e96fb507b2f51545d5b3eaa02
|
||||
SIZE (mutt/patch-1.13.0.vvv.initials.xz) = 720
|
||||
SHA256 (mutt/patch-1.13.0.vvv.quote.xz) = 788d25d1439d86d6c5007d141d1c219496e77940b5ce37819471c941f78f03e4
|
||||
|
@ -1,37 +0,0 @@
|
||||
--- init.h.orig 2019-12-08 02:41:29 UTC
|
||||
+++ init.h
|
||||
@@ -1079,6 +1079,11 @@ struct option_t MuttVars[] = {
|
||||
** sent to both the list and your address, resulting in two copies
|
||||
** of the same email for you.
|
||||
*/
|
||||
+ { "force_base64", DT_BOOL, R_NONE, {.l=OPTFORCEBASE64}, {.l=0} },
|
||||
+ /*
|
||||
+ ** .pp
|
||||
+ ** If you need to encode all text parts to base64, set this option.
|
||||
+ */
|
||||
{ "force_name", DT_BOOL, R_NONE, {.l=OPTFORCENAME}, {.l=0} },
|
||||
/*
|
||||
** .pp
|
||||
--- mutt.h.orig 2019-12-08 02:41:29 UTC
|
||||
+++ mutt.h
|
||||
@@ -423,6 +423,7 @@ enum
|
||||
OPTFCCCLEAR,
|
||||
OPTFLAGSAFE,
|
||||
OPTFOLLOWUPTO,
|
||||
+ OPTFORCEBASE64,
|
||||
OPTFORCENAME,
|
||||
OPTFORWDECODE,
|
||||
OPTFORWQUOTE,
|
||||
--- sendlib.c.orig 2019-12-08 02:41:29 UTC
|
||||
+++ sendlib.c
|
||||
@@ -1218,7 +1218,9 @@ static void mutt_set_encoding (BODY *b, CONTENT *info)
|
||||
if (b->type == TYPETEXT)
|
||||
{
|
||||
char *chsname = mutt_get_body_charset (send_charset, sizeof (send_charset), b);
|
||||
- if ((info->lobin && ascii_strncasecmp (chsname, "iso-2022", 8)) || info->linemax > 990 || (info->from && option (OPTENCODEFROM)))
|
||||
+ if (option (OPTFORCEBASE64))
|
||||
+ b->encoding = ENCBASE64;
|
||||
+ else if ((info->lobin && ascii_strncasecmp (chsname, "iso-2022", 8)) || info->linemax > 990 || (info->from && option (OPTENCODEFROM)))
|
||||
b->encoding = ENCQUOTEDPRINTABLE;
|
||||
else if (info->hibin)
|
||||
b->encoding = option (OPTALLOW8BIT) ? ENC8BIT : ENCQUOTEDPRINTABLE;
|
@ -1,10 +1,10 @@
|
||||
--- PATCHES.orig 2020-08-29 22:13:50 UTC
|
||||
--- PATCHES.orig 2020-11-08 20:52:48 UTC
|
||||
+++ PATCHES
|
||||
@@ -0,0 +1 @@
|
||||
+patch-1.5.4.cd.ifdef.1
|
||||
--- init.c.orig 2020-08-29 19:37:53 UTC
|
||||
--- init.c.orig 2020-11-03 17:50:37 UTC
|
||||
+++ init.c
|
||||
@@ -648,6 +648,52 @@ static mbchar_table *parse_mbchar_table (const char *s
|
||||
@@ -672,6 +672,52 @@ static mbchar_table *parse_mbchar_table (const char *s
|
||||
return t;
|
||||
}
|
||||
|
||||
@ -57,9 +57,9 @@
|
||||
static int parse_unignore (BUFFER *buf, BUFFER *s, union pointer_long_t udata, BUFFER *err)
|
||||
{
|
||||
do
|
||||
--- init.h.orig 2020-08-29 22:13:50 UTC
|
||||
--- init.h.orig 2020-11-08 20:52:48 UTC
|
||||
+++ init.h
|
||||
@@ -4594,6 +4594,7 @@ static int parse_lists (BUFFER *, BUFFER *, union poin
|
||||
@@ -4705,6 +4705,7 @@ static int parse_lists (BUFFER *, BUFFER *, union poin
|
||||
static int parse_unlists (BUFFER *, BUFFER *, union pointer_long_t, BUFFER *);
|
||||
static int parse_alias (BUFFER *, BUFFER *, union pointer_long_t, BUFFER *);
|
||||
static int parse_unalias (BUFFER *, BUFFER *, union pointer_long_t, BUFFER *);
|
||||
@ -67,7 +67,7 @@
|
||||
static int parse_echo (BUFFER *, BUFFER *, union pointer_long_t, BUFFER *);
|
||||
static int parse_ignore (BUFFER *, BUFFER *, union pointer_long_t, BUFFER *);
|
||||
static int parse_unignore (BUFFER *, BUFFER *, union pointer_long_t, BUFFER *);
|
||||
@@ -4658,6 +4659,7 @@ const struct command_t Commands[] = {
|
||||
@@ -4772,6 +4773,7 @@ const struct command_t Commands[] = {
|
||||
{ "hdr_order", parse_list, {.p=&HeaderOrderList} },
|
||||
#ifdef HAVE_ICONV
|
||||
{ "iconv-hook", mutt_parse_hook, {.l=MUTT_ICONVHOOK} },
|
||||
|
@ -1,8 +1,8 @@
|
||||
--- PATCHES.orig 2020-05-05 02:09:32 UTC
|
||||
--- PATCHES.orig 2020-11-08 20:52:49 UTC
|
||||
+++ PATCHES
|
||||
@@ -0,0 +1 @@
|
||||
+patch-1.5.7.ust.maildir-mtime.2
|
||||
--- browser.c.orig 2020-05-02 21:08:56 UTC
|
||||
--- browser.c.orig 2020-11-03 17:50:37 UTC
|
||||
+++ browser.c
|
||||
@@ -32,6 +32,7 @@
|
||||
#ifdef USE_IMAP
|
||||
|
@ -1,10 +1,10 @@
|
||||
--- PATCHES.orig 2020-05-05 02:09:33 UTC
|
||||
--- PATCHES.orig 2020-11-08 20:52:49 UTC
|
||||
+++ PATCHES
|
||||
@@ -0,0 +1 @@
|
||||
+patch-1.5.6.cb.reverse_reply.2
|
||||
--- init.h.orig 2020-05-05 02:09:32 UTC
|
||||
--- init.h.orig 2020-11-08 20:52:48 UTC
|
||||
+++ init.h
|
||||
@@ -3111,6 +3111,13 @@ struct option_t MuttVars[] = {
|
||||
@@ -3191,6 +3191,13 @@ struct option_t MuttVars[] = {
|
||||
** In either case, a missing real name will be filled in afterwards
|
||||
** using the value of $$realname.
|
||||
*/
|
||||
@ -18,9 +18,9 @@
|
||||
{ "rfc2047_parameters", DT_BOOL, R_NONE, {.l=OPTRFC2047PARAMS}, {.l=0} },
|
||||
/*
|
||||
** .pp
|
||||
--- mutt.h.orig 2020-05-05 02:09:32 UTC
|
||||
--- mutt.h.orig 2020-11-08 20:52:48 UTC
|
||||
+++ mutt.h
|
||||
@@ -513,6 +513,7 @@ enum
|
||||
@@ -522,6 +522,7 @@ enum
|
||||
OPTREVALIAS,
|
||||
OPTREVNAME,
|
||||
OPTREVREAL,
|
||||
@ -28,7 +28,7 @@
|
||||
OPTRFC2047PARAMS,
|
||||
OPTSAVEADDRESS,
|
||||
OPTSAVEEMPTY,
|
||||
--- protos.h.orig 2020-05-02 21:08:56 UTC
|
||||
--- protos.h.orig 2020-11-06 22:06:35 UTC
|
||||
+++ protos.h
|
||||
@@ -85,6 +85,7 @@ char* mutt_extract_message_id (const char *, const cha
|
||||
ADDRESS *mutt_get_address (ENVELOPE *, char **);
|
||||
@ -38,9 +38,9 @@
|
||||
ADDRESS *mutt_expand_aliases (ADDRESS *);
|
||||
ADDRESS *mutt_parse_adrlist (ADDRESS *, const char *);
|
||||
|
||||
--- send.c.orig 2020-05-02 21:08:56 UTC
|
||||
--- send.c.orig 2020-11-03 17:50:37 UTC
|
||||
+++ send.c
|
||||
@@ -725,6 +725,10 @@ void mutt_fix_reply_recipients (ENVELOPE *env)
|
||||
@@ -739,6 +739,10 @@ void mutt_fix_reply_recipients (ENVELOPE *env)
|
||||
/* the CC field can get cluttered, especially with lists */
|
||||
env->to = mutt_remove_duplicates (env->to);
|
||||
env->cc = mutt_remove_duplicates (env->cc);
|
||||
@ -51,9 +51,9 @@
|
||||
env->cc = mutt_remove_xrefs (env->to, env->cc);
|
||||
|
||||
if (env->cc && !env->to)
|
||||
--- sendlib.c.orig 2020-05-02 21:08:56 UTC
|
||||
--- sendlib.c.orig 2020-11-03 17:50:37 UTC
|
||||
+++ sendlib.c
|
||||
@@ -2981,6 +2981,35 @@ static void set_noconv_flags (BODY *b, short flag)
|
||||
@@ -3007,6 +3007,35 @@ static void set_noconv_flags (BODY *b, short flag)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
--- hdrline.c.orig 2020-05-05 02:09:32 UTC
|
||||
--- hdrline.c.orig 2020-11-08 20:52:48 UTC
|
||||
+++ hdrline.c
|
||||
@@ -249,6 +249,89 @@ static char *apply_subject_mods (ENVELOPE *env)
|
||||
* %Y = `x-label:' field (if present, tree unfolded, and != parent's x-label)
|
||||
@ -105,9 +105,9 @@
|
||||
if (!do_locales)
|
||||
setlocale (LC_TIME, "");
|
||||
|
||||
--- mutt.h.orig 2020-05-05 02:09:33 UTC
|
||||
--- mutt.h.orig 2020-11-08 20:52:49 UTC
|
||||
+++ mutt.h
|
||||
@@ -165,6 +165,16 @@ typedef enum
|
||||
@@ -169,6 +169,16 @@ typedef enum
|
||||
MUTT_WRITE_HEADER_MIME
|
||||
} mutt_write_header_mode;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
--- commands.c.orig 2020-05-02 21:08:56 UTC
|
||||
--- commands.c.orig 2020-11-06 20:53:46 UTC
|
||||
+++ commands.c
|
||||
@@ -302,7 +302,7 @@ int mutt_display_message (HEADER *cur)
|
||||
{
|
||||
@ -9,9 +9,9 @@
|
||||
mutt_message ( _("S/MIME signature successfully verified."));
|
||||
else
|
||||
mutt_error ( _("S/MIME certificate owner does not match sender."));
|
||||
--- init.h.orig 2020-05-05 02:09:33 UTC
|
||||
--- init.h.orig 2020-11-08 20:52:49 UTC
|
||||
+++ init.h
|
||||
@@ -3608,6 +3608,15 @@ struct option_t MuttVars[] = {
|
||||
@@ -3688,6 +3688,15 @@ struct option_t MuttVars[] = {
|
||||
** to determine the key to use. It will ask you to supply a key, if it can't find one.
|
||||
** (S/MIME only)
|
||||
*/
|
||||
@ -27,9 +27,9 @@
|
||||
{ "smime_self_encrypt_as", DT_SYN, R_NONE, {.p="smime_default_key"}, {.p=0} },
|
||||
{ "smime_default_key", DT_STR, R_NONE, {.p=&SmimeDefaultKey}, {.p=0} },
|
||||
/*
|
||||
--- mutt.h.orig 2020-05-05 02:09:33 UTC
|
||||
--- mutt.h.orig 2020-11-08 20:52:49 UTC
|
||||
+++ mutt.h
|
||||
@@ -596,6 +596,7 @@ enum
|
||||
@@ -606,6 +606,7 @@ enum
|
||||
OPTSMIMEISDEFAULT,
|
||||
OPTSMIMESELFENCRYPT,
|
||||
OPTASKCERTLABEL,
|
||||
|
@ -1,4 +1,4 @@
|
||||
--- browser.c.orig 2020-05-05 02:09:32 UTC
|
||||
--- browser.c.orig 2020-11-08 20:52:49 UTC
|
||||
+++ browser.c
|
||||
@@ -87,6 +87,12 @@ static int browser_compare_subject (const void *a, con
|
||||
struct folder_file *pa = (struct folder_file *) a;
|
||||
@ -26,7 +26,33 @@
|
||||
int r = pa->mtime - pb->mtime;
|
||||
|
||||
return ((BrowserSort & SORT_REVERSE) ? -r : r);
|
||||
@@ -106,6 +118,12 @@ static int browser_compare_size (const void *a, const
|
||||
@@ -107,6 +119,12 @@ static int browser_compare_size (const void *a, const
|
||||
struct folder_file *pa = (struct folder_file *) a;
|
||||
struct folder_file *pb = (struct folder_file *) b;
|
||||
|
||||
+ /* Always keep '..' in first menu position */
|
||||
+ if (!strncmp(pa->display_name, "..", 2))
|
||||
+ return(-1);
|
||||
+ if (!strncmp(pb->display_name, "..", 2))
|
||||
+ return(1);
|
||||
+
|
||||
int r = pa->size - pb->size;
|
||||
|
||||
return ((BrowserSort & SORT_REVERSE) ? -r : r);
|
||||
@@ -117,6 +135,12 @@ static int browser_compare_count (const void *a, const
|
||||
struct folder_file *pa = (struct folder_file *) a;
|
||||
struct folder_file *pb = (struct folder_file *) b;
|
||||
|
||||
+ /* Always keep '..' in first menu position */
|
||||
+ if (!strncmp(pa->display_name, "..", 2))
|
||||
+ return(-1);
|
||||
+ if (!strncmp(pb->display_name, "..", 2))
|
||||
+ return(1);
|
||||
+
|
||||
int r = pa->msg_count - pb->msg_count;
|
||||
|
||||
return ((BrowserSort & SORT_REVERSE) ? -r : r);
|
||||
@@ -126,6 +150,12 @@ static int browser_compare_unread (const void *a, cons
|
||||
{
|
||||
struct folder_file *pa = (struct folder_file *) a;
|
||||
struct folder_file *pb = (struct folder_file *) b;
|
||||
@ -37,5 +63,5 @@
|
||||
+ if (!strncmp(pb->display_name, "..", 2))
|
||||
+ return(1);
|
||||
|
||||
int r = pa->size - pb->size;
|
||||
int r = pa->msg_unread - pb->msg_unread;
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
--- PATCHES.orig 2020-05-05 02:09:34 UTC
|
||||
--- PATCHES.orig 2020-11-08 20:52:50 UTC
|
||||
+++ PATCHES
|
||||
@@ -0,0 +1 @@
|
||||
+patch-1.5.0.ats.date_conditional.1
|
||||
--- hdrline.c.orig 2020-05-05 02:09:33 UTC
|
||||
--- hdrline.c.orig 2020-11-08 20:52:49 UTC
|
||||
+++ hdrline.c
|
||||
@@ -428,6 +428,53 @@ hdr_format_str (char *dest,
|
||||
const char *cp;
|
||||
@ -58,9 +58,9 @@
|
||||
|
||||
p = dest;
|
||||
|
||||
--- muttlib.c.orig 2020-05-02 21:08:56 UTC
|
||||
--- muttlib.c.orig 2020-11-06 22:10:26 UTC
|
||||
+++ muttlib.c
|
||||
@@ -1667,7 +1667,16 @@ void mutt_FormatString (char *dest, /* output buffer
|
||||
@@ -1764,7 +1764,16 @@ void mutt_FormatString (char *dest, /* output buffer
|
||||
if (*src == '?')
|
||||
{
|
||||
flags |= MUTT_FORMAT_OPTIONAL;
|
||||
@ -78,7 +78,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1683,12 +1692,12 @@ void mutt_FormatString (char *dest, /* output buffer
|
||||
@@ -1780,12 +1789,12 @@ void mutt_FormatString (char *dest, /* output buffer
|
||||
count++;
|
||||
}
|
||||
*cp = 0;
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- muttlib.c.orig 2020-05-05 02:09:34 UTC
|
||||
--- muttlib.c.orig 2020-11-08 20:52:50 UTC
|
||||
+++ muttlib.c
|
||||
@@ -1710,6 +1710,12 @@ void mutt_FormatString (char *dest, /* output buffer
|
||||
@@ -1807,6 +1807,12 @@ void mutt_FormatString (char *dest, /* output buffer
|
||||
count = 0;
|
||||
while (count < sizeof (ifstring) && *src && *src != '?' && *src != '&')
|
||||
{
|
||||
@ -13,7 +13,7 @@
|
||||
*cp++ = *src++;
|
||||
count++;
|
||||
}
|
||||
@@ -1722,7 +1728,13 @@ void mutt_FormatString (char *dest, /* output buffer
|
||||
@@ -1819,7 +1825,13 @@ void mutt_FormatString (char *dest, /* output buffer
|
||||
count = 0;
|
||||
while (count < sizeof (elsestring) && *src && *src != '?')
|
||||
{
|
||||
|
@ -1,25 +0,0 @@
|
||||
--- muttlib.c.orig 2020-05-05 02:09:34 UTC
|
||||
+++ muttlib.c
|
||||
@@ -930,16 +930,15 @@ void _mutt_buffer_mktemp (BUFFER *buf, const char *pre
|
||||
void _mutt_mktemp (char *s, size_t slen, const char *prefix, const char *suffix,
|
||||
const char *src, int line)
|
||||
{
|
||||
- size_t n = snprintf (s, slen, "%s/%s-%s-%d-%d-%ld%ld%s%s",
|
||||
- NONULL (Tempdir), NONULL (prefix), NONULL (Hostname),
|
||||
- (int) getuid (), (int) getpid (), random (), random (),
|
||||
- suffix ? "." : "", NONULL (suffix));
|
||||
+ size_t n = snprintf (s, slen, "%s/mutt-%s-XXXXXXXX", NONULL (Tempdir), NONULL (Hostname));
|
||||
if (n >= slen)
|
||||
dprint (1, (debugfile, "%s:%d: ERROR: insufficient buffer space to hold temporary filename! slen=%zu but need %zu\n",
|
||||
src, line, slen, n));
|
||||
- dprint (3, (debugfile, "%s:%d: mutt_mktemp returns \"%s\".\n", src, line, s));
|
||||
- if (unlink (s) && errno != ENOENT)
|
||||
- dprint (1, (debugfile, "%s:%d: ERROR: unlink(\"%s\"): %s (errno %d)\n", src, line, s, strerror (errno), errno));
|
||||
+ if (mktemp (s)) {
|
||||
+ dprint (3, (debugfile, "%s:%d: mutt_mktemp returns \"%s\".\n", src, line, s));
|
||||
+ } else {
|
||||
+ dprint (1, (debugfile, "%s:%d: ERROR: mktemp(\"%s\"): %s (errno %d)\n", src, line, s, strerror (errno), errno));
|
||||
+ }
|
||||
}
|
||||
|
||||
/* these characters must be escaped in regular expressions */
|
@ -1,37 +0,0 @@
|
||||
--- mutt.h.orig 2020-05-25 22:13:51 UTC
|
||||
+++ mutt.h
|
||||
@@ -242,6 +242,7 @@ enum
|
||||
MUTT_EXPIRED,
|
||||
MUTT_SUPERSEDED,
|
||||
MUTT_TRASH,
|
||||
+ MUTT_THREADCOMPLETE,
|
||||
|
||||
/* actions for mutt_pattern_comp/mutt_pattern_exec */
|
||||
MUTT_AND,
|
||||
--- pattern.c.orig 2020-05-25 20:41:30 UTC
|
||||
+++ pattern.c
|
||||
@@ -57,6 +57,7 @@ static const struct pattern_flags
|
||||
}
|
||||
Flags[] =
|
||||
{
|
||||
+ { 'a', MUTT_THREADCOMPLETE, 0, NULL },
|
||||
{ 'A', MUTT_ALL, 0, NULL },
|
||||
{ 'b', MUTT_BODY, MUTT_FULL_MSG|MUTT_SEND_MODE_SEARCH, eat_regexp },
|
||||
{ 'B', MUTT_WHOLE_MSG, MUTT_FULL_MSG|MUTT_SEND_MODE_SEARCH, eat_regexp },
|
||||
@@ -1499,6 +1500,16 @@ mutt_pattern_exec (struct pattern_t *pat, pattern_exec
|
||||
else
|
||||
result = mutt_is_list_cc (pat->alladdr, h->env->to, h->env->cc);
|
||||
return (pat->not ^ result);
|
||||
+ case MUTT_THREADCOMPLETE:
|
||||
+ { static pattern_t tmp;
|
||||
+ static short pattern_set = 0;
|
||||
+ if(! pattern_set) {
|
||||
+ memset (&tmp, 0, sizeof (tmp));
|
||||
+ tmp.op = MUTT_TAG;
|
||||
+ pattern_set = 1;
|
||||
+ }
|
||||
+ return (pat->not ^ (h->env && match_threadcomplete(&tmp, flags, ctx, h->thread, 1, 1, 1, 1)));
|
||||
+ }
|
||||
case MUTT_SUBSCRIBED_LIST:
|
||||
if (cache)
|
||||
{
|
@ -70,6 +70,8 @@ man/man5/muttrc.5.gz
|
||||
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/iconv/iconv.solaris-2.6.rc
|
||||
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/iconv/iconv.solaris-2.7.rc
|
||||
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/markdown2html
|
||||
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/mutt_oauth2.py
|
||||
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/mutt_oauth2.py.README
|
||||
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/mutt_xtitle
|
||||
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pgp2.rc
|
||||
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pgp5.rc
|
||||
|
Loading…
Reference in New Issue
Block a user