Tidying the Mutt Code

2015-11-20 Thread Richard Russon
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

Re: Tidying the Mutt Code

2015-11-21 Thread Richard Russon
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

Re: Tidying the Mutt Code

2015-11-22 Thread Richard Russon
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

NeoMutt[1/4] - Release 2016-03-07

2016-03-07 Thread Richard Russon
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

NeoMutt[3/4] - Minor Features

2016-03-07 Thread Richard Russon
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

NeoMutt[2/4] - Bug Fixes

2016-03-07 Thread Richard Russon
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

NeoMutt[4/4] - Sidebar

2016-03-07 Thread Richard Russon
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

Re: NeoMutt[2/4] - Bug Fixes

2016-03-08 Thread Richard Russon
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

Re: NeoMutt[3/4] - Minor Features

2016-03-08 Thread Richard Russon
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

[PATCH] Makefile should used package name for pot file

2016-03-18 Thread Richard Russon
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)

[PATCH] Fix build warnings in default

2016-03-19 Thread Richard Russon
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 { +

[PATCH] reset mbstate on error

2016-03-19 Thread Richard Russon
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

[PATCH] Typo in error message in recvattach.c

2016-03-19 Thread Richard Russon
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 @@ {

NeoMutt - Release 2016-03-17

2016-03-19 Thread Richard Russon
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

Re: [PATCH] reset mbstate on error

2016-03-19 Thread Richard Russon
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

Re: Kevin McCarthy taking over as the mutt maintainer

2016-04-04 Thread Richard Russon
> 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

Neomutt - Release 20160404 (Mutt-1.6.0)

2016-04-04 Thread Richard Russon
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

Re: Neomutt - Release 20160404 (Mutt-1.6.0)

2016-04-05 Thread Richard Russon
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

Re: Neomutt - Release 20160404 (Mutt-1.6.0)

2016-04-05 Thread Richard Russon
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

Re: Neomutt - Release 20160404 (Mutt-1.6.0)

2016-04-05 Thread Richard Russon
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' ->

Re: Neomutt - Release 20160404 (Mutt-1.6.0)

2016-04-06 Thread Richard Russon
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

Re: Neomutt - Release 20160404 (Mutt-1.6.0)

2016-04-06 Thread Richard Russon
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

Re: [PATCH 0 of 8] Change Mutt to use window structures for screen drawing

2016-04-19 Thread Richard Russon
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

Changes to Window Patches

2016-04-20 Thread Richard Russon
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.

Panel Manager

2016-04-21 Thread Richard Russon
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

Re: [PATCH 0 of 8] Change Mutt to use window structures for screen drawing

2016-04-23 Thread Richard Russon
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

Re: [PATCH 0 of 8] Change Mutt to use window structures for screen drawing

2016-04-23 Thread Richard Russon
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

Re: Behavior change with (O)ld mail in Maildir?

2016-05-06 Thread Richard Russon
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:/

Re: X-Label patches?

2016-05-16 Thread Richard Russon
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

Re: Sidebar patches and plan

2016-06-01 Thread Richard Russon
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

Re: Sidebar patches and plan

2016-06-02 Thread Richard Russon
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

[PATCH] Sidebar -> Status line wrong length

2016-06-07 Thread Richard Russon
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

[PATCH] limit sidebar width to prevent overflow

2016-06-07 Thread Richard Russon
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

[PATCH] fix formatting problem in compose

2016-06-08 Thread Richard Russon
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

[PATCH] fix formatting problem in compose

2016-06-08 Thread Richard Russon
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 |

Re: [PATCH 1 of 3] Add sidebar_format flag '%n' to display 'N' on new mail.

2016-06-08 Thread Richard Russon
> +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

Re: [PATCH] fix formatting problem in compose

2016-06-09 Thread Richard Russon
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:

Re: [SPAM?] trash folder patch (was Re: [PATCH] Combine the basic and extended buffy functions.)

2016-06-14 Thread Richard Russon
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/

[PATCH] Fix sidebar crash for non-existent mailbox

2016-07-06 Thread Richard Russon
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 (

Re: Sidebar pagedown/up and hidden entries

2016-07-07 Thread Richard Russon
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

Re: Sidebar pagedown/up and hidden entries

2016-07-07 Thread Richard Russon
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

Re: Sidebar pagedown/up and hidden entries

2016-07-09 Thread Richard Russon
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

[PATCH] Fix imap/sidebar update bug

2016-07-25 Thread Richard Russon
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

mx_ops, mx_check_mailbox()

2016-07-27 Thread Richard Russon
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

Re: Next few todos

2016-11-04 Thread Richard Russon
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

Re: [PATCH] Make spool folder highlighting in the sidebar configurable

2016-12-03 Thread Richard Russon
> [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

[PATCH] remove unused OPS

2016-12-13 Thread Richard Russon
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

Re: [PATCH 0 of 2] Convert to_chars and status_chars to allow multibyte characters (closes #3024)

2016-12-14 Thread Richard Russon
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

Re: [PATCH] Add support for LMDB header cache backend

2017-01-27 Thread Richard Russon
> > 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

Broken build (default)

2017-02-08 Thread Richard Russon
The latest changes break the build for BDB (Berkeley DB): ./prepare --enable-hcache --with-bdb && make Rich signature.asc Description: PGP signature

Re: Broken build (default)

2017-02-08 Thread Richard Russon
> Thanks Richard. No problem. Travis reports 42 successful builds. signature.asc Description: PGP signature

Re: outdated (german) translation

2017-08-03 Thread Richard Russon
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

Re: Taking a break for a bit

2020-07-29 Thread Richard Russon
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

Re: [PATCH] Add error when $sendmail has shell metachars

2022-05-25 Thread Richard Russon
> 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.. -