2022-04-30 12:38:09 -0700  Kevin McCarthy  <kevin@8t8.us> (4d082513)

        * Update UPDATING file for 2.2.4 release.

M	UPDATING

2022-04-30 11:11:04 -0700  Kevin McCarthy  <kevin@8t8.us> (7dec694f)

        * Document $header_cache behavior change wrt directories.
        
        Although not documented, Mutt would previously intepret a
        $header_cache value ending in '/' as a directory even if it didn't
        exist.  The new DT_PATH normalization prevents this possibility, so a
        directory will need to be created in advance.
        
        I'm not fond of "fixing" regressions with documentation, but I believe
        this is a small issue, easily worked around for first-time use, and
        the benefits of the normalization are worth this small change.

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

2022-04-28 12:48:09 -0700  Kevin McCarthy  <kevin@8t8.us> (a20ed9b4)

        * When expanding local paths, normalize to remove a trailing '/'.
        
        Commit 986e9e74 normalized Maildir/mh paths upon opening, to aid in
        mailbox comparison issues that can crop up (as the IMAP path
        normalization does).
        
        Unfortunately, this caused other problems in cases where users were
        explicitly adding a trailing '/' to their config settings, such as
        with buffy mailboxes, or with $spoolfile.
        
        To normalize properly, we need to do as the IMAP code does - both on
        the context opening, and expand_path (as imap_expand_path() and
        imap_fix_path() do).
        
        This also helps other cases; for example, the file browser returns
        entries without a trailing '/', while tab completion in the editor
        menu appends a trailing '/'.
        
        Right now the only regression I'm aware of is with $header_cache on
        first use, which I will document in the next commit.  If it turns out
        there are more important regressions I may have to back this and the
        original commit out.

M	muttlib.c

2022-04-21 22:58:48 +0300  Emir SARI  <emir_sari@icloud.com> (b69aed8e)

        * Minor translation fixes

M	po/tr.po

2022-04-12 11:23:07 -0700  Kevin McCarthy  <kevin@8t8.us> (d9199322)

        * automatic post-release commit for mutt-2.2.3

M	ChangeLog
M	VERSION

2022-04-12 11:14:38 -0700  Kevin McCarthy  <kevin@8t8.us> (03f8c660)

        * Update UPDATING file for 2.2.3.

M	UPDATING

2022-04-10 11:05:48 -0700  Kevin McCarthy  <kevin@8t8.us> (efe4186a)

        * Fix read past end of buf in is_mmnoask().
        
        buf is size STRING while the environment variable is copied into a
        LONG_STRING, so lng can be past the end of buf.  Swap the comparison
        order to make sure they match (and thus ensuring buf[lng] isn't
        outside the buffer).

M	handler.c

2022-04-09 13:32:33 -0700  Kevin McCarthy  <kevin@8t8.us> (f8264135)

        * Fix strlen() assigns to be of type size_t where obvious.
        
        Ticket 405 had an almost-exploit enabled by sloppy assignment of
        strlen().  There were more details involved, of course, but this
        served as encouragement to clean up obvious "strlen assignment to int"
        in the rest of the code.
        
        Note this is not *all* cases, only those that were simple and obvious.
        In some cases, the code assigns strlen() to an int but also uses that
        variable to hold negative values for another reason.  In other cases,
        an API is involved (e.g. SASL) that make changing potentially
        dangerous.  And lastly, some functions were just a bit too complicated
        to risk introducing a bug.

M	charset.c
M	compose.c
M	copy.c
M	crypt-gpgme.c
M	edit.c
M	handler.c
M	hcache.c
M	imap/auth_cram.c
M	imap/imap.c
M	init.c
M	muttlib.c
M	parse.c
M	pgp.c
M	sendlib.c
M	smime.c

2022-04-09 09:54:38 -0700  Kevin McCarthy  <kevin@8t8.us> (195bcad0)

        * Flush iconv() in mutt_convert_string().
        
        The man page says this ought to be done, and other places in Mutt do
        so.

M	charset.c

2022-04-08 21:07:46 -0700  Kevin McCarthy  <kevin@8t8.us> (f58a25cc)

        * Add convert_string() size check.
        
        This is similar to the mutt_convert_string() fix in the last commit.
        In this case there was no integer overflow issue, but there was still
        a (remote) possibility of obl wrapping, so add a check.
        
        Also, ensure there is at least one byte to terminate ob by allocating "obl
        + 1" size buffer, but passing obl to iconv().
        
        Note that mutt_convert_string() uses a multiplier of MB_LEN_MAX, while
        this function used 4.  I thought MB_LEN_MAX might be too large, but
        Tavis Ormandy was able to give a counter-example (0x82 in TSCII (Tamil
        SCII) requires 4 3-byte UTF-8 codepoints).  Convert this function to
        use MB_LEN_MAX, like mutt_convert_string().

M	rfc2047.c

2022-04-08 20:19:27 -0700  Kevin McCarthy  <kevin@8t8.us> (f26d304b)

        * Fix integer overflow in mutt_convert_string().
        
        In the case of a *very* large message header (which is possible via a
        compressed encrypted message) it's possible to overflow the incorrect
        assignment of strlen() to an int local variable.
        
        Thanks to Tavis Ormandy for the bug report and patch, which this
        commit is based upon.
        
        Although Tavis wasn't able to find an exploit, it was almost possible
        to make ob small and obl big, which would have allowed attacker
        control of a heap corruption.
        
        Change the strlen() to assign directly to ibl (of type size_t).  This
        prevents signed to unsigned conversion of len to ibl, which make the
        attack almost possible.
        
        Note that ibl should reflect the number of bytes to be converted by
        iconv(), so the change of ibl to strlen() instead of (strlen() + 1) is
        intentional, and correct.
        
        ob is allocated with an additional byte for a trailing nul, which is
        appended after the conversion.

M	charset.c

2022-04-05 13:14:47 -0700  Kevin McCarthy  <kevin@8t8.us> (4ae494ca)

        * Fix uudecode cleanup on unexpected eof.
        
        Clean up iconv state and state->prefix handling instead of just
        returning.  This is done for the other encoding handlers.

M	handler.c

2022-04-05 11:05:52 -0700  Kevin McCarthy  <kevin@8t8.us> (e5ed080c)

        * Fix uudecode buffer overflow.
        
        mutt_decode_uuencoded() used each line's initial "length character"
        without any validation.  It would happily read past the end of the
        input line, and with a suitable value even past the length of the
        input buffer.
        
        As I noted in ticket 404, there are several other changes that could
        be added to make the parser more robust.  However, to avoid
        accidentally introducing another bug or regression, I'm restricting
        this patch to simply addressing the overflow.
        
        Thanks to Tavis Ormandy for reporting the issue, along with a sample
        message demonstrating the problem.

M	handler.c

2022-03-25 13:07:34 -0700  Kevin McCarthy  <kevin@8t8.us> (aa28abe8)

        * automatic post-release commit for mutt-2.2.2

M	ChangeLog
M	VERSION

2022-03-25 12:58:51 -0700  Kevin McCarthy  <kevin@8t8.us> (dcfbfb16)

        * Update UPDATING file for 2.2.2 release.

M	UPDATING

2022-03-05 11:17:40 -0800  Kevin McCarthy  <kevin@8t8.us> (8babf6c0)

        * Protect prompt completion memcpy() calls with a NULL check.
        
        The behavior of memcpy() is undefined when dest is NULL, even if n is
        0.  It's possible to trigger this, somewhat deliberately, for these
        two cases, so add a guard check.

M	enter.c

2022-03-05 09:31:21 -0800  Kevin McCarthy  <kevin@8t8.us> (7c8992aa)

        * Fix mutt.man formatting.
        
        Thanks for the fix from Mario Blättermann and the manpages-l10n
        project.

M	doc/mutt.man

2022-03-05 09:12:53 -0800  Kevin McCarthy  <kevin@8t8.us> (e65fdf56)

        * Fix query menu tagging behavior.
        
        rfc822_write_address() will automatically prepend ", " to the buf
        parameter if it is non-empty.  Since query_menu() just appended ", "
        to buf, the '\0' marker is at "curpos + 2", and that should be passed
        as the offset instead.
        
        Prior to this fix, tagging would result in two comma-space separators
        between each tagged entry.
        
        Since rfc822_write_address() does the work too, we could just change
        query_menu() to pass rfc822_write_address(buf, buflen, tmpa, 0) each
        time.  But for a stable-branch fix I'll make the smallest change.
        
        As a note, I presume this hasn't been reported because (almost) no one
        uses tagging in this menu.  That may be because it requires hitting
        <select-entry> after tagging, which is non-intuitive.  I think it
        would be worth changing to allow tagging and then hitting <exit> too.

M	query.c

2022-02-21 12:19:30 -0800  Kevin McCarthy  <kevin@8t8.us> (bce2c294)

        * Fix some mailbox prompts to use mailbox history ring.
        
        Commit b0570d76, in the 2.0 release, improved some of the mailbox
        prompt flow and logic, creating a separate function for mailbox
        prompting.  At the same time it changed "save/copy to mailbox" to use
        that function and thus the mailbox history ring.
        
        Unfortunately, this created a partition between some other prompts
        that used the filename history ring but were actually prompting for
        mailboxes.
        
        Change those prompts: edit-fcc, and imap create/rename mailbox to use
        the mailbox history ring.  This will allow values to be shared between
        them and prompts such as "open mailbox" and "save/copy to mailbox".
        
        Ordinarily I wouldn't commit this to stable, but that change broke at
        least one person's workflow badly.

M	compose.c
M	imap/browse.c

2022-02-19 10:48:43 -0800  Kevin McCarthy  <kevin@8t8.us> (c8109e14)

        * automatic post-release commit for mutt-2.2.1

M	ChangeLog
M	VERSION

2022-02-19 10:42:53 -0800  Kevin McCarthy  <kevin@8t8.us> (58b6b76a)

        * Update UPDATING file for 2.2.1 release.

M	UPDATING

2022-02-17 14:38:04 -0800  Kevin McCarthy  <kevin@8t8.us> (30d18234)

        * Make sure username is included in header and body cache paths.
        
        Commit 960afab4 changed URL generation to preserve the data originally
        in the mailbox URL, to fix some internal comparison problems.
        
        Unfortunately, it also affected header and body cache generation.
        Since those could easily be shared across multi-muttrc situations,
        it's important the username be part of the pathname.
        
        Thanks to exg on the #mutt IRC channel for reporting the regression!

M	account.c
M	account.h
M	bcache.c
M	imap/command.c
M	imap/imap.c
M	imap/util.c
M	mutt_socket.c
M	pop.c

2022-02-15 00:15:28 +0300  Emir SARI  <emir_sari@icloud.com> (6457ac67)

        * Fix ambiguity in translation

M	po/tr.po

2022-02-12 10:57:33 -0800  Kevin McCarthy  <kevin@8t8.us> (7160e05a)

        * automatic post-release commit for mutt-2.2.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

2022-02-12 10:49:21 -0800  Kevin McCarthy  <kevin@8t8.us> (a5175478)

        * Set release date for 2.2.0 in UPDATING file.

M	UPDATING

2022-02-11 13:37:27 +0100  Grzegorz Szymaszek  <gszymaszek@short.pl> (cc7578a1)

        * Update the Polish translation for Mutt 2.2.0

M	po/pl.po

2022-02-09 22:58:23 +0300  Emir SARI  <emir_sari@icloud.com> (1c47970f)

        * Improve Turkish translations

M	po/tr.po

2022-02-06 14:53:01 -0800  Kevin McCarthy  <kevin@8t8.us> (70958893)

        * Fix mutt_paddstr() to properly filter unprintable chars.
        
        The original version of this function had no "replacement character"
        functionality, so it simply directly called addnstr() to display the
        characters if everything was okay.
        
        Commit a080fd35 added replacement logic, similar to
        mutt_format_string(), but forgot to change addnstr to use the
        replacement character.
        
        This means garbage characters could goof up the mutt display, for
        things such as the subject in the compose menu.
        
        We could add calls to wcrtomb() like in mutt_format_string(), but
        mutt_addwch() already does this, and properly calls wcrtomb() a second
        time to add a shift sequence if needed.

M	curs_lib.c

2022-02-05 14:01:39 -0800  Kevin McCarthy  <kevin@8t8.us> (fe3dd705)

        * Change mailto_allow to be exact match only.
        
        The code was previously reusing mutt_matches_ignore(), but that allows
        prefixes.  For mailto accepted headers we should be more picky.

M	url.c

2022-02-05 13:54:19 -0800  Kevin McCarthy  <kevin@8t8.us> (5c3c6e52)

        * Filter headers passed via the command line.
        
        The values passed via '-s' and mailto urls were not sufficiently
        sanitized, allowing an embedded newline that could be used to inject a
        header.

M	main.c
M	parse.c
M	protos.h
M	url.c

2022-02-05 09:22:44 -0800  Kevin McCarthy  <kevin@8t8.us> (d3b4ff88)

        * Fix mbox.man asctime(3) reference.
        
        The section number should not be part of the BR text.
        
        Thanks to @hmartink and the manpage-l10n project for the bug report!

M	doc/mbox.man

2022-02-04 18:33:34 -0500  Aaron Schrab  <aaron@schrab.com> (7d2a53ee)

        * Clarify description of $local_date_header
        
        When I reexamined the documentation of the $local_date_header option, I
        wasn't very confident about what it actually does. Much of what I did
        get from it came from a vague recollection of the discussion around when
        it was added, and I referred back to the commit which added this to
        solidify that understanding.
        
        Viewing this as a user (without looking at the internal implementation),
        I don't think the date is being converted, to me that implies that it
        was received from somewhere else in some other format; rather I'd view
        it as being initially generated in the local timezone.
        
        The reference to the "sender's timezone" makes me think that this would
        be operating on dates in messages received from other people; I've
        changed that to "your" to help clarify that it's about messages created
        locally.
        
        Finally, add information about what is done if this option is unset,
        along with some reasoning on why someone might want to unset this.

M	init.h

2022-02-02 12:51:08 -0800  Kevin McCarthy  <kevin@8t8.us> (c2ed716b)

        * Don't queue IMAP close commands.
        
        Commit e7df4d5a changed the close commands to queue up, on the theory
        that it will always be followed by a SELECT or a LOGOUT.
        
        However, performing a <recall-message> while in the inbox will open a
        *new* connection.  mutt_conn_find() prepends the new conection to the
        Connections list.  The next mailbox opened will use that *new*
        connection.
        
        The effect will be the queued CLOSE won't occur before that mailbox is
        opened, and so "\Deleted" messages won't be expunged on the server
        right away.
        
        If the user had $move set and reopened their $spoolfile, they would
        find the read messages marked for delete but not yet expunged from the
        server.

M	imap/imap.c

2022-02-02 06:47:45 -0800  Kevin McCarthy  <kevin@8t8.us> (92686e5d)

        * Update Finnish translation.

M	po/fi.po

2022-01-31 06:31:43 +0100  Flammie Pirinen  <flammie@iki.fi> (b485d04f)

        * update Finnish translations

M	po/fi.po

2022-01-30 10:15:20 -0800  Ivan Vilata i Balaguer  <ivan@selidor.net> (553f016e)

        * Updated Catalan translation.

M	po/ca.po

2022-01-30 09:21:58 -0800  Vsevolod Volkov  <vvv@mutt.org.ua> (c7053420)

        * Updated Russian translation.

M	po/ru.po

2022-01-30 09:19:01 -0800  Vsevolod Volkov  <vvv@mutt.org.ua> (db9ac4ad)

        * Updated Ukrainian translation.

M	po/uk.po

2022-01-29 14:24:52 -0800  Kevin McCarthy  <kevin@8t8.us> (8a6472f0)

        * Fix argc==0 handling.
        
        At least on Debian Linux, after invoking getopt() with argc==0, optind
        seems to remain at the default value of 1.
        
        mutt_dotlock was checking for optind==argc to report a missing
        parameter, and would end up invoking the function with the first
        environment variable instead.
        
        mutt, pgpewrap, and mutt_pgpring were assuming argv[0] was non-null,
        so just add a check and hardcode the value in that case to avoid a
        possible segv.
        
        mutt_pgpring allows no arguments.  Its parameters to
        pgpring_find_candidates() would pass the environment list and a
        negative nhints in that case.  The code seem to handle the case, but
        set optind=argc to be clear about it.

M	dotlock.c
M	main.c
M	pgpewrap.c
M	pgppubring.c

2022-01-29 11:46:56 -0800  Helge Kreutzmann  <debian@helgefjell.de> (46ff6ccb)

        * Update de.po.

M	po/de.po

2022-01-29 09:34:04 -0800  Helge Kreutzmann  <debian@helgefjell.de> (17452c87)

        * Update de.po.

M	po/de.po

2022-01-28 12:38:00 -0800  Emir SARI  <emir_sari@icloud.com> (7ae08fd5)

        * Update Turkish translations.

M	po/tr.po

2022-01-28 20:15:02 +0100  Petr Písař  <petr.pisar@atlas.cz> (df4eb293)

        * Update Czech translation for mutt-2.2.0

M	po/cs.po

2022-01-28 09:34:39 -0800  Kevin McCarthy  <kevin@8t8.us> (0864ef75)

        * Update translation files copyright string.
        
        Thanks to Vincent Lefèvre for reminding me to do this too.

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/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

2022-01-28 15:11:18 +0100  Vincent Lefevre  <vincent@vinc17.net> (7f5ff5f2)

        * Updated French translation.

M	po/fr.po

2022-01-27 15:35:30 -0800  Kevin McCarthy  <kevin@8t8.us> (821803cd)

        * Fix $status_format documentation of $sort_thread_groups expando.

M	init.h

2022-01-27 14:29:35 -0800  Kevin McCarthy  <kevin@8t8.us> (890eb88c)

        * Initial draft of UPDATING file changes for 2.2.0.

M	UPDATING

2022-01-27 13:04:37 -0800  Kevin McCarthy  <kevin@8t8.us> (23ef6eb1)

        * Update source file copyright lines based on commit history.
        
        This is based on the copyright-updater script.  That script only
        updates existing copyright lines in the headers.  Other copyright is
        stored in the commit history.

M	background.c
M	buffer.c
M	buffer.h
M	buffy.c
M	hcachever.pl
M	send.h
M	sidebar.c

2022-01-27 12:18:57 -0800  Kevin McCarthy  <kevin@8t8.us> (ed65fe18)

        * Update manual and program copyright notices.

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

2022-01-27 14:18:06 +0100  Vincent Lefevre  <vincent@vinc17.net> (4f9eac94)

        * Updated French translation.

M	po/fr.po

2021-12-31 18:30:17 -0800  Kevin McCarthy  <kevin@8t8.us> (2e8b6fea)

        * Add very basic cd path completion.
        
        This uses existing code to partially complete, and then launch the
        browser for selection.
        
        Unfortunately, completing a path argument brings up other issues, such
        as quoting, which this currently doesn't handle.  It also might be
        better to rotate through completions rather than launching the file
        brower.
        
        Add a "select directory" mode to the browser, modeled on the IMAP
        "enter vs select a mailbox with children" behavior: using <view-file>
        to select the directory and <select-entry> to enter the directory.

M	browser.c
M	enter.c
M	init.c
M	mutt.h

2021-12-31 15:24:01 -0800  Kevin McCarthy  <kevin@8t8.us> (2362c114)

        * Simplify the mutt_select_file() call for MUTT_CMD completion.
        
        Flags never has both MUTT_CMD and MUTT_MAILBOX, so there is no need
        for the test.

M	enter.c

2021-12-31 15:10:25 -0800  Kevin McCarthy  <kevin@8t8.us> (bc01beeb)

        * Add memcpy on MUTT_CMD completion to invoke the file selector.
        
        It looks like commit 844a133f (21 years ago) accidentally removed the
        memcpy while refactoring, but without it the mutt_select_file() won't
        be called on the second tab keypress.

M	enter.c

2022-01-22 14:10:24 -0800  Kevin McCarthy  <kevin@8t8.us> (05b0dd2c)

        * Enable $rfc2047_parameters by default.
        
        20+ years later, Mutt still gets bug reports about attachment names in
        2047 encoded form.
        
        Although there is a tiny chance an attachment could legimately want to
        be named like that, it's far far more likely the sending MUA has
        incorrectly encoded the value.
        
        When a user has this problem, the "solution" is also difficult to
        find, unless they are initimately familiar with RFC2047 vs 2231.  So I
        think users would benefit much more from this being set by default.

M	init.h

2022-01-17 15:36:55 -0800  Kevin McCarthy  <kevin@8t8.us> (4015c9a0)

        * Set environ for sendmail execvp() call.
        
        The code previously tried to use execvpe(), but that's a glibc
        extension.  However, it's not hard to manually set environ before an
        execvp() call to accomplish the same thing.

M	sendlib.c

2022-01-17 09:54:11 +0100  Vincent Lefevre  <vincent@vinc17.net> (fcd3d956)

        * Updated French translation.

M	po/fr.po

2022-01-14 15:17:38 -0800  Kevin McCarthy  <kevin@8t8.us> (2387728b)

        * Convert SMTP cyrus sasl to use buffers.
        
        Use the smtp_get_auth_response() added for gsasl, to allow
        multi-response lines and arbitrary length server response lines.  The
        rfc notes that SASL lines are not constrained by the SMTP line length
        limits.
        
        Since everything was a bit tangled together before, change the output
        and base64 conversion to use buffers too.

M	smtp.c

2022-01-15 12:31:16 -0800  Robert Bartel  <r.bartel@gmx.net> (44269756)

        * Move hard_redraw() after sendmail invocation.
        
        If a curses gpg pinentry is displayed by the $sendmail program, the
        keypad() needs to called afterwards for it to re-enable function/arrow
        keys.

M	sendlib.c

2022-01-15 11:19:05 -0800  Kevin McCarthy  <kevin@8t8.us> (100d6f3b)

        * Revert "Add $reply_prefix."
        
        This reverts commit 9c1ce59874ce1c8e97d0c5bd71847596dafb1d50.
        
        The change is controversial, and probably ill-advised.  Thanks to
        everyone for the feedback.

M	globals.h
M	init.h
M	send.c

2022-01-13 14:35:20 -0800  Kevin McCarthy  <kevin@8t8.us> (5b8e4605)

        * Add config.h dependency for keymap_defs.h generation.
        
        Ensure the header is regenerated if configure is re-run.  The $(OPS)
        list might change as a result of re-configure, but the timestamps of
        those files won't.  However, config.h will change so we can check that
        as a dependency.

M	Makefile.am

2022-01-10 17:53:09 -0800  Kevin McCarthy  <kevin@8t8.us> (4eff6049)

        * Force resort_init if $reply_regexp changes.
        
        Simply changing real_subj isn't enough to make sure the change is
        reflected in the current index.  There may actually be a more subtle
        way to achieve this, but for now I'll just dump the subj_hash and
        force rethreading.

M	init.c
M	init.h

2022-01-10 14:37:06 -0800  Kevin McCarthy  <kevin@8t8.us> (9c1ce598)

        * Add $reply_prefix.
        
        Allow the user to modify the subject prefix used in a reply.
        Hopefully this would be used sparingly, but nothing prevented a user
        from manually modifying the prefix themselves before.

M	globals.h
M	init.h
M	send.c

2022-01-10 14:00:40 -0800  Kevin McCarthy  <kevin@8t8.us> (466d3b8b)

        * Localize $reply_regexp.
        
        This will allow translators to add additional reply prefixes common to
        their locale.
        
        Add more documentation to the option, to explain the parts of the
        regular expression.  Give an example of adding more prefixes.
        
        Note that the result of this is stored in the header cache.  Probably
        people rarely were affected by this before, but with the new
        localization, people may experiment and need to be aware to turn the
        header cache off while testing.

M	doc/makedoc.pl
M	init.c
M	init.h

2022-01-09 15:28:23 -0800  Kevin McCarthy  <kevin@8t8.us> (cd3a5c85)

        * Fix $reply_regexp default value.
        
        The default value happened to work, but didn't make logical sense.  It
        was using a bracket expression that *included* a backslash, and
        left-bracket, 0-9, and again a backslash.  The first ']' closed the
        bracket expression, and then '+' matched that 1 or more times,
        followed by ']'.  Fortunately the whole parenthisized expression had a
        '*' so it would repeat matching, but as far as I can tell, it was
        working accidentally.
        
        Because even the fixed version is hard to understand, add some
        explanation of the parts to the documentation.

M	init.h

2022-01-09 14:57:07 -0800  Kevin McCarthy  <kevin@8t8.us> (3ca96fab)

        * Fix manual generation string_unescape() of backslash values.
        
        Since the values are shown as if double-quoted, backslash also needs
        to be properly escaped.

M	doc/makedoc.pl

2021-12-30 12:58:28 -0800  Kevin McCarthy  <kevin@8t8.us> (2926cf8c)

        * Merge branch 'stable'

2021-12-30 12:50:49 -0800  Kevin McCarthy  <kevin@8t8.us> (31b18ae9)

        * automatic post-release commit for mutt-2.1.5

M	ChangeLog
M	VERSION

2021-12-30 11:09:31 +0300  Emir Sarı  <bitigchi@me.com> (da60500d)

        * Improve Turkish translations

M	po/tr.po

2021-12-28 13:42:43 -0800  Kevin McCarthy  <kevin@8t8.us> (7855611a)

        * Add pager REDRAW_FLOW redraw flag when popping a menu.
        
        A setting change or window resize could take place in the called menu,
        which will require reflowing the pager when returning to it.
        
        When converting to the menu stack, I left in manual REDRAW_FULL redraw
        assignments, to be cautious and because it wasn't causing an problems.
        However, with the REDRAW_FLOW added, the pager menu needs to have
        those assignments removed after a menu call.

M	menu.c
M	pager.c

2021-12-28 13:25:54 -0800  Kevin McCarthy  <kevin@8t8.us> (5c7e2bce)

        * Merge branch 'stable'

2021-12-27 12:59:49 -0800  Kevin McCarthy  <kevin@8t8.us> (938f91de)

        * Add config variable mentions to Forwarding and Bouncing Mail.
        
        Mention $forward_attribution_intro, $forward_attribution_trailer, and
        $forward_format.

M	doc/manual.xml.head

2021-12-27 12:25:24 -0800  Kevin McCarthy  <kevin@8t8.us> (752a1b44)

        * Merge branch 'stable'

2021-12-25 14:00:02 -0800  Kevin McCarthy  <kevin@8t8.us> (89681e9e)

        * Merge branch 'stable'

2021-12-23 17:30:27 -0800  Kevin McCarthy  <kevin@8t8.us> (4fd19957)

        * Add new gsasl files to POTFILES.in.

M	po/POTFILES.in

2021-12-15 17:50:00 -0800  Kevin McCarthy  <kevin@8t8.us> (68caf914)

        * Add GNU SASL support for authentication.
        
        It turns out Cyrus SASL's license may not be compatible with GPL
        programs, see Debian Bug 999672.
        
        So, add support for the GNU SASL library, using configure option
        --with-gsasl.
        
        I haven't touched the Cyrus SASL code in Mutt all that much in the
        past, but I've done my best to keep the gsasl code clean and simple.
        There are likely mistakes to be fixed and additions to be made,
        though.
        
        I queried the gsasl mailing list about the need for a socket
        wrapper (as is done for the cyrus code), and it seems this should no
        longer be needed.  As long as GSASL_QOP is left at the
        default (qop-auth), the client should ask for authentication, and not
        negotiate integrity or confidentiality.  (Thanks to Phil Pennock and
        Simon Josefsson for their reponses - although the blame is fully
        on *me* if this turns out to be incorrect).  Therefore there is no
        CONNECTION wrapping in this implementation.
        
        Add multiline response support for SMTP authentication (which is
        probably not actually needed).  Also add arbitrary line length for the
        SASL server responses (the RFCs note that for SASL, the protocol line
        lengths don't apply).

M	Makefile.am
M	ascii.h
M	configure.ac
M	doc/makedoc-defs.h
M	imap/Makefile.am
M	imap/auth.c
M	imap/auth.h
A	imap/auth_sasl_gnu.c
M	main.c
A	mutt_sasl_gnu.c
A	mutt_sasl_gnu.h
M	pop_auth.c
M	smtp.c

2021-12-21 18:29:26 -0800  Kevin McCarthy  <kevin@8t8.us> (e3faeb03)

        * Add mutt_socket_buffer_readln().
        
        This will be useful for SMTP and POP SASL reading, where line of
        arbitrary length are required to be supported.

M	mutt_socket.c
M	mutt_socket.h

2021-12-20 15:37:16 -0800  Kevin McCarthy  <kevin@8t8.us> (22736484)

        * Merge branch 'stable'

2021-12-19 21:45:12 -0500  Mike Frysinger  <vapier@gentoo.org> (a4da1664)

        * simplify envelope subject handling code a little
        
        Avoid excess defines.  Compiled code is the same.

M	init.c

2021-12-14 13:36:15 -0800  Kevin McCarthy  <kevin@8t8.us> (80ba3a49)

        * Merge branch 'stable'

2021-12-13 18:55:14 -0800  Kevin McCarthy  <kevin@8t8.us> (f1cc1309)

        * Merge branch 'stable'

2021-12-11 13:22:40 -0800  Kevin McCarthy  <kevin@8t8.us> (fcecddaa)

        * Merge branch 'stable'

2021-12-07 14:46:12 -0800  Kevin McCarthy  <kevin@8t8.us> (ac348e19)

        * Merge branch 'stable'

2021-12-05 12:02:34 +0000  Torsten Franz  <torsten.franz@ubuntu.com> (9dbde32c)

        * Update de.po

M	po/de.po

2021-12-02 15:44:37 -0800  Kevin McCarthy  <kevin@8t8.us> (32c03d3d)

        * Fix sidebar counters with $maildir_trash.
        
        On close, the sidebar decrements deleted messages, but should not when
        $maildir_trash is set.

M	mx.c

2021-12-02 15:36:59 -0800  Kevin McCarthy  <kevin@8t8.us> (29ed0c2e)

        * Improve the statusbar modified flag for $maildir_trash.
        
        Add a context counter for the trash status flag.  Compare that to the
        number of deleted messages to determine modified state.
        
        Note that "undeleting" a trashed message will set context->changed.
        Without that we couldn't do a simple counter comparison.  But with
        context->changed checked first, we can assume equal trash and deleted
        flags then means there are no "delete" modifications pending.

M	init.h
M	mutt.h
M	mx.c
M	status.c

2021-12-01 18:12:11 -0800  Kevin McCarthy  <kevin@8t8.us> (ede3cf58)

        * Ignore $delete when sync'ing with $maildir_trash set.
        
        When closing a mailbox, the $delete quadoption is not consulted to
