2020-03-28 11:20:21 -0700  Kevin McCarthy  <kevin@8t8.us> (f42ee069)

        * Update UPDATING for 1.13.5.

M	UPDATING

2020-03-24 10:01:07 -0700  Kevin McCarthy  <kevin@8t8.us> (0266f6e4)

        * Fix use-after-free in mutt_str_replace().
        
        The Outlook content-type fix in commit 4cec4b63 inadvertantly
        introduced a use-after-free.  Calling mutt_set_parameter() pointing to
        a different part of the same string ends up calling mutt_str_replace()
        with both parameters pointing to the same hunk of memory.
        
        Improve mutt_str_replace() to deal with that case, to fix this bug and
        prevent possible future bugs resulting from that mistake.
        
        Thank you to Vita Batrla for the excellent bug report and patch.  I
        merely added a comment and removed the "SAFE_FREE comment" from his
        patch.

M	lib.c

2020-03-06 13:48:45 -0800  Kevin McCarthy  <kevin@8t8.us> (d7ab6a73)

        * Fix format string parameters.
        
        crypt-gpgme and pgpkey $pgp_entry_format optional expando processing
        passed the wrong function parameter.  So did remailer for
        $mix_entry_format.

M	crypt-gpgme.c
M	pgpkey.c
M	remailer.c

2020-02-23 12:53:46 -0800  Kevin McCarthy  <kevin@8t8.us> (619cd6cf)

        * Ensure format string dest buffer is cleared for callback function.
        
        There is some variation in Mutt as to the behavior of an undefined
        expando.  Some functions pass the op through, some output nothing.
        
        Unfortunately, a few callback functions also don't ensure the dest
        buffer is cleared if no expandos match the passed in op.  This is
        mostly my fault - I think I added a few using addrbook as a template,
        which was unfortunately missing the default clear switch.
        
        Rather than adding it to the places a default is missing, just ensure
        it's cleared in mutt_FormatString() itself, which will prevent future
        mistakes too.

M	muttlib.c

2020-02-15 12:23:36 -0800  Kevin McCarthy  <kevin@8t8.us> (1adc3a5d)

        * automatic post-release commit for mutt-1.13.4

M	ChangeLog
M	VERSION
2020-02-15 11:25:37 -0800  Kevin McCarthy  <kevin@8t8.us> (05a257e8)

        * Update UPDATING file 1.13.4.

M	UPDATING

2020-02-11 15:34:17 -0800  Kevin McCarthy  <kevin@8t8.us> (6051760c)

        * Fix crash when syncing large IMAP mailboxes.
        
        imap_sync_mailbox() and imap_exec_msgset() make a copy of the headers
        before resorting them to generate a message-set, to avoid context
        changes.  I noticed the oddity in the past but didn't investigate
        deeply enough at the time. :-/
        
        The code in imap_sync_mailbox() was wrong for four reasons:
        1) Because IMAP_REOPEN_ALLOW is set, sync_helper() can trigger
           an imap_exec if the queue fills up, resulting in new messages
           being downloaded or expunges being triggered.
        
        2) The copy was only allocating msgcount headers, instead of hdrmax.
           Downloading new messages could then attempt to append beyond the end
           of the array if hdrmax > msgcount.
        
        3) New messages or expunges would disappear when the copy was restored
           afterwards.
        
        4) The callers of mx_sync_mailbox() are prepared for context changes,
           and will adjust the cursor properly to avoid jumps.
        
        The same problems can occur in imap_exec_msgset() when reopen is set.
        Not all of its callers enable reopen, or are prepared to deal with
        context changes though, so the copy is needed when reopen is not set.
        
        An alternative solution tried converting to call mutt_sort_headers()
        when possible.  However that solution turned out to visibly slow down
        syncs due to the double sorting.
        
        This commit instead turns off reopen for the duration of the msgset
        operations.
        
        While verifying all queued operations are flushed, I noticed the
        initial "quick delete" in imap_sync_mailbox() did not seem to be
        guaranteed to flush.  Ensure the imap_exec() further below is
        triggered if either the quick delete or sync_helper calls generate
        changes.  Change the quick delete to assign to "quickdel_rc" to make
        it clear the flush below is for both.
        
        Change the post sync/msgset check to look for both ((oldsort != Sort)
        || hdrs), just to make sure a memory leak doesn't occur.

M	imap/imap.c

2020-02-08 11:34:13 -0800  Kevin McCarthy  <kevin@8t8.us> (0f8a079d)

        * Speed up thread sort when many long threads exist.
        
        Merge request !75 reported a massive slowdown opening a mailbox with
        many long threads: on the order of an hour.
        
        This is because mutt_set_virtual() was iterating through the whole
        thread for each message.
        
        After taking a closer look at current Mutt behavior, it seems the
        num_hidden count is only needed in the root thread.  Quoting my
        comment in the merge request:
        
          The index-format expando %M only applies to root level headers, so
          there are no issues there.
        
          The only concern is the pattern ~v. Limiting always resets collapsed
          and num_hidden, so there also can't be any issues there. Tagging and
          other pattern operators only work on visible messages. So tagging
          while threads are sorted will only tag the root messages of
          collapsed threads.
        
          However, if you sort by thread, collapse a thread, and then sort by
          date, the collapsed and num_hidden fields are not reset for each
          header. In theory this would allow us to tag ~v with date
          ordering. However, in master the num_hidden is only set (by
          mutt_set_virtual()) for visible messages with a virtual number.
        
          So even in master, switching to date-order and tagging ~v will only
          tag the root messages of each collapsed thread.
        
        This commit removes the num_hidden setting in mutt_set_virtual(),
        instead directly assigning that value in the roothdr during a collapse
        operation.
        
        A subsequent commit will fix the behavior of ~v, when switching
        sorting from threaded to something else, by putting num_hidden in
        every header in the thread.  This is technically a change in behavior,
        so I will make that commit in the master branch.
        
        Thanks to Score_Under for the pull request and for testing my
        alternate solutions.

M	mutt.h
M	protos.h
M	thread.c

2020-02-10 14:52:32 -0800  Kevin McCarthy  <kevin@8t8.us> (376716eb)

        * Revert $ssl_force_tls to default unset.
        
        In theory it's a good idea encourage SSL usage everywhere.
        
        However ticket #210 showed that, in reality, that kind of change
        breaks configs and so is still not a good idea.
        
        $ssl_startls defaults set and will use STARTTLS if the server
        advertises it.

M	init.h

2020-02-10 11:38:51 +0100  Daniel Tameling  <tamelingdaniel@gmail.com> (10a35e5d)

        * Fix rendering of replacement_char when Charset_is_utf8
        
        Use mutt_addwch instead of addch to draw the replacement_char in
        pager.c. The line to draw the replacement char was
        addch (replacement_char ())
        However, if Charset_is_utf8 is true, replacement_char returns 0xfffd,
        which is outside the range that addch can handle. Use mutt_addwch
        instead so that the pager displays the replacement char properly.

M	pager.c

2020-01-12 13:12:00 -0800  Kevin McCarthy  <kevin@8t8.us> (ad277fd1)

        * automatic post-release commit for mutt-1.13.3

M	ChangeLog
M	VERSION
2020-01-12 13:01:58 -0800  Kevin McCarthy  <kevin@8t8.us> (f76b45e2)

        * Update UPDATING file for 1.13.3 release.

M	UPDATING

2020-01-11 13:47:56 -0800  Kevin McCarthy  <kevin@8t8.us> (be406ede)

        * Update copyrights to 2020.

M	COPYRIGHT
M	doc/manual.xml.head
M	doc/mutt.man
M	main.c

2019-12-28 15:43:07 -0800  Kevin McCarthy  <kevin@8t8.us> (edf5699c)

        * Fix crash when polling a closed ssl connection.
        
        Commit 8353407c enabled checking for buffered OpenSSL/GnuTLS data when
        polling, but neglected to check if the connection was already closed.
        
        This can be triggered during imap_logout() if the connection write of
        "LOGOUT" fails and closes the connection, before the poll.  It's a bit
        tricky to trigger because imap_logout_all() checks for a closed
        connection, so the failure needs to take place at that last write.
        
        Thanks to Stefan Sperling for pointing out the problem, complete with
        a backtrace and patch.  (This commit takes a different approach for a
        stable-branch fix.)

M	mutt_ssl.c
M	mutt_ssl_gnutls.c

2019-12-21 19:40:52 -0800  Kevin McCarthy  <kevin@8t8.us> (8914a1ba)

        * Turn off auto-clear outside of autocrypt initialization.
        
        The auto-clearing code was added in commit 01bc088c, for autocrypt
        initial prompting.  It removed having to keep track of every place a
        browser or other menu might be displayed and having to remember to
        clear it out.
        
        However, clearing when mutt exits is a change of behavior for those
        who have turned off alternative screens.

M	autocrypt/autocrypt.c
M	menu.c
M	mutt.h

2019-12-18 14:22:17 -0800  Kevin McCarthy  <kevin@8t8.us> (bbe9bd1a)

        * automatic post-release commit for mutt-1.13.2

M	ChangeLog
M	UPDATING
M	VERSION
2019-12-18 14:10:38 -0800  Kevin McCarthy  <kevin@8t8.us> (7aed228a)

        * Revert "Fixes unchecked return from link() in dotlock.c"
        
        This reverts commit 317b7f6b53d8a4272acf8ef1b56f3406e9bc2691.

M	dotlock.c

2019-12-14 12:49:23 -0800  Kevin McCarthy  <kevin@8t8.us> (60dd8986)

        * automatic post-release commit for mutt-1.13.1

M	ChangeLog
M	VERSION
2019-12-14 11:33:51 -0800  Kevin McCarthy  <kevin@8t8.us> (fcfd5ee5)

        * Update UPDATING file for 1.13.1 release.

M	UPDATING

2019-12-13 15:58:20 -0800  Kevin McCarthy  <kevin@8t8.us> (3d9a1072)

        * Fix segv in IMAP postponed menu caused by reopen_allow.
        
        imap_open_mailbox() leaves IMAP_REOPEN_ALLOW set for the connection.
        I noticed this previously but didn't bother untangling the logic yet
        because the index always calls mx_check_mailbox() right away, which
        unsets the flag.
        
        However, when debugging the segv for commit 51729d8d I realized the
        postponed menu/context also suffers from the problem, leaving the menu
        ripe for segvs due to unmanaged expunges.
        
        I believe imap_read_headers() turns it off and back on to avoid
        goofing up imap_cmd_finish() when a reopen *is* allowed.
        
        The logic needs to be cleaned up and fixed.  However for a stable
        branch fix, I'm am taking a conservative approach and just calling
        mx_check_mailbox() to turn it back off.

M	postpone.c

2019-12-12 17:58:11 -0800  Kevin McCarthy  <kevin@8t8.us> (d9dd1d51)

        * Fix imap postponed mailbox use-after-free error.
        
        mutt_get_postponed() was calling mx_close_mailbox(), but not checking
        the return value.  Because the postponed context is an actual
        read-write, selected mailbox in a new connection, a failed close left
        a dangling pointer in connection->idata->ctx.
        
        imap_keepalive() traversed the connection list, finding the Postponed
        connection still there, and passed the dangling pointer to
        imap_check_mailbox.
        
        Change an empty postponed mailbox to just call fastclose.  Change the
        other closes to retry on a postive return code "reopen" event and then
        finally just call fastclose.
        
        Outside the index and postponed menu, Mutt's code only uses append or
        readonly temporary contexts.  Those are guaranteed to call
        mx_fastclose_mailbox() and return 0.

M	mx.c
M	postpone.c

2019-12-13 10:57:03 -0800  Kevin McCarthy  <kevin@8t8.us> (011cfc67)

        * Rename sidebar mailbox shortcuts option and default off.
        
        Rename to $sidebar_use_mailbox_shortcuts.  The shortening wasn't that
        much shorter and made the name confusing.
        
        To prevent complaints in the future as others transition to 1.13,
        default off.

M	init.h

2019-12-07 13:47:37 -0800  Kevin McCarthy  <kevin@8t8.us> (bbfa9271)

        * Make shortpath/indent code guards explicit.
        
        In actuality, the parent_depth and indent_width won't ever be
        negative.
        
        But the new code for unset $sidebar_relative_shortpath_indent makes
        this much less obvious.  Better to be explicit than have some small
        future code change result in a bug.

M	sidebar.c

2019-12-07 13:21:49 -0800  Kevin McCarthy  <kevin@8t8.us> (b09a0b80)

        * Create $sidebar_relative_shortpath_indent, default unset.
        
        When unset this option provides the pre-1.13.0 sidebar indentation and
        shortpath behavior.
        
        Setting the option will enable the new (relative to previous entries)
        indentation and shortening behavior.
        
        Note the mailbox shortcuts are controlled by
        $sidebar_use_mb_shortcuts, which defaults set.

M	init.h
M	mutt.h
M	sidebar.c

2019-12-03 19:16:33 -0800  Kevin McCarthy  <kevin@8t8.us> (8846480c)

        * Fix new option order in the manual.
        
        I actually intended to push commit abfaa0e0 to a remote branch, but
        accidentally ended up pushing it to stable. :-O
        
        Anyway, I think the option is okay, but may have to tweek it a bit.
        This fixes a mistake where it was placed out of order in init.h.

M	init.h

2019-12-03 18:55:49 -0800  Kevin McCarthy  <kevin@8t8.us> (abfaa0e0)

        * Add $sidebar_use_mb_shortcuts to turn off shortcuts.
        
        If unset, Mutt will revert to pre-1.13 display behavior, matching and
        removing a literal $folder prefix, without using mailbox shortcuts.

M	init.h
M	mutt.h
M	sidebar.c

2019-12-01 12:44:36 -0800  Kevin McCarthy  <kevin@8t8.us> (ba1b595c)

        * Minor documentation fixes.

M	doc/manual.xml.head

2019-11-30 10:19:26 -0800  Kevin McCarthy  <kevin@8t8.us> (1dd65e6b)

        * automatic post-release commit for mutt-1.13.0

M	ChangeLog
M	VERSION
M	po/bg.po
M	po/ca.po
M	po/cs.po
M	po/da.po
M	po/de.po
M	po/el.po
M	po/eo.po
M	po/es.po
M	po/et.po
M	po/eu.po
M	po/fi.po
M	po/fr.po
M	po/ga.po
M	po/gl.po
M	po/hu.po
M	po/id.po
M	po/it.po
M	po/ja.po
M	po/ko.po
M	po/lt.po
M	po/nl.po
M	po/pl.po
M	po/pt_BR.po
M	po/ru.po
M	po/sk.po
M	po/sv.po
M	po/tr.po
M	po/uk.po
M	po/zh_CN.po
M	po/zh_TW.po
2019-11-30 10:08:44 -0800  Kevin McCarthy  <kevin@8t8.us> (b1d99670)

        * Set UPDATING file release date for 1.13.0.

M	UPDATING

2019-11-30 09:56:16 -0800  Kevin McCarthy  <kevin@8t8.us> (0950403f)

        * Change "Prf Enc" to "Prf Encr".
        
        Make the abbreviation a bit clearer, that it means Encryption instead
        of Encoding.
        
        Thanks to Morten Bo Johansen for the suggestion.

M	autocrypt/autocrypt_acct_menu.c
M	po/ca.po
M	po/cs.po
M	po/da.po
M	po/de.po
M	po/ja.po
M	po/ru.po
M	po/uk.po

2019-11-29 18:22:49 +0100  Olaf Hering  <olaf@aepfle.de> (c6845bd1)

        * Update de.po
        
        Sync from mutt.pot after 'make update-po'
        
        Signed-off-by: Olaf Hering <olaf@aepfle.de>

M	po/de.po

2019-11-28 07:13:47 +0000  Tamotsu TAKAHASHI  <ttakah@gmail.com> (e8214c87)

        * Update copyright year

M	po/ja.po

2019-11-28 06:59:47 +0000  Tamotsu TAKAHASHI  <ttakah@gmail.com> (be4801f8)

        * Update ja.po

M	po/ja.po

2019-11-25 15:36:48 -0800  Kevin McCarthy  <kevin@8t8.us> (220a4c91)

        * Clarify $write_bcc documentation.
        
        The wording was ambiguous, and could give the impression that a
        message, if fcc'ed, would contain the Bcc header when sent too.

M	init.h

2019-11-23 19:45:20 -0800  Kevin McCarthy  <kevin@8t8.us> (54aa06f7)

        * Add a bit more documentation about sending.
        
        Although the behavior has now been fixed, add $write_bcc references to
        $record, $sendmail, and $smtp_url to make users more aware of the
        behavior.

M	doc/manual.xml.head
M	init.h

2019-11-23 18:33:28 -0800  Kevin McCarthy  <kevin@8t8.us> (acca75f2)

        * Minor UPDATING file edits.

M	UPDATING

2019-11-23 18:22:24 -0800  Ivan Vilata i Balaguer  <ivan@selidor.net> (b302a3e7)

        * Updated Catalan translation.

M	po/ca.po

2019-11-20 13:23:00 -0800  Petr Pisar  <petr.pisar@atlas.cz> (2e3f535a)

        * Updated Czech translation.

M	po/cs.po

2019-11-20 12:21:24 -0800  Vsevolod Volkov  <vvv@mutt.org.ua> (2e3e9556)

        * Updated Russian translation.

M	po/ru.po

2019-11-20 12:19:47 -0800  Vsevolod Volkov  <vvv@mutt.org.ua> (0c0f4518)

        * Updated Ukrainian translation.

M	po/uk.po

2019-11-18 12:54:26 -0800  Morten Bo Johansen  <listmail@mbjnet.dk> (f84c1fba)

        * Updated Danish translation.

M	po/da.po

2019-11-16 21:40:27 +0100  Olaf Hering  <olaf@aepfle.de> (40e7c914)

        * Update de.po
        
        Signed-off-by: Olaf Hering <olaf@aepfle.de>

M	po/de.po

2019-11-14 20:10:35 -0800  Kevin McCarthy  <kevin@8t8.us> (33604971)

        * Add initial UPDATING file entries for 1.13.0.
        
        This is just an initial version, complete with typos and other
        mistakes.  Committing now so translators can refer to it.

M	UPDATING

2019-11-13 20:09:37 -0800  Kevin McCarthy  <kevin@8t8.us> (24ca73ae)

        * Fix $fcc_attach to not prompt in batch mode.
        
        Include attachments if it is 'yes' or 'ask-yes', like $copy and
        $send_multipart_alternative.

M	send.c

2019-11-13 19:28:11 -0800  Kevin McCarthy  <kevin@8t8.us> (06698649)

        * Change $send_multipart_alternative to run in batch mode on ask-yes.
        
        Emulate the behavior of $copy, which performs fcc for 'yes' or
        'ask-yes' values.

M	send.c

2019-11-13 17:51:04 +0000  madroach  <madroach@gmerlin.de> (e850e89f)

        * allow autoview preview of multipart/alternative content
        
        add view-alt function, so now we have
         * view-alt "v"
         * view-alt-text "Esc v"
         * view-alt-mailcap "V"

M	OPS
M	compose.c
M	doc/manual.xml.head
M	functions.h

2019-11-13 00:27:28 +0000  David Champion  <dgc@c13.us> (20c7b0d8)

        * Fix __attribute__((warn_unused_result)) issue in query.c
        
        Changing to mutt_read_line() avoids -Wunused-result warning while
        reading the ignored line in query protocol response.

M	query.c

2019-11-13 00:27:27 +0000  David Champion  <dgc@c13.us> (f098ac2d)

        * Fix __attribute__((warn_unused_result)) issue in help.c

M	help.c

2019-11-13 00:27:27 +0000  David Champion  <dgc@c13.us> (09dfed3f)

        * Fix __attribute__((warn_unused_result)) warning in enter.c

M	enter.c

2019-11-13 00:27:25 +0000  David Champion  <dgc@c13.us> (317b7f6b)

        * Fixes unchecked return from link() in dotlock.c

M	dotlock.c

2019-11-11 10:06:44 +0000  David Champion  <dgc.github@c13.us> (afb14d62)

        * Update copyrights

M	COPYRIGHT

2019-11-11 10:06:44 +0000  David Champion  <dgc.github@c13.us> (d8b9f793)

        * Update patchlist.sh to support `guilt' patch queues

M	patchlist.sh

2019-11-10 19:58:43 -0800  Kevin McCarthy  <kevin@8t8.us> (88f26048)

        * Add gcc comments for fallthrough case statements.
        
        Most of these were already commented.  Change a few of them to
        a format gcc will recognize.  In the future, we'll want to change to
        whatever is standardized.

M	addrbook.c
M	autocrypt/autocrypt_gpgme.c
M	browser.c
M	compose.c
M	curs_main.c
M	doc/makedoc.c
M	enter.c
M	handler.c
M	hdrline.c
M	pager.c
M	pattern.c
M	pgppacket.c
M	query.c
M	recvattach.c
M	signal.c
M	smime.c

2019-11-10 18:50:41 -0800  Kevin McCarthy  <kevin@8t8.us> (aae2d87a)

        * Add $count_alternatives to count attachments inside alternatives.
        
        Some mail clients (*cough* Apple Mail) have started to put email
        attachments in one of the multipart/alternative branches.
        
        The config changes the searching to recurse inside alternatives when
        performing attachment counting.

M	doc/manual.xml.head
M	init.h
M	mutt.h
M	parse.c

2019-11-10 15:09:54 -0800  Kevin McCarthy  <kevin@8t8.us> (5835f4c0)

        * Remove nonreentrant calls from exit_handler()
        
        _() can invoke malloc, so remove l10n translations.
        
        printf() is not safe either, so use write().
        
        I'm not sure at this point about curs_set() and endwin(), but they
        seem important enough for proper terminal cleanup to risk leaving in.
        
        Thanks to Oswald Buddenhagen for pointing out the problem, and the old
        trac ticket from Vincent at:
        <https://gitlab.com/muttmua/trac-tickets/raw/master/tickets/open/3791-SIGQUIT_Ctrl_while_opening_mailbox_made_Mutt_hang.txt>

M	signal.c

2019-11-09 13:43:11 -0800  Kevin McCarthy  <kevin@8t8.us> (183c4687)

        * Add markdown2html contrib script.
        
        This was contributed by martin f. kraft, to give an example script for
        the new $send_multipart_alternative_filter funtionality.

M	contrib/Makefile.am
A	contrib/markdown2html

2019-11-09 13:29:16 -0800  Kevin McCarthy  <kevin@8t8.us> (202ec2c8)

        * Remove input buffer flush on sigwinch in index.
        
        I recall seeing a message on IRC, where someone reported their macro
        suddenly aborting after invoking an editor or something similar.  At
        the time, I wasn't sure of the problem, but this seems a likely
        culprit, if the event caused a sigwinch.
        
        Neither the menu.c nor the pager.c SigWinch handlers do such a thing.
        The line was part of the initial import 21 years ago, so there is no
        justification given.

M	curs_main.c

2019-11-08 08:07:21 -0800  Kevin McCarthy  <kevin@8t8.us> (ef7e5e42)

        * Fix sigwinch race in the index and menu processor.
        
        Reset the SigWinch flag before the screen resize/reflow, not afterwards.

M	curs_main.c
M	menu.c

2019-11-07 19:33:31 -0800  Kevin McCarthy  <kevin@8t8.us> (c64baf93)

        * Change $write_bcc to default off.
        
        Change Fcc'ing to always write a Bcc header regardless of the setting.
        
        Update the variable documentation to note the difference when Fcc'ing.

M	init.h
M	mutt.h
M	sendlib.c

2019-11-07 15:06:53 -0800  Kevin McCarthy  <kevin@8t8.us> (29167ecf)

        * Block multipart type alternatives generation.
        
        Since generating multipart types using
        $send_multipart_alternative_filter will not send properly, display an
        error message and block alternatives of that type.

M	sendlib.c

2019-11-07 02:14:05 +0000  David Champion  <dgc.github@c13.us> (127bcc3c)

        * s/Mercurial/Git/ in INSTALL

M	INSTALL

2019-11-06 10:43:09 -0800  Kevin McCarthy  <kevin@8t8.us> (ab9b7b08)

        * Ensure APP_PGP flag is enabled for autocrypt.
        
        There was no code that explicitly enabled APP_PGP mode when either the
        recommendation engine or autocrypt menu were invoked.  This would
        cause the actual encryption to fail when sending.
        
        This was hidden by the $crypt_opportunistic_encrypt config, which does
        ensure it gets turned on.  I can only guess that this variable is
        popular with the autocrypt early adopters too.
        
        Also explicity enable APP_PGP for $autocrypt_reply.  We can't rely on
        $crypt_autopgp to turn this on.

M	compose.c
M	send.c

2019-10-29 13:53:20 +0800  Kevin McCarthy  <kevin@8t8.us> (0e566a03)

        * Add ability to generate multipart/alternative using a filter script.
        
        Create config variables $send_multipart_alternative (a quadoption)
        and $send_multipart_alternative_filter.  The filter script expects
        output to be the mime type, a blank line, then the content.
        
        Add ability to preview alternative from compose menu.  <view-alt-text>
        forces viewing as text.  <view-alt-mailcap> forces using the mailcap.
        Bind them to 'v' and 'V', respectively.
        
        Improve <resend-message> so a multipart/alternative is stripped out,
        which would just confuse the compose menu.  Currently this preserves
        the first alternative.
        
        Allow alternative generation in batch mode, as long as the quadoption
        is set to 'yes'.

M	OPS
M	compose.c
M	doc/manual.xml.head
M	functions.h
M	globals.h
M	init.h
M	mutt.h
M	postpone.c
M	protos.h
M	send.c
M	sendlib.c

2019-10-29 14:58:57 +0800  Kevin McCarthy  <kevin@8t8.us> (3f911681)

        * Create multipart/mixed helpers.
        
        Since we will be dealing with multipart/alternative, we need the
        helpers to be a bit more specific.
        
        We need to distinguish a top-level multipart/alternative from a
        multipart/mixed created because of attachments.

M	compose.c
M	main.c
M	postpone.c
M	protos.h
M	send.c
M	sendlib.c

2019-10-31 13:58:22 +0100  Fabian Groffen  <grobian@gentoo.org> (4cec4b63)

        * mutt_parse_content_type: work around annoying charset behaviour from Outlook
        
        MS Outlook seems to add charset=charset=utf-8 to Content-Type, which
        results in charset_utf-8 inside Mutt, which in turn confuses others.
        
        Strip a leading charset= from charset, so we work around this odd
        behaviour.
        
        Signed-off-by: Fabian Groffen <grobian@gentoo.org>

M	parse.c

2019-10-29 13:21:51 +0800  Kevin McCarthy  <kevin@8t8.us> (e9ab7539)

        * Convert smime_decrypt_mime() to use buffer pool.

M	smime.c

2019-10-28 18:59:02 +0800  Kevin McCarthy  <kevin@8t8.us> (ccf3f493)

        * Convert smime_handle_entity() to use buffers.
        
        Because of the mutt_body_handler() invocation, we avoid using the
        buffer pool.

M	smime.c

2019-10-28 12:36:29 +0800  Kevin McCarthy  <kevin@8t8.us> (05805ddd)

        * Convert smime_verify_one() to use buffer pool.

M	smime.c

2019-10-28 12:22:45 +0800  Kevin McCarthy  <kevin@8t8.us> (56856d8e)

        * Convert smime_sign_message() to use buffer pool.

M	smime.c

2019-10-27 19:29:41 +0800  Kevin McCarthy  <kevin@8t8.us> (ce55dbbf)

        * Convert smime_build_smime_entity() to use buffer pool.

M	smime.c

2019-10-27 15:47:55 +0800  Kevin McCarthy  <kevin@8t8.us> (07e32b7a)

        * Convert smime_invoke_import() and helpers to use buffer pool.

M	smime.c

2019-10-27 13:28:59 +0800  Kevin McCarthy  <kevin@8t8.us> (d4c00c67)

        * Convert smime_verify_sender() and helpers to use buffer pool.

M	smime.c

2019-10-27 11:09:00 +0800  Kevin McCarthy  <kevin@8t8.us> (7c81cd61)

        * Convert smime_get_candidates() to use buffer pool.

M	smime.c

2019-10-26 19:36:33 +0800  Kevin McCarthy  <kevin@8t8.us> (7e29eb23)

        * Convert mutt_write_fcc() to use buffer pool.

M	sendlib.c

2019-10-25 19:29:56 +0800  Kevin McCarthy  <kevin@8t8.us> (58a81897)

        * Convert _mutt_bounce_message to use buffer pool.

M	sendlib.c

2019-10-25 19:13:50 +0800  Kevin McCarthy  <kevin@8t8.us> (8de05d5f)

        * Convert send_msg() $sendmail_wait to use buffer pool.

M	sendlib.c

2019-10-25 15:55:49 +0800  Kevin McCarthy  <kevin@8t8.us> (3565f686)

        * Convert transform_to_7bit() to use buffer pool.

M	sendlib.c

2019-10-25 15:28:25 +0800  Kevin McCarthy  <kevin@8t8.us> (671e653c)

        * Convert mutt_message_to_7bit() to use buffer.
        
        Clean up the error handling a bit.
        
        Because of the recursive invocation, avoid the buffer pool in this
        case.

M	sendlib.c

2019-10-24 14:46:06 +0800  Kevin McCarthy  <kevin@8t8.us> (c5d770ea)

        * Convert fcc to a buffer.
        
        This affects the send.c flow (ci_send_message()), the compose menu,
        and various helper functions.

M	compose.c
M	edit.c
M	headers.c
M	hook.c
M	postpone.c
M	protos.h
M	send.c
M	sendlib.c

2019-10-24 11:23:20 +0800  Kevin McCarthy  <kevin@8t8.us> (2fcde005)

        * Convert send_message() to use buffer pool.

M	send.c

2019-10-23 19:17:09 +0800  Kevin McCarthy  <kevin@8t8.us> (12cd2d52)

        * Add typelen parameter to rfc1524_mailcap_lookup().
        
        Because of mime_lookup commands, the call to mutt_check_lookup_list()
        inside the function can modify the passed in type.  Add an explicit
        length parameter to the function, rather than assume the parameter
        size.  This also makes it more evident the type parameter can be
        modified to callers.
        
        Change the len parameter to mutt_check_lookup_list() to type size_t,
        just to be correct about it.

M	attach.c
M	handler.c
M	protos.h
M	recvattach.c
M	rfc1524.c
M	rfc1524.h

2019-10-23 19:01:17 +0800  Kevin McCarthy  <kevin@8t8.us> (8997c55f)

        * Convert rfc1524_mailcap_lookup() to use buffer pool for path.
        
        Adjust the rfc1524_mailcap_parse() and get_field_text() filename and
        type parameters to be const.
        
        Note that the sizeof(type) needs to be passed to
        rfc1524_mailcap_lookup().  I'll fix that next.

M	rfc1524.c

2019-10-23 16:03:56 +0800  Kevin McCarthy  <kevin@8t8.us> (6380cbd6)

        * Convert mutt_attach_reply() to use buffer pool.

M	recvcmd.c

2019-10-23 15:36:59 +0800  Kevin McCarthy  <kevin@8t8.us> (8d12d900)

        * Convert attach_forward_msgs() to use buffer pool.

M	recvcmd.c

2019-10-23 15:04:49 +0800  Kevin McCarthy  <kevin@8t8.us> (0b59dc75)

        * Convert attach_forward_bodies to use buffer pool.

M	recvcmd.c

2019-10-23 14:44:47 +0800  Kevin McCarthy  <kevin@8t8.us> (1f71fad9)

        * Convert attach_fmt %f to use buffer pool.

M	recvattach.c

2019-10-23 14:33:09 +0800  Kevin McCarthy  <kevin@8t8.us> (80bc61db)

        * Convert mutt_num_postponed() maildir check to use buffer pool.

M	postpone.c

2019-10-23 13:53:26 +0800  Kevin McCarthy  <kevin@8t8.us> (d8b6f94e)

        * Convert pop_fetch_message() to use buffer pool.

M	pop.c

2019-10-23 11:39:22 +0800  Kevin McCarthy  <kevin@8t8.us> (08480fa8)

        * Convert pop_read_header() to use buffer pool.

M	pop.c

2019-10-20 15:52:22 +0800  Kevin McCarthy  <kevin@8t8.us> (5b53290a)

        * Convert pgp_find_hash to use buffer pool.

M	pgpmicalg.c
