diff options
Diffstat (limited to 'mail/neomutt')
-rw-r--r-- | mail/neomutt/Makefile | 3 | ||||
-rw-r--r-- | mail/neomutt/distinfo | 6 | ||||
-rw-r--r-- | mail/neomutt/files/indent-sidebar.patch | 104 |
3 files changed, 4 insertions, 109 deletions
diff --git a/mail/neomutt/Makefile b/mail/neomutt/Makefile index e17e29e521fc..7e796df461bb 100644 --- a/mail/neomutt/Makefile +++ b/mail/neomutt/Makefile @@ -1,8 +1,7 @@ # $FreeBSD$ PORTNAME= neomutt -PORTVERSION= 20200313 -PORTREVISION= 1 +PORTVERSION= 20200320 CATEGORIES= mail MAINTAINER= bapt@FreeBSD.org diff --git a/mail/neomutt/distinfo b/mail/neomutt/distinfo index ff0ef72759fe..0f6ada084a90 100644 --- a/mail/neomutt/distinfo +++ b/mail/neomutt/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1584350770 -SHA256 (neomutt-neomutt-20200313_GH0.tar.gz) = b5ff780506a5371f737f32afd694857568e8827b1c391e0aca27c66687019e85 -SIZE (neomutt-neomutt-20200313_GH0.tar.gz) = 3295200 +TIMESTAMP = 1585065378 +SHA256 (neomutt-neomutt-20200320_GH0.tar.gz) = 69daf2e0633dee7e8bdba74ab714adfa70e8f078028b56d612228c2aa836aafa +SIZE (neomutt-neomutt-20200320_GH0.tar.gz) = 3304719 diff --git a/mail/neomutt/files/indent-sidebar.patch b/mail/neomutt/files/indent-sidebar.patch deleted file mode 100644 index d5a530a7d216..000000000000 --- a/mail/neomutt/files/indent-sidebar.patch +++ /dev/null @@ -1,104 +0,0 @@ -From a7f602f120788bb8501cba46e9de6cf9de35a742 Mon Sep 17 00:00:00 2001 -From: Richard Russon <rich@flatcap.org> -Date: Sun, 15 Mar 2020 17:12:58 +0000 -Subject: [PATCH] fix sidebar indent - -Take care when comparing "$folder" against an IMAP Mailbox path -(the `user@` may not be present on both sides). - -Fixes: #2173 -Fixes: #2175 ---- - sidebar.c | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 56 insertions(+), 4 deletions(-) - -diff --git a/sidebar.c b/sidebar.c -index 199fa7df0b..1f0943371a 100644 ---- a/sidebar.c -+++ b/sidebar.c -@@ -36,6 +36,7 @@ - #include <string.h> - #include "mutt/lib.h" - #include "config/lib.h" -+#include "email/lib.h" - #include "core/lib.h" - #include "gui/lib.h" - #include "sidebar.h" -@@ -833,6 +834,48 @@ static void fill_empty_space(struct MuttWindow *win, int first_row, - } - } - -+/** -+ * imap_is_prefix - Check if folder matches the beginning of mbox -+ * @param folder Folder -+ * @param mbox Mailbox path -+ * @param plen Prefix length -+ * @retval true If folder is the prefix of mbox -+ */ -+static bool imap_is_prefix(const char *folder, const char *mbox, size_t *plen) -+{ -+ struct Url *url_m = url_parse(mbox); -+ struct Url *url_f = url_parse(folder); -+ -+ if (!url_m || !url_f) -+ return false; -+ -+ bool rc = false; -+ -+ if (mutt_str_strcasecmp(url_m->host, url_f->host) != 0) -+ goto done; -+ -+ if (url_m->user && url_f->user && (mutt_str_strcasecmp(url_m->user, url_f->user) != 0)) -+ goto done; -+ -+ size_t mlen = mutt_str_strlen(url_m->path); -+ size_t flen = mutt_str_strlen(url_f->path); -+ if (flen > mlen) -+ goto done; -+ -+ if (mutt_str_strncmp(url_m->path, url_f->path, flen) != 0) -+ goto done; -+ -+ if (url_m->user && !url_f->user) -+ *plen += mutt_str_strlen(url_m->user) + 1; -+ rc = true; -+ -+done: -+ url_free(&url_m); -+ url_free(&url_f); -+ -+ return rc; -+} -+ - /** - * draw_sidebar - Write out a list of mailboxes, in a panel - * @param win Window to draw on -@@ -915,15 +958,24 @@ static void draw_sidebar(struct MuttWindow *win, int num_rows, int num_cols, int - size_t maildirlen = mutt_str_strlen(C_Folder); - if (maildirlen && C_SidebarDelimChars && - strchr(C_SidebarDelimChars, C_Folder[maildirlen - 1])) -+ { - maildirlen--; -+ } - - /* check whether C_Folder is a prefix of the current folder's path */ - bool maildir_is_prefix = false; -- if ((mutt_buffer_len(&m->pathbuf) > maildirlen) && -- (mutt_str_strncmp(C_Folder, mailbox_path(m), maildirlen) == 0) && -- C_SidebarDelimChars && strchr(C_SidebarDelimChars, mailbox_path(m)[maildirlen])) -+ if (m->magic == MUTT_IMAP) - { -- maildir_is_prefix = true; -+ maildir_is_prefix = imap_is_prefix(C_Folder, mailbox_path(m), &maildirlen); -+ } -+ else -+ { -+ if ((mutt_buffer_len(&m->pathbuf) > maildirlen) && -+ (mutt_str_strncmp(C_Folder, mailbox_path(m), maildirlen) == 0) && -+ C_SidebarDelimChars && strchr(C_SidebarDelimChars, mailbox_path(m)[maildirlen])) -+ { -+ maildir_is_prefix = true; -+ } - } - - /* calculate depth of current folder and generate its display name with indented spaces */ |