2016-11-26 00:57 +0100  Vincent Lefevre  <vincent@vinc17.net>  (a0a970530a8b)

	* crypt-gpgme.c, crypt-gpgme.h, crypt-mod-pgp-gpgme.c: Fix build
	failure with GPGME 1.8: do not steal the gpgme_ prefix.

2016-11-19 19:35 -0800  Kevin McCarthy  <kevin@8t8.us>  (10c4761cea89)

	* mutt_ssl.c: More openssl1.1 fixes: remove uses of X509->name in
	debugging. (closes #3870)

	X509->name was a shortcut for the longer name = X509_NAME_oneline
	(X509_get_subject_name (cert), buf, sizeof (buf)); invocation.
	Change the debugging to print the cert name and chain names in the
	ssl_check_certificate() loop instead.

2016-09-07 20:00 -0700  TAKAHASHI Tamotsu  <ttakah@lapis.plala.or.jp>  (2c1d79d3edd5)

	* configure.ac, mutt_ssl.c: Fix openssl 1.1 compilation issues.
	(closes #3870)

	With these changes, Mutt will no longer compile for versions less
	than 0.9.6.

2016-10-23 14:46 -0700  Kevin McCarthy  <kevin@8t8.us>  (c6704c7f8e23)

	* pager.c: Fix pager segfault when lineInfo.chunks overflows. (closes
	#3888)

	The reporter had an html attachment with extremely long lines,
	combined with a color pattern of "color body default default ." This
	overflowed the lineInfo.chunks, causing a segfault.

	Abort the body color patterns if this happens.

2016-10-23 13:43 -0700  Kevin McCarthy  <kevin@8t8.us>  (a8203b4463c1)

	* date.c: Prevent an integer overflow in mutt_mktime() (closes #3880)

	Check to make sure the year passed in isn't bigger than can be
	represented using time_t on the platform.

	Also add a (time_t) cast to an intermediate "years * 365"
	calculation to prevent an overflow there.

	Thanks to TAKAHASHI Tamotsu for his patch, and to Vincent Lefèvre
	for his improvement. I merely took their code and commited it.

2016-10-17 11:22 -0700  Kevin McCarthy  <kevin@8t8.us>  (113b73b0b616)

	* crypt-gpgme.c: Actually fix gpgme segfault in
	create_recipient_set().

	Changeset 6e44bfa16096 did not fix the segv. (Sorry, I made the fix
	based off a report on IRC but didn't trigger the segv myself: it was
	caused by an out-of-tree patch).

	The actual problem was that the rset was only resized on a
	successful gpgme_get_key(). However, on error, the array still needs
	to be NULL-terminated before calling free_recipient_set().

	Move the resize so it always takes place. This obviates the need for
	the NULL check added in 6e44bfa16096.

2016-10-16 15:12 -0700  Kevin McCarthy  <kevin@8t8.us>  (783dce6dfcd4)

	* sidebar.c: Use mutt_strlen and mutt_strncmp in sidebar.c.

	This prevents a segv if folder is unset.

2016-10-16 14:16 -0700  Kevin McCarthy  <kevin@8t8.us>  (6e44bfa16096)

	* crypt-gpgme.c: Fix gpgme segfault in create_recipient_set().

	If gpgme_get_key() errors on the first key, the rset will not be
	allocated yet. Attempting to null-terminate (and then free) the
	array causes a segfault.

2016-10-08 12:57 -0700  Kevin McCarthy  <kevin@8t8.us>  (58f4b38312bf)

	* .hgsigs: mutt-1.7.1 signed

2016-10-08 12:56 -0700  Kevin McCarthy  <kevin@8t8.us>  (e8d9ae6f41d3)

	* .hgtags: Added tag mutt-1-7-1-rel for changeset 0ce5f9bff1fd

2016-10-08 12:56 -0700  Kevin McCarthy  <kevin@8t8.us>  (0ce5f9bff1fd)

	* ChangeLog, UPDATING, VERSION, po/bg.po, po/ca.po, po/cs.po,
	po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po,
	po/eu.po, po/fr.po, po/ga.po, po/gl.po, po/hu.po, po/id.po,
	po/it.po, po/ja.po, po/ko.po, po/lt.po, po/nl.po, po/pl.po,
	po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po, po/uk.po,
	po/zh_CN.po, po/zh_TW.po: automatic post-release commit for
	mutt-1.7.1

2016-10-04 11:13 -0700  Kevin McCarthy  <kevin@8t8.us>  (5c5848dfa4ea)

	* muttlib.c: Preserve forwarded attachment names in d_filename.

	When forwarding an attachment with an non-ascii name,
	mutt_copy_body() mangles the filename when calling mutt_adv_mktemp.
	Preserve the original attachment filename in d_filename.

	Remove the double copy of b->filename, which is a memory leak.

2016-09-25 13:11 -0700  Kevin McCarthy  <kevin@8t8.us>  (586dad383893)

	* parse.c: Reset invalid parsed received dates to 0. (closes #3878)

	The actual problem in the ticket would be solved by d3f31cf9239e
	(see #3798). However there is still the bug that Mutt considers a
	(hdr->received != 0) to be set and usable, despite not checking the
	return value of mutt_parse_date().

	Change mutt_read_rfc822_header() to unset an invalid received value
	back to 0. We don't do this inside mutt_read_rfc822_line() because
	that would cause the next received line to be parsed.

2016-09-21 18:10 -0700  Antonio Radici  <antonio@dyne.org>  (ee0fe5834195)

	* po/de.po, po/es.po, po/it.po: Mark some gpgme pgp menu keybinding
	translations as fuzzy. (closes #3874)

	Some translations for crypt-gpgme.c are marked as fuzzy but the
	keybindings attached to these translations are not, this creates
	confusions for the users who see the english message but have the
	keybindings for a message in their own language available.

	As long as the translations are fuzzy, the keybindings should stay
	fuzzy.

2016-09-21 22:51 +0200  Kevin McCarthy  <kevin@8t8.us>  (9f6e08ba6ff3)

	* mx.c: Check for NULL mx_ops in mx.c

	Eike Rathke reported this happening when in an IMAP index view the
	underlying connection was terminated, ctx->mx_ops was NULL and thus
	accessing ctx->mx_ops->check segfaulted.

	Thanks also to Eike Rathke for the initial patch, for which I
	expanded the checks to other functions.

2016-09-20 13:58 -0700  Antonio Radici  <antonio@dyne.org>  (8ed017079800)

	* crypt-gpgme.c: Fix gpgme segfault when querying candidates with a
	'+' in the address. (closes #3873)

	list_to_pattern() was not allocating enough space for the '+' to
	'%2B' transformation.

2016-09-07 18:54 -0700  Kevin McCarthy  <kevin@8t8.us>  (a431c7618def)

	* doc/manual.xml.head, init.h: Fix sidebar documentation a bit.
	(closes #3859)

	Sidebar_whitelist is a command, not a variable. Also add a blurb
	about what it does.

	Fix the sort order for $sidebar_divider_char and
	$sidebar_delim_chars.

2016-09-05 18:50 -0700  Kevin McCarthy  <kevin@8t8.us>  (cd127a968399)

	* contrib/Makefile.am: Add missing sidebar contrib sample files to
	dist tarball.

	I previously added the files, but neglected to add them to the
	contrib/Makefile.am file.

	Thanks to isdtor for pointing out the problem and for the original
	patch.

2016-09-05 12:35 -0700  Kevin McCarthy  <kevin@8t8.us>  (bb25613ce8a4)

	* getdomain.c: Stub out getdnsdomainname() unless HAVE_GETADDRINFO.

	It seems unlikely there are systems without it (given that this
	mistake has been in since 1.6.0), but for correctness we should stub
	out the function for those without it.

2016-09-05 12:22 -0700  Kevin McCarthy  <kevin@8t8.us>  (90c1b756d87d)

	* configure.ac: Autoconf: always check for getaddrinfo().

	The getdnsdomainname() function introduced in 1.6.0 uses
	getaddrinfo().

	Pull the dependency checks for libnsl, libsocket, and getaddrinfo()
	outside of the "need_socket" block, so they are always checked for.

2016-09-04 18:50 -0700  Guilhem Moulin  <guilhem@guilhem.org>  (b082bcd5d5e2)

	* pgppubring.c: Fix pgpring reporting of DSA and Elgamal key lengths.
	(closes #3867)

	Patch provided by Guilhem Moulin from an original idea of Fabrizio
	Tarizzo.

	The key length is always the length of the first MPI for RSA, DSA,
	and Elgamal.

2016-09-02 19:32 -0700  Kevin McCarthy  <kevin@8t8.us>  (ba5d900a90db)

	* doc/manual.xml.head, pattern.c: Disable ~X when message scoring.
	(closes #3861)

	mutt_score_message() purposely passes a NULL context to
	mutt_pattern_exec(). The idea was to block slow patterns, and the
	scoring documentation notes this by saying:

	 "For efficiency reasons, patterns which scan information not
	available in the index, such as ~b, ~B or ~h, may not be used"

	~X needs the context to parse the messages (during message scoring
	at least), and thus isn't suitable for message scoring either.

	Block ~X from being used when the context is NULL. Add ~X to the
	list of patterns noted as unusable in the message scoring
	documentation.

2016-09-02 16:20 -0700  Kevin McCarthy  <kevin@8t8.us>  (eef1e8abc46f)

	* browser.c: Increase date buffer size for $folder_format. (closes
	#3863)

	The buffer size of 16 was sufficient to hold the %d format, but not
	for using %D. Change to use a SHORT_STRING.

	Thanks to Ian Zimmerman for the original patch, and to Antonio
	Radici for forwarding it on to us.

2016-08-17 20:17 -0700  Kevin McCarthy  <kevin@8t8.us>  (328e1a32034b)

	* sys_socket.h: merge default into stable

2016-08-17 20:14 -0700  Kevin McCarthy  <kevin@8t8.us>  (e5fcfc5f9c2e)

	* .hgsigs: mutt-1.7.0 signed

2016-08-17 20:12 -0700  Kevin McCarthy  <kevin@8t8.us>  (be1a70b1c080)

	* .hgtags: Added tag mutt-1-7-rel for changeset a4e83f60e42f

2016-08-17 20:12 -0700  Kevin McCarthy  <kevin@8t8.us>  (a4e83f60e42f)

	* ChangeLog, UPDATING, VERSION, po/bg.po, po/ca.po, po/cs.po,
	po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po,
	po/eu.po, po/fr.po, po/ga.po, po/gl.po, po/hu.po, po/id.po,
	po/it.po, po/ja.po, po/ko.po, po/lt.po, po/nl.po, po/pl.po,
	po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po, po/uk.po,
	po/zh_CN.po, po/zh_TW.po: automatic post-release commit for
	mutt-1.7.0

2016-08-17 18:07 -0700  TAKAHASHI Tamotsu  <ttakah@lapis.plala.or.jp>  (c513c311026f)

	* po/ja.po: Updated Japanese translation.

2016-08-15 10:17 -0700  Morten Bo Johansen  <morten.bo.johansen@gmail.com>  (83d0f5383325)

	* po/da.po: Updated Danish translation.

2016-08-15 09:15 -0700  Benno Schulenberg  <i18n@benno.vertaalt.nl>  (f02122b5eeeb)

	* po/eo.po: Updated Esperanto translation.

2016-08-15 09:09 -0700  Benno Schulenberg  <i18n@benno.vertaalt.nl>  (7e54c1fe55b4)

	* po/nl.po: Updated Dutch translation.

2016-08-10 09:29 -0700  Ivan Vilata i Balaguer  <ivan@selidor.net>  (2de6949a0f08)

	* po/ca.po: Updated Catalan translation.

2016-08-10 02:20 +0200  Vincent Lefevre  <vincent@vinc17.net>  (53b4b412dd79)

	* po/fr.po: Updated French translation.

2016-08-09 14:34 -0700  Vsevolod Volkov  <vvv@mutt.org.ua>  (8847b913432a)

	* po/ru.po: Updated Russian translation.

2016-08-09 14:32 -0700  Vsevolod Volkov  <vvv@mutt.org.ua>  (08251fb01f90)

	* po/uk.po: Updated Ukrainian translation.

2016-08-08 13:13 -0700  Kevin McCarthy  <kevin@8t8.us>  (7abc19ad2d10)

	* curs_main.c, pager.c, protos.h: Clear pager position upon returning
	to the index menu.

	This fixes a bug where opening a message sometimes shows it scrolled
	down.

	The easiest way to trigger this is to open a long message in a
	mailbox with no new messages, scroll down, hit <next-new-then-
	unread> and then reopen the message. The pager will "remember" the
	position and scroll down. If you simply exit the message and re-
	enter it, the position is not saved.

	More annoyingly, once in a very great while I will open a new
	message and have the message scrolled down partway. I believe this
	is due to OldHdr happening to point to the same address as the
	Header of the new message.

	This is somewhat easily triggered on a mailbox with one message,
	which you open, scroll down in, hit <next-new-then-unread> to exit,
	and then delete/sync. In another mutt instance, copy the same
	messsage back to the mailbox, then open the message in the original
	mutt instance. At least some of the time, the OldHdr pointer matches
	the new message, and so it opens scrolled down.

	This patch solves the problem by clearing the pager position once
	all redirections through the index menu are done.

2016-08-06 23:35 +0200  Vincent Lefevre  <vincent@vinc17.net>  (15c4c16bed07)

	* po/fr.po: Updated French translation.

2016-08-05 14:33 -0700  Kevin McCarthy  <kevin@8t8.us>  (108ad5dcf194)

	* rfc2047.c: Remove nonsensical size check in mutt_choose_charset()

	The charsets parameter is being tokenized by the : delimeter.

	The checks against ENCWORD_LEN_MAX and ENCWORD_LEN_MIN make no
	sense, and appear to be the result of a large merge a very long time
	ago (changeset cb27682966d5).

	I can only guess where this check was supposed to be, but it
	certainly doesn't belong here.

2016-08-05 13:43 -0700  Kevin McCarthy  <kevin@8t8.us>  (a39c8bdca361)

	* rfc2047.c: Fix memory leak in mutt_choose_charset().

2016-08-05 13:43 -0700  Kevin McCarthy  <kevin@8t8.us>  (1ef5734f6593)

	* mh.c: Fix memleak in mh_read_dir() when sequence parsing fails.

2016-08-05 11:02 -0700  Kevin McCarthy  <kevin@8t8.us>  (f6b5f533f9ce)

	* COPYRIGHT, buffy.c, getdomain.c, globals.h, init.c, init.h, main.c,
	sidebar.c: Update copyright notices.

2016-08-02 19:18 -0700  Kevin McCarthy  <kevin@8t8.us>  (f9a4023b86ad)

	* pop.c: Explicitly NULL unimplemented pop mx_ops functions.

	The struct initialization already does this for unlisted fields, but
	I'd rather be explicit about unimplemented operations.

2016-08-02 19:18 -0700  Kevin McCarthy  <kevin@8t8.us>  (01541185e6f4)

	* mx.c: Use the ctx->mx_ops instead of calling mx_get_ops()

	With mx_open_mailbox_append() setting the ctx->mx_ops, all contexts
	should have mx_ops set.

	Remove calls to mx_get_ops() and instead directly use ctx->mx_ops.

2016-08-01 18:25 -0700  Kevin McCarthy  <kevin@8t8.us>  (e778db6e693c)

	* mailbox.h, mh.c, mx.c: Use a different flag in
	mx_open_mailbox_append() when mailbox doesn't exist.

	The previous commit re-used MUTT_NEWFOLDER, but the meaning of that
	flag is slightly different: it causes mbox to use fopen with mode
	"w", and is used only for the case of a brand-new mktemp-generated
	mbox.

	Setting it for other non-existing mbox files leads to a race
	condition between the stat and the fopen/lock, and so could end up
	truncating an existing mailbox created in-between!

	Create a different flag, MUTT_APPENDNEW to notify the open_append()
	functions that the mailbox doesn't exist. Change maildir and mh to
	check for that flag to create their directory structures.

2016-08-01 15:04 -0700  Kevin McCarthy  <kevin@8t8.us>  (2b9d6165b8b7)

	* imap/imap.c, imap/imap.h, mbox.c, mh.c, mutt.h, mx.c, pop.c: Convert
	mx_open_mailbox_append() to use ctx->mx_ops.

	Set the flag MUTT_NEWFOLDER to signal Maildir and MH to create the
	directory structure.

	Distribute the "open append" code to mbox, mh, and imap/imap.c.

	Set pop's mx_ops handler to NULL to signal it is not supported.

2016-07-31 18:42 -0700  Kevin McCarthy  <kevin@8t8.us>  (3834da0c024e)

	* mbox.c, mx.c: Move fflush and fsync to the mbox and mmdf commit_msg
	functions.

	The case statement in mx_commit_message() was previously distributed
	to the various ops->commit_msg() handlers, but the fflush and fsync
	were not.

2016-07-30 11:11 -0700  Kevin McCarthy  <kevin@8t8.us>  (27b77b5c97cf)

	* browser.c, browser.h, imap/browse.c, imap/imap.h, init.h: Add unread
	and total message count format strings to $folder_format.

	%n will show the unread message count in the mailbox. %m will show
	total message count. Except for %n with IMAP, these both require
	$mail_check_stats to be set, which puts these counts inside BUFFY.

	Since the imap_mboxcache is never fresher than the value in BUFFY,
	remove the special imap_mailbox_state() call. Instead, just update
	from the current Context for all mailboxes.

	Remove the logic that overrode the %N format string to show unread
	count for IMAP mailboxes. If they want to see unread count, they
	will have to change the $folder_format.

	Although it doesn't look possible to reuse browser_state.entry
	slots, change the OP_DELETE_MAILBOX to memset(0) the deleted slot.
	Then, we can change to logic in add_folder() so it doesn't need to
	zero-out unset values.

2016-07-25 12:25 -0700  Richard Russon  <rich@flatcap.org>  (4f4c258ab95c)

	* imap/command.c: Fix imap buffy msg_count overwrite issue.

	The sidebar updates the buffy->msg_count with the context. This can
	cause it to become out of sync with the imap_mboxcache.

	If the imap_buffy doesn't request MESSAGES, don't overwrite the
	buffy->msg_count with a stale value.

2016-07-22 14:55 -0700  Kevin McCarthy  <kevin@8t8.us>  (7b9763564598)

	* buffy.c, mx.c: Convert buffy_mbox_check() and trash_append() to use
	local context.

	buffy_mbox_check() was leaking the dynamically allocated context.
	Rather than add a call to free, just convert it to use a local
	variable.

	Make the same change to trash_append(), which doesn't need the
	dynamically allocated context either.

2016-07-21 14:00 -0700  Kevin McCarthy  <kevin@8t8.us>  (81ecc31f8197)

	* mx.c: Fix memleak in the new trash folder code.

	Free the context in opened in trash_append()

2016-07-21 12:49 +0200  Vincent Lefevre  <vincent@vinc17.net>  (2d1279b26e22)

	* po/fr.po: Updated French translation.

2016-07-20 16:29 -0700  Kevin McCarthy  <kevin@8t8.us>  (89b266256a85)

	* mbyte.c, mbyte.h, pager.c: Filter directional markers that corrupt
	the screen. (closes #3854)

	Thanks to Vincent Lefèvre for working on these utf-8 screen display
	issues.

2016-07-19 18:56 -0700  Anton Lindqvist  <anton.lindqvist@gmail.com>  (69bbe4da959f)

	* curs_lib.c: Fix arithmetic exception due to menu->pagelen being
	negative.

	Resizing the terminal window down to two lines when in an empty
	mailbox causes mutt to crash due to division by zero since menu->max
	equals 0 and menu->pagelen < 0 in status.c:205.

	Fixing the problem at this specific line felt wrong since I did
	notice menu->pagelen being negative. The pagelen is inherited from
	the rows calculation in mutt_reflow_windows. Since the number of
	lines can potentially be smaller than the accumulated number of rows
	acquired by the status, help and message window, make sure the
	calculation does not turn negative.

2016-07-17 19:31 -0700  Kevin McCarthy  <kevin@8t8.us>  (f1d5a884ffed)

	* imap/imap.c, imap/imap.h, mutt.h, mx.c: Add imap-fast-trash patch.

	This is based on the patch by Paul Miller.

	Modifications are:

	* Create a new flag, MUTT_TRASH for imap_make_msg_set(), rather than
	use MUTT_EXPIRED.

	* Change imap_make_msg_set(MUTT_TRASH) to only look at
	hdrs[n]->deleted && !hdrs[n]->purge, behaving like MUTT_TAG, rather
	than looking at the HEADER_DATA.

	* Reimplement imap_fast_trash() based on imap_copy_message(). It
	looks the old version was too, but it lacked handling of TRYCREATE
	and also queued the UID COPY but didn't exec it. (Presumably this
	happened in the subsequent sync).

	* Move the Context magic and mx_is_imap() checks outside of
	imap_fast_trash()

2016-07-17 19:31 -0700  Kevin McCarthy  <kevin@8t8.us>  (280f9b195192)

	* OPS, curs_main.c, functions.h, pager.c: Add purge-message patch.

	This is based on the patch by Cedric Duval. Modifications are:

	* Use the exising M_PURGE flag from the trash folder patch, rather
	than adding a separate flag.

	* Undelete operations are already handled by the trash folder patch.

2016-07-17 19:31 -0700  Kevin McCarthy  <kevin@8t8.us>  (20499921a4e5)

	* commands.c, curs_main.c, editmsg.c, flags.c, globals.h,
	imap/message.c, init.h, mbox.c, mutt.h, mx.c, pager.c, pattern.c,
	postpone.c: Add the trash folder patch.

	This is based on the trash folder patch by Cedric Duval.
	Modifications to the original patch are:

	* Use a flag called M_PURGE instead of M_APPENDED. The same flag is
	then used in the following "purge" patch instead of adding a
	different flag.

	* Removed the counter in context. The existing context->deleted is
	all that's needed.

	* Removed the "auto unset M_PURGE" when M_DELETED is unset inside
	_mutt_set_flag(), although this is convenient, it easily leads to
	header->purge not being reset in a few situations.

	* Reset purge flag along with the deleted flag if $delete is
	answered no.

	* Set M_PURGE on an edited message. (edit_one_message())

	* Preserve purge flag in mutt_reopen_mailbox()

	* Turn off OPTCONFIRMAPPEND when saving to the trash, rather than
	hardcoding it off in mutt_save_confirm(). That way, normal save to
	the folder will respect the option.

2016-07-16 14:04 -0700  Will Fiveash  <will.fiveash@oracle.com>  (b2cb7a38c1ed)

	* mutt_sasl.c: Fix memory leak in mutt_sasl_cb_pass.

	SASL doesn't free the sasl_secret_t, so this was leaking. Instead,
	keep our own pointer to it, and safe_realloc() each time.

	sasl_secret_t doesn't need the data field null terminated, so memcpy
	the password over.

2016-07-12 18:04 -0700  Kevin McCarthy  <kevin@8t8.us>  (488f91a85115)

	* muttlib.c, sendlib.c: Fix BODY->d_filename memory leaks.

	mutt_message_to_7bit() and transform_to_7bit() were overwriting
	d_filename without freeing the previous value.

	mutt_free_body() was not freeing the d_filename pointer.

2016-07-12 17:46 -0700  Kevin McCarthy  <kevin@8t8.us>  (b4de6941bbb9)

	* muttlib.c, sendlib.c: Fix BODY->charset memory leaks.

	mutt_get_content_info() was directly setting charset without freeing
	the previous value.

	mutt_free_body() was not freeing the charset.

2016-07-11 18:36 -0700  Kevin McCarthy  <kevin@8t8.us>  (9378d21fc7fe)

	* curs_lib.c, main.c: Initialize mutt windows even in batch mode.
	(closes #3853)

	mutt_select_fcc() calls mutt_addr_hook() -> mutt_make_string() which
	refers to MuttIndexWindow->cols when calling mutt_FormatString(). In
	batch mode, MuttIndexWindow hasn't been initialized, leading to a
	segfault.

	This might be the only overlap, but it seems wiser to just
	initialize the mutt windows in case there are other references (now
	or in the future) when processing format strings in batch mode.

2016-07-08 19:08 -0700  rich burridge  <rich.burridge@oracle.com>  (89ae904a6b30)

	* Makefile.am: Fix conststrings compiler version string generation.
	(closes #3852)

	The Makefile.am tries compiler flags -v, --version, and -V but
	neglected to filter error messages if these flags aren't recognized.

2016-07-08 18:52 -0700  Kevin McCarthy  <kevin@8t8.us>  (ec4c113a3d2b)

	* sidebar.c: Change sidebar highlighted mailbox behavior.

	Delay selecting the highlighted mailbox until prepare_mailbox(), to
	avoid a hidden mailbox being selected during the Buffy list
	population (in mutt_sb_notify_mailbox()).

	Change update_entries_visibility() to not automatically make the
	highlighted mailbox visible.

	Change prepare_sidebar() to (re)set the highlighted mailbox when the
	current highlighted mailbox is hidden.

2016-07-08 18:52 -0700  Kevin McCarthy  <kevin@8t8.us>  (5fb53b95afa7)

	* sidebar.c: Fix sidebar pagedown/up when mailboxes on the end are
	hidden.

	The pageup/pagedown code was setting the highlighted mailbox to the
	top and bottom index without checking if those were hidden.

2016-07-08 18:47 -0700  Kevin McCarthy  <kevin@8t8.us>  (4dc1831fd6d7)

	* imap/message.c: Don't overwrite imap_status->uidnext with a lower
	value. (closes #3771)

	imap_read_headers() updates the idata and imap_status uidnext after
	reading through all the new headers.

	The idata is updated properly (only if its uidnext is below
	maxuid+1), but the imap_status was always being set to maxuid.

	This causes a problem with new mail checking if the most recent
	messages are deleted. Then the uidnext will be greater than maxuid+1
	in the mailbox, and if there are any other unread messages it will
	*always* report new mail even if $mail_check_recent is set.

2016-07-07 12:00 -0700  Kevin McCarthy  <kevin@8t8.us>  (6f2fe8f32dab)

	* sidebar.c: Fix the sidebar TopIndex and BotIndex when
	$sidebar_new_mail_only is set.

	When set, some of the entries can be hidden, so a simple division by
	page_size to find the correct top/bottom isn't correct.

	Instead, manually partition into groups of page_size visible entries
	and set top and bottom based on the interval around the highlighted
	entry.

2016-07-07 09:21 -0700  Kevin McCarthy  <kevin@8t8.us>  (5229c7fbc37e)

	* mbyte.c, pager.c: Filter soft hypen from pager and headers. (closes
	#3848)

	Add U+00AD SOFT HYPHEN to the filtered characters in headers and the
	pager. In some terminals and situations it causes major display
	problems.

2016-07-06 12:31 -0700  Richard Russon  <rich@flatcap.org>  (81e9c352e5d7)

	* sidebar.c: Fix sidebar crash for non-existent mailbox

	If you <change-folder> to a non-existent mailbox, there will be no
	Context.

2016-07-06 10:43 -0700  Kevin McCarthy  <kevin@8t8.us>  (88793198dfcb)

	* po/fr.po: merge stable

2016-07-02 12:32 -0700  Kevin McCarthy  <kevin@8t8.us>  (bf1c73de2b7c)

	* doc/manual.xml.head, init.h: Fix the documented sort methods for
	sidebar_sort_method.

	Remove references to unused "date" and "size", and add "flagged".

2016-07-02 12:25 -0700  Kevin McCarthy  <kevin@8t8.us>  (20089a780e8e)

	* init.c, init.h: Add R_SIDEBAR to redraw sidebar when its settings
	change.

	Add to the sidebar settings that control formatting of the sidebar.

2016-07-02 12:24 -0700  Kevin McCarthy  <kevin@8t8.us>  (d404059a7619)

	* sidebar.c: Fix sidebar "unsorted" order to match Buffy list order.

	Since the previous commit decoupled the sidebar from the Buffy list,
	we can now restore the order to match the buffy list when
	sidebar_sort_method is set (back) to "unsorted".

2016-07-02 12:22 -0700  Kevin McCarthy  <kevin@8t8.us>  (b05c170b4c91)

	* buffy.h, sidebar.c: Decouple the sidebar from the Buffy list.

	Change the sidebar to use an array of SBENTRY* instead. Move the
	"is_hidden" into SBENTRY. Remove the added "prev" pointer from
	BUFFY.

	This way, sorting the sidebar doesn't affect the BUFFY list order,
	and we don't need elements inside BUFFY just for the sidebar
	presentation.

	Fix sidebar-next for the case where the mailboxes are unsorted and
	$sidebar_new_mail_only is set. Change sorting not to clump hidden
	mailboxes at the bottom, instead simply skip over hidden mailboxes
	in sidebar-next/prev.

2016-07-01 13:39 -0700  Kevin McCarthy  <kevin@8t8.us>  (c62f5cd3c8e4)

	* send.c: merge stable

2016-06-30 12:57 -0700  Kevin McCarthy  <kevin@8t8.us>  (6b147a411f68)

	* doc/makedoc-defs.h: Fix missing sidebar documentation links. (closes
	#3847)

	USE_SIDEBAR needed to be set in doc/makedoc-defs.h so that the
	sidebar option documentation is generated whether mutt is configured
	with the sidebar or not.

2016-06-29 18:58 -0700  Kevin McCarthy  <kevin@8t8.us>  (4b6829229176)

	* m4/gssapi.m4: Fix cppflags and muttlibs duplication with --with-gss.

	When krb5-config was found, MUTT_AM_PATH_GSSAPI included CFLAGS in
	GSSAPI_CFLAGS and MUTTLIBS in GSSAPI_LIBS. However, configure.ac
	afterwards sets: CPPFLAGS="$CPPFLAGS $GSSAPI_CFLAGS"
	MUTTLIBS="$MUTTLIBS $GSSAPI_LIBS" This caused the flags and libs to
	be duplicated.

2016-06-29 18:58 -0700  Kevin McCarthy  <kevin@8t8.us>  (c84aa0d62ce3)

	* configure.ac: Include ncurses tinfo library if found.

	Thanks to Fabian Groffen for reporting this issue and providing a
	couple possible patches. From Fabian's report:

	 For some time now, ncurses can be built in a mode where the low
	level terminfo functionality lives in a separate lib called
	libtinfo. Because some people do, this means Mutt needs to include
	this library in that case to avoid linking errors [...]

2016-06-29 12:25 -0700  Kevin McCarthy  <kevin@8t8.us>  (b62483975c94)

	* init.h: Clarify oppenc option documention. (closes #3846)

	Rephrase the option description to try and make it clearer what the
	option does, and how to enable/disable it within a message.

2016-06-28 16:06 -0700  Kevin McCarthy  <kevin@8t8.us>  (2baed7154180)

	* init.h, sidebar.c, sort.h: Remove unused SORT_DESC.

	This came over with the sidebar patch, but I believe is only used by
	the notmuch extension.

2016-06-28 15:59 -0700  Fahri Cihan Demirci  <fcdemirci@fastmail.fm>  (5bac9dacae1d)

	* contrib/sample.muttrc-sidebar: Remove $sidebar_refresh_time from
	Sample Sidebar Config

	The $sidebar_refresh_time option was removed with the changeset
	1f840760e6e0. Remove it from the sample sidebar configuration as
	well, so that anyone using that file in its entirety won't have to
	deal with "unknown variable" errors.

2016-06-23 12:38 -0700  Kevin McCarthy  <kevin@8t8.us>  (b45c8ec1e54c)

	* buffy.c, buffy.h, curs_main.c, imap/imap.c, main.c, mutt.h, mx.c,
	pop.c, sidebar.c, sidebar.h: Change sidebar to consistently use
	realpath for context and buffy comparison.

	The original sidebar patch contained a half-implemented attempt to
	use realpath() mailbox paths for comparison. (Presumably so the open
	mailbox remains highlighted despite symlink issues).

	Add realpath to the Context, and set it when opening a mailbox.
	Remove sidebar ifdef for the buffy member, and always set it there
	too.

	Change the sidebar to use the realpath for comparison everywhere.

	mutt_buffy_check() is using stat device and inode for comparison.
	Perhaps this can be changed to use realpath instead, but that's
	beyond the scope of this patch.

2016-06-22 09:20 -0700  Kevin McCarthy  <kevin@8t8.us>  (c8613259dc38)

	* sidebar.c: Change sidebar next/prev-new to look at buffy->new too.

	Look at new in addition to msg_unread count, to account for when
	$mail_check_stats is unset or when the sidebar only shows the %n
	status flag.

2016-06-20 20:09 -0700  Kevin McCarthy  <kevin@8t8.us>  (3d87b0521a45)

	* doc/manual.xml.head, init.h: Add documentation to the "New Mail
	Detection" section of the manual.

	Mention the behavior change with $mail_check_recent.

	Add a section about $mail_check_stats.

2016-06-20 10:11 +0200  Vincent Lefevre  <vincent@vinc17.net>  (069c7a655ad5)

	* po/fr.po: Updated French translation.

2016-06-18 13:36 -0700  Damien Riegel  <damien.riegel@gmail.com>  (91af19866bbd)

	* imap/imap.c, imap/imap.h, imap/imap_private.h, mbox.c, mh.c, mutt.h,
	mx.c, mx.h: add commit_msg to struct mx_ops

2016-06-18 13:36 -0700  Damien Riegel  <damien.riegel@gmail.com>  (28688fee52a5)

	* mbox.c, mx.c, mx.h: add mmdf_commit_message function

	Move MMDF operations that were done in mx_commit_message to a
	dedicated mmdf_commit_message function.

2016-06-18 13:36 -0700  Damien Riegel  <damien.riegel@gmail.com>  (4c6539a88f0a)

	* mbox.c, mx.c, mx.h: add mbox_commit_message function

	Move mbox operations that were done in mx_commit_message to a
	dedicated mbox_commit_message function.

2016-06-18 13:36 -0700  Damien Riegel  <damien.riegel@gmail.com>  (16bfe31ef8b3)

	* imap/imap.h, imap/message.c, mx.c: add imap_commit_message function

	Move IMAP operations that were done in mx_commit_message to a
	dedicated imap_commit_message function.

2016-06-18 13:36 -0700  Damien Riegel  <damien.riegel@gmail.com>  (37140981e746)

	* mh.c, mx.c, mx.h: add maildir_commit_message function

	This commit adds a maildir_commit_message with a prototype
	consistent with other kind of mailboxes, to simplify upcoming
	refactoring.

2016-06-18 13:36 -0700  Damien Riegel  <damien.riegel@gmail.com>  (93d4169b0886)

	* mh.c, mx.c, mx.h: prepend maildir_commit_message function name with
	an underscore

	Basically, rename maildir_commit_message to _maildir_commit_message.
	This commit is preparatory to make the maildir_commit_message symbol
	available for further use.

	Symbols starting with underscore should be avoided but this one is
	long enough to prevent collision.

2016-06-18 13:36 -0700  Damien Riegel  <damien.riegel@gmail.com>  (e5d87ebe0f5b)

	* mh.c, mx.c, mx.h: remove unused HEADER parameter in
	mh_commit_message

	mh_commit_message is only called in one place with the header
	parameter set to NULL. To make the commit function consistent with
	other mailboxes, which only takes ctx and msg as parameters, remove
	this unused parameter.

2016-06-18 12:41 -0700  Damien Riegel  <damien.riegel@gmail.com>  (ce2e5caf4339)

	* imap/imap.c, imap/imap_private.h, imap/message.c, mbox.c, mh.c,
	mutt.h, mx.c, pop.c: add close_msg to struct mx_ops

2016-06-18 12:41 -0700  Damien Riegel  <damien.riegel@gmail.com>  (4bab14a24dbe)

	* mailbox.h, mx.c: Remove magic member in MESSAGE structure

	The "magic" was copied from the context to the message structure to
	be able to determine which close function had to be called in
	mx_close_message. Now that this function is context aware, there is
	no need to store the magic in the MESSAGE structure and it can be
	safely removed.

2016-06-18 12:41 -0700  Damien Riegel  <damien.riegel@gmail.com>  (3ec6c133641c)

	* attach.c, commands.c, copy.c, editmsg.c, mailbox.h, mh.c, mx.c,
	parse.c, pattern.c, pop.c, postpone.c, recvattach.c, sendlib.c: pass
	context in mx_close_message

	The mx_close_message is one of the few mx_* functions that don't
	have a context as parameter. To make them more consistent, pass the
	context.

2016-06-17 19:01 -0700  Damien Riegel  <damien.riegel@gmail.com>  (70eb7e0dbb58)

	* imap/imap.c, imap/imap.h, imap/imap_private.h, imap/message.c,
	mbox.c, mh.c, mutt.h, mx.c, pop.c, pop.h: Add open_msg to struct
	mx_ops

	Add the callback to open an existing message to struct mx_ops. For
	mbox, mmdf, maildir, and mh, the code was implemented directly into
	mx_open_message, so it is moved in their respective source files.
	For imap and pop, there were already <mailbox>_fetch_message
	functions, but their argument order has been changed to pass the
	context as a first argument.

2016-06-17 10:33 -0700  Olaf Hering  <olaf@aepfle.de>  (d83239fd794a)

	* browser.c, browser.h: folder_file: remove struct stat

	Add and use new flag to indicate the folder is on local filesystem.
	Add and use new gid, uid and nlink member. Use existing ->mode
	member instead of stat->st_mode. Use existing ->size member instead
	of stat->st_size. Use existing ->mtime member instead of
	stat->st_mtime. Remove struct stat, the used values were already
	duplicated in the struct. This reduces memory usage.

2016-06-17 10:33 -0700  Olaf Hering  <olaf@aepfle.de>  (8e671bbe094d)

	* regex.c: Add real prototype for re_match_2_internal in regex.c

	Fixes compilation warning with -Wunprototyped-calls

2016-06-17 10:30 -0700  Kevin McCarthy  <kevin@8t8.us>  (5817d3d93b7a)

	* buffy.c, buffy.h, mh.c, mx.h: Combine the basic and extended buffy
	functions.

	Add a check_stats parameter to the mbox, maildir, and mh buffy
	functions. Use that parameter to determine whether to also count
	total, new, and flagged messages.

	This makes the functions a bit more complicated, but improves
	efficiency (for maildir and mh).

	Also includes the following cleanup/fixes:
	* Move the orig-value counter reset to the beginnining of the loop,
	(before tmp->new is set to 0).

	* Change trashed maildir messages to not be counted in msg_count

	* Remove an incorrect setting of mailbox->new based on msg_count in
	maildir. (I missed this one for 1f840760e6e0)

	* Change mbox to use the context->mtime for stats_last_checked,
	removing a race condition.

	* Fix mh to actually count the messages in order to generate
	msg_count. mh_sequences only covers the range of messages with some
	sort of flag.

2016-06-15 11:09 +0200  Vincent Lefevre  <vincent@vinc17.net>  (c29c521eec0a)

	* po/fr.po: Updated French translation.

2016-06-14 13:11 -0700  Kevin McCarthy  <kevin@8t8.us>  (5ad82360c6ea)

	* imap/imap.c: Reset buffy->new for the current mailbox in IMAP.

	1f840760e6e0 moved the buffy->new reset inside the STATUS processor.
	Since the current mailbox is not STATUS'ed, it needs to be reset in
	imap_buffy_check().

	Thanks to Aaron Schrab for reporting this issue (and for helping
	test tip).

2016-06-12 13:49 -0700  Kevin McCarthy  <kevin@8t8.us>  (f447c67f511b)

	* OPS.MIX, OPS.SIDEBAR: Fix the case of messages in OPS.MIX and
	OPS.SIDEBAR

	Thanks to Vincent Lefèvre for spotting the discrepancy.

2016-06-07 15:02 -0700  Kevin McCarthy  <kevin@8t8.us>  (1f840760e6e0)

	* buffy.c, buffy.h, contrib/sample.muttrc-sidebar,
	doc/manual.xml.head, globals.h, imap/command.c, imap/imap.c,
	imap/imap.h, init.h, mailbox.h, mbox.c, mh.c, mutt.h, mx.c, mx.h,
	sidebar.c, sidebar.h: Make extended buffy independent of the
	sidebar.

	Add new boolean option $mail_check_stats (default off) and
	$mail_check_stats_interval. The first turns extended buffy on. The
	second sets the amount of time in between extended buffy checks
	(defaulting to 60 seconds).

	Remove the option $sidebar_refresh_time.

	Change mutt_buffy_check() to only notify the sidebar to redraw if a
	mailbox buffy value changes.

	Remove the #ifdefs around the extended buffy functions. The next
	patch will merge these functions with the basic functions and pass a
	parameter instead.

	Imap is a special case, because it sends out the status in one
	batch. Change this to perform the comparisons inside
	cmd_parse_status() and flag the sidebar there. It was previously
	directly assigning the status counters (unsigned int) to the
	buffy->new (short). Change this to assign 1/0.

2016-06-08 14:43 -0700  Kevin McCarthy  <kevin@8t8.us>  (4be8b077c81f)

	* doc/manual.xml.head, init.h: Change the default for sidebar_format
	to use %n.

	The next series of patches is going to create a new option,
	$mail_check_stats defaulting off. When off, the extended buffy which
	calculates total/new/flagged messages won't be run. To help reduce
	"sidebar is broken" bug reports, this changes the default format to
	something not requiring extended buffy.
