On Sun, Jul 24, 2016 at 08:20:38PM -0700, Kevin J. McCarthy wrote:
> On Sat, Jul 23, 2016 at 01:32:43PM +0300, Emanuele Giaquinta wrote:
> > long time ago I wrote a patch set for the following enhancement request:
> >
> > https://dev.mutt.org/trac/ticket/2976
> > https://dev.mutt.org/trac/ticket/3244
> > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=532766
> >
> > and sent it to Michael Elkins for feedback. After one review round, the
> > discussion did not continue and the patch set was never applied.
>
> I'll put this on my list of things to look at. To be honest, if Michael
> wasn't convinced, my pre-disposition will be against, but I'll look more
> closely when I get some time.
Ok. I don't understand why you have this negative bias based on no
followup from Michael though.
> One quick comment though:
> > On message copy, write Status header only if the format of the
> > destination mailbox is mbox or mmdf.
>
> I believe MH uses the Status header for "old", doesn't it?
The MH format supports unseen/flagged/replied flags only, which are
stored in a .mh_sequences file. Now, I am not sure what the intended
behaviour is, but there seems to be some inconsistency in the MH driver
wrt "old":
- if you change only some flags on a message, old is not preserved:
mh.c:mh_sync_message is a no-op and mh.c:mh_sync_mailbox syncs only
the .mh_sequences file.
- if you delete a message attachment, old is preserved:
mh.c:mh_sync_message creates a new message WITH the Status header (see
mh.c:1658).
- if you edit a message, old is not preserved:
editmsg.c:edit_one_message creates a new message WITHOUT the Status
header; in particular, it adds the Status header only for mbox/mmdf
formats (see editmsg.c:82).
- if a message contains the Status header, old is read from the header:
mh_read_dir -> maildir_delayed_parsing -> maildir_parse_message ->
mutt_read_rfc822_header
Michael wrote the following about Status handling in message copy:
"There are actually two flags which control the Status: header field:
CH_UPDATE rewrite the header
CH_NOSTATUS remove the header
for IMAP, Maildir and MH, it should probably be using CH_NOSTATUS instead."
Emanuele