tl;dr -- I want to to extensively tidy the mutt code
Mutt's great, but it's the work of hundreds of people over a couple of
decades and that *really* shows in the code.
The code desperately needs cleaning up and I'm keen to make those changes.
Tidy, well documented code, will:
make maintenan
On Sat, Nov 21, 2015 at 11:34:07AM +, Andras Salamon wrote:
> On Sat, Nov 21, 2015 at 01:24:51AM +0000, Richard Russon wrote:
> >tl;dr -- I want to to extensively tidy the mutt code
> Moreover, consistency with a particular set of compiler standards will
> almost certainly e
Kevin J. McCarthy wrote:
> given the small size of the active development team.
And it's likely to stay that way if the community doesn't encourage new
people.
I'm not surprised my ideas attracted a host of 'no' emails, but I was
hoping someone would suggest a way forward.
> reviewing large-scal
This is the first release of NeoMutt: patches against Mutt 1.5.24
https://github.com/neomutt/neomutt/releases/tag/neomutt-20160307
## Introduction
NeoMutt is a place to gather all the patches against Mutt.
NeoMutt is NOT a fork.
Hopefully this will build the community and reduce duplicated
Here's a little more info about the minor features.
## cond-date - Use rules to choose date format
The "cond-date" patch allows you to construct $index_format expressions
based on the age of the email.
Mutt's default `$index_format` displays email dates in the form:
abbreviated-month day-of-mont
This "feature" is small collection of bug fixes.
Some are from Karel Zak's Notmuch repository; the others are mine.
* mute build warning
* build fix for po package name
* fix %* index_format
* Add browser sort by description, message count and new message count
* Use unlocked libc IO everywhe
The Sidebar shows a list of all your mailboxes. The list can be turned
on and off, it can be themed and the list style can be configured.
Beginner-friendly howto:
https://flatcap.org/mutt/manual.html#intro-sidebar
Full Reference:
https://github.com/neomutt/neomutt/wiki/sidebar
## Updates
On Mon, Mar 07, 2016 at 07:34:55PM -0600, Derek Martin wrote:
> On Mon, Mar 07, 2016 at 04:30:29PM +0000, Richard Russon wrote:
> > Some are from Karel Zak's Notmuch repository; the others are mine.
The four patches you're concerned about are from mutt-kz.
I split them out of
On Tue, Mar 08, 2016 at 09:37:16AM +0100, Fabian Groffen wrote:
> On 07-03-2016 16:30:36 +0000, Richard Russon wrote:
> > ## progress - Show a visual progress bar on slow operations
> This is a different patch than Rocco's one from:
> but it looks similar enough to me to won
Use $(PACKAGE) instead of 'mutt'
---
diff -urN mutt/Makefile.am mutt.fix/Makefile.am
--- mutt/Makefile.am2016-03-17 23:22:15.547234169 +
+++ mutt.fix/Makefile.am2016-03-17 23:15:32.711048802 +
@@ -112,7 +112,7 @@
CLEANFILES = mutt_dotlock.c keymap_alldefs.h $(BUILT_SOURCES)
Fix three build warnings when DEBUG isn't defined.
Patch against hg:cc1af19c0763
---
diff -urN mutt/hcache.c mutt.fix/hcache.c
--- mutt/hcache.c 2016-03-17 23:01:11.429854678 +
+++ mutt.fix/hcache.c 2016-03-17 22:29:12.482749177 +
@@ -931,8 +931,10 @@
return 0;
else
{
+
This is Karel Zak's patch to fix handling of (illegal) multi-byte chars.
* mutt_wstr_trunc() does not reset mbrtowc() after error
* mutt_wstr_trunc() compare signed and unsigned numbers to check for
maxlen and maxwid limits and does not care about unprintable chars
Addresses: https://github
Typo picked up by Debian's QA.
This was allegedly fixed 5 years ago (#3493).
---
diff -urN mutt/recvattach.c mutt.fix/recvattach.c
--- mutt/recvattach.c 2016-03-17 23:22:15.549234200 +
+++ mutt.fix/recvattach.c 2016-03-17 23:13:25.254091758 +
@@ -707,7 +707,7 @@
{
This release adds one major feature: NotMuch (email indexing engine) and
one improvement to IfDef which you can all have a good argue about :-)
https://github.com/neomutt/neomutt/releases/tag/neomutt-20160317
## NotMuch
NotMuch is a mail indexing system, which is great if you have all your
m
On Thu, Mar 17, 2016 at 05:27:49PM -0700, Kevin J. McCarthy wrote:
> On Thu, Mar 17, 2016 at 11:36:23PM +0000, Richard Russon wrote:
> > This is Karel Zak's patch to fix handling of (illegal) multi-byte chars.
> I need some time to look at this before I push it. If any of the
> It's my pleasure to announce that Kevin McCarthy has agreed to take
> over as mutt's maintainer.
Thanks for your hard work Brendan.
Congratulations Kevin!
Does the position come with a badge and a gun?
Rich / FlatCap
This release of NeoMutt contains no new features.
It's just a rebase of the code to Mutt-1.6.0.
The current list of stable features is:
Conditional DatesConditional Date Formatting
Fmemopen Use fmemopen(3) for speedier temporary files
IfdefConditional co
On Mon, Apr 04, 2016 at 08:18:02PM -0400, Xu Wang wrote:
> On Mon, Apr 4, 2016 at 4:05 PM, Richard Russon wrote:
> I am a user of mutt-kz and for 1.6.0 I might need to move to neomutt.
Karel Zak has just released an updated version of mutt-kz (based on the
NeoMutt repo).
> All of
Hi David,
Though this is a reply to your email, most of the my comments are really
directed at all Mutt devs.
> I realize you're to some extent building your own extension/bundling of
> mutt here,
Someone likened it to kernel-next (or perhaps mutt-unstable)
A proving ground for features. Bringi
On Tue, Apr 05, 2016 at 04:32:11PM +0200, Vincent Lefevre wrote:
> On 2016-04-05 14:43:15 +0100, Richard Russon wrote:
> > The limiting machinery doesn't take any parameters
> Couldn't ~. be changed internally to ~m at evaluation time?
1 User: 'l' ->
On Tue, Apr 05, 2016 at 06:19:10PM +0200, Vincent Lefevre wrote:
> On 2016-04-05 16:40:14 +0100, Richard Russon wrote:
> > Only the menu object in mutt_index_menu() knows the current email.
> Alternatively, couldn't the current message be part of the context?
> It would be a
On Tue, Apr 05, 2016 at 11:04:59AM -0700, David Champion wrote:
> * On 05 Apr 2016, Richard Russon wrote:
> The thing that made me think otherwise was the removal of hg-related
> components.
Don't worry about that.
Each feature has its own branch. Each branch contains ONLY the
Hi Kevin,
> I am still in the middle of making these changes
Well done. It's an impressive start.
Here's a very reassuring metric.
Count of uses of ncurses global variables:
$ find . -name '*.[ch]' | xargs grep -who -e COLS -e LINES | wc -l
Before: 119
After: 57
Can you put the changes int
Hi Kevin,
I've ported the Sidebar and given your patches a bit of a test-drive.
Looking good.
https://github.com/neomutt/neomutt/tree/devel/win-sidebar
This simplifies Sidebar noticeably:
-90 lines in sidebar.c
-70 lines in other code
I've attached a couple of suggested changes.
Hi Kevin,
A while back I mocked up a Panel Manager to test how I'd like Mutt to
manage windows. It's working prototype:
https://github.com/neomutt/panel-manager
It creates a set of nested windows.
The important attributes of each window are:
Orientation: horizontal / vertical
Visibl
On Fri, Apr 22, 2016 at 12:27:06PM -0700, Kevin J. McCarthy wrote:
> Regardless, I'm not convinced my under-development patch queues belong
> in a public repos. I'd like to know what's wrong with just posting the
> patches to the list when I'm ready to.
Well now we have a good example. You have
On Sat, Apr 23, 2016 at 06:01:55PM -0700, Kevin J. McCarthy wrote:
> Whether intentional or not, the condescension and near whininess
Certainly not intentional.
> I'm sorry posted patches and the customs of this list are so unpleasant
> for you.
I'm trying to offer suggestions to make developme
Hi Omen,
Short answer: it's already been fixed.
As you found, the old Sidebar wasn't counting "new" the same way as Mutt.
If you have the time, please test the latest NeoMutt release:
https://github.com/neomutt/neomutt
If that doesn't help, please raise an issue and I'll fix it:
https:/
Hi Mun,
> I was wondering about the status of David Champion's X-Label patches
> with respect to Mutt v.1.6.1?
The last I heard, he keeps it up-to-date and uses it regularly.
> Has David's X-Label functionality been incorporated into Mutt?
No, but it's on my list for inclusion in NeoMutt.
h
Hi Kevin,
> I'm shortly going to ... commit ... the sidebar
Let me be the first to say: "Holy , it's actually happening".
> First, let me say thanks to Rich
and thank you for driving the change.
> While I would like to commit the current set of patches now, I am not
> done with the change
On Wed, Jun 01, 2016 at 12:52:10PM -0700, Kevin J. McCarthy wrote:
> The biggest thing right now is help making sure I didn't break things
> with my changes (mostly in patch 03).
I can't find anything obvious.
There's one slight issue with the status bar length, but that appears in
the original
set sidebar_visible = yes
set status_on_top = no
When the Sidebar is enabled, $status_on_top unset and the pager active,
the status line and the pager line are the wrong length.
I've changed mutt_make_string_info() and menu_status_line() to take a
cols parameter (max screen columns). Before, the
Setting $sidebar_width to more than 128 would cause bad things to happen.
First, give the users more than enough space.
Second, don't pad out short strings beyond the buffer
---
sidebar.c | 11 ++-
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/sidebar.c b/sidebar.c
index
Several of the compose-panel labels didn't use the TITLE_FMT to align
themselves. This causes formatting problems when the width is changed,
e.g. by the NNTP patch.
---
compose.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/compose.c b/compose.c
index 7e52d54..1d
Several of the compose-panel labels didn't use the TITLE_FMT to align
themselves. This causes formatting problems when the width is changed,
e.g. by the NNTP patch.
Updated:
Removed spaces before "sign as: "
Adjusted offset for "Encrypt with: "
Added L10N for "Mix: "
---
compose.c |
> +snprintf (fmt, sizeof (fmt), "%%%sc", prefix);
> +snprintf (dest, destlen, fmt, b->new ? 'N' : ' ');
I'd have gone for a string, myself, as it's slightly more flexible.
(The new sidebar_format wouldn't need to change)
snprintf (fmt, sizeof (fmt), "%%%ss", prefix);
snpr
On Thu, Jun 09, 2016 at 12:14:06PM -0700, Kevin J. McCarthy wrote:
> I meant was that I didn't think we needed to change this line at all,
> so I removed this change
Without the change, "Encrypt with:" is printed at a fixed location
within the window.
Here's HDR_XOFFSET set to 10, 20, 30:
On Tue, Jun 14, 2016 at 03:19:18PM -0700, Will Yardley wrote:
> Has anyone updated the trash folder patch for the various recent changes
> (function rename as well as mailbox driver reorganization)?
No, NeoMutt's up-to-date with stable (1.6.1).
https://github.com/neomutt/neomutt/tree/feature/
If you to a non-existent mailbox, there will be no
Context.
---
sidebar.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sidebar.c b/sidebar.c
index 12971e5..3c2d9c0 100644
--- a/sidebar.c
+++ b/sidebar.c
@@ -886,6 +886,9 @@ void mutt_sb_set_open_buffy (void)
OpnIndex = -1;
+ if (
On Wed, Jul 06, 2016 at 06:13:07PM -0700, Kevin J. McCarthy wrote:
> Attached is a patch that I think should fix the problem.
It's certainly a lot better. The "pages" seem stable now.
Also tested successfully:
Select first box on a page, then delete an earlier box
Select last box on a pa
On Thu, Jul 07, 2016 at 09:44:05AM -0700, Kevin J. McCarthy wrote:
> I'm also thinking about making a small change ...
Oh, you've already done it. Too slow.
The patches look OK, and my quick tests work.
> > I've also seen a very short-lived display issue.
> This one is a bit scary.
A quick git
On Fri, Jul 08, 2016 at 12:20:00PM -0700, Kevin J. McCarthy wrote:
> Is there some way for you to unset the \Recent flag while setting \Seen
> during sieve delivery?
I haven't seen one, but I'll have a play around.
> Alternatively, you may want to try unsetting $mail_check_recent, if you
> only c
The sidebar's inbox occasionally shows zero/wrong value until the next
mail_check_stats event.
If IMAP hasn't been asked for MESSAGES, don't update BUFFY->msg_count.
---
imap/command.c | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/imap/command.c b/imap/command.c
index
In the new mx_check_mailbox(), there's the following:
ops = mx_get_ops (ctx->magic);
if (!ops)
return -1;
return ops->check (ctx, index_hint);
Shouldn't we use ctx->mx_ops?
Or at least check for their existence, first?
Rich
Hi Kevin,
> This weekend, I'm going to work on merging the compressed mailboxes
> patch. It looks like the NeoMutt team did a nice job reworking it with
> Damien's mx_ops changes.
Thanks :-)
> I found a broken-out patch file in the Gentoo archive,
> so plan on using that as a starting point.
T
> [Richard, please excuse the direct Cc,
No problem. I saw the patch and was waiting to see what you thought :-)
> > $sidebar_always_highlight_spool
> I am not wild about micro-options like this.
I agree. If your audience is split 50:50, then you need an option.
What proportion of Mutt's user
OP_MAIN_FIRST_MESSAGE and OP_MAIN_LAST_MESSAGE were added to the
code 19 years ago. They weren't used then; they haven't been used since.
Rich
diff i/OPS w/OPS
--- i/OPS
+++ w/OPS
@@ -121,8 +121,6 @@ OP_MAIN_DELETE_PATTERN "delete messages matching a pattern"
OP_MAIN_IMAP_FETCH "force retrieval
OK, fair point about the effort of searching for every index line.
I've tested the code and it works correctly in all they ways I can think
of. Newly-introduced code should be of a high standard, a good example
to others, so I've got some (OK, quite a few) suggestions.
Starting in parse_mbchar
> > Please find attached a patch against current Mutt tip to add LMDB
> This was actually next on my list
> I appreciate you bundling this up and sending it to the list!
Would you consider *all* of our hcache changes?
- LMDB
- kyotocabinet
- refactor to separate hcaches
Pietro Cerutti (gahr) ref
The latest changes break the build for BDB (Berkeley DB):
./prepare --enable-hcache --with-bdb && make
Rich
signature.asc
Description: PGP signature
> Thanks Richard.
No problem. Travis reports 42 successful builds.
signature.asc
Description: PGP signature
Hi Olaf,
> The german translations for mutt are outdated/incomplete.
NeoMutt's German translation is complete and it's a superset of Mutt's
translation.
https://github.com/neomutt/neomutt/blob/master/po/de.po
> I have never worked with translations before,
> is there a howto/guide to provid
Hi Kevin,
> I'm going to take a few weeks off from Mutt development.
Thanks for all your hard work on Mutt.
> Five years later
You've been *maintaining* Mutt, but we've been *developing* NeoMutt.
We've been pushing hard to break up dependencies,
define APIs and document all the code (and much
> It looks like most commits in the last two years are Kevin's.
> Many others are translation-related.
You're right.
This command shows how little support Kevin has had in the last five years.
(it excludes commits that only touch 'po/')
$ git shortlog --summary --numbered --no-merges e7c88e4b.. -
54 matches
Mail list logo