Changes from 0.50 => 0.51
---------------------------
[New] ``noop'' function to unbind keys (e.g., "bind m noop main-menu")

[New] From: Brandon Long <blong@uiuc.edu> and ME
string history to recall previously entered strings.  The var $history
(default: 10) controls how many lines of history are remembered.

[New] ``folder-hook'' command to specify a muttrc command to execute when
reading a specific mailbox

[New] ``save-hook'' muttrc command to specify a default pathname to save
messages from, to or cc a specific address

- attach-menu now allows access to parts of a message/rfc822 body

- threads are now sorted by date before creating pseudo threads

- reverse_alias now always ignores the existing personal name if one exists
  for the matched alias

- you can now quote a character with backslash (\) inside the
  *-pattern/limit functions (e.g.: 'a string with spaces and a \' in it')

- fixed bug with batchmode dumping core on call to endwin()

- fixed bug with limit "new"

- fixed bug where saving a message untagged ALL messages

- configure now checks for BSD-ish systems and adds "-lm -ltermlib" to
  $LIBS if using SLang

- strerror() is now used instead of accessing sys_errlist directly, where
  available

- the url-menu removed the last character of URLs if it was a digit

- add_alias() now converts tabs to spaces before calling rfc822_parse_adrlist()

- added the "replied" and "old" keywords to the pattern functions

- no error should be printed if the user does not have a ~/.muttrc

- fixed coredump when deleting all messages from a mailbox and keep_empty is
  unset

- added ``[Replied]'' to %S in $pager_fmt for replied-to messages

- configure now checks for ncurses.h again.  Apparently this actually works
  on some systems.  with the addition of the check for /usr/include/ncurses
  in 0.50, this should probably take care of the problems under RedHat Linux
  3.0.3

- a single quote (') can now be used to delineate a string in a "set"
  command in addition to the double quote (")

From: rhh@ct.picker.com (Randall Hopper)
- you can now use "%s" in the $editor variable to specify the filename

From: Thomas Parmelan@efrei.fr
- fixed some bugs in the random signature code

Changes from 0.49 => 0.50
---------------------------
[New] ``popport'' and ``poppass'' muttrc vars

[New] ``search-reverse'' function (default: "ESC /")

[New] ``tag-prefix'' function (default: ";") to make the next function
apply to tagged messages in the main-menu.  This currently works for:
delete-message, undelete-message, save-message, copy-message,
forward-message, reply, group-reply and list-reply.  It is silently ignored
for other commands.

- the --with-slang=DIR option did not like --with-slang=/usr/local to
  specify where libslang is installed.  There is now a special check for
  DIR/include/slang for the slang header files (the location under RedHat
  Linux 4.0)

- removed --with-curseslib=DIR and --with-cursesinclude=DIR in favor of a
  single --with-curses=DIR option, since we will likely want DIR/include and
  DIR/lib anyway.  There is a special check for /usr/include/ncurses if
  -lncurses is found (only if DIR==/usr)

- newkey() renamed to allocKey() to avoid conflict with a SCO 5 function.

- mutt_checkpoint_mailbox() did not properly reset the file access and
  modification times.

- fixed error in pop.c where CI_password should have been M_PASS

- fixed coredump when recalling postponed messages which are replies or have
  attachments.

- keypad was not enabled after resizing the screen (slang)

- mutt_close_mailbox() reported that messages were moved even if they
  weren't.

- the ``new'' and ``tagged'' members were not updated when synchronizing a
  mailbox

- fixed segfault when synchronizing a mailbox with all messages deleted

- fixed segfault in batch send if the user had a ``mono'' command in their
  muttrc

- changed some arrays from 2-dimensional to a single dimension because it
  was unnecessary to have 2 dimensions (this should reduce memory use a bit)

- if using slang, check to make sure that ``unix'' is defined by the
  compiler (needed to compile with slang under HP-sUX) before including
  slang.h

- endwin() was not called before PGP signing or encrypting a message

- modified handling of boolean variables to use an array of unsigned chars,
  and to define the options using a enum statement.  this will allow easy
  addition of new boolean vars without having to worry about the length of
  the vector used to store them in

- suspension did not work properly under ncurses or slang

- configure no longer checks for ncurses.h because ncurses is usually broken
  if we find it

- fixed infinite loop when trying to PGP encrypt a message

- message_id member moved to the ENVELOPE structure

- mutt now generates message-id fields itself (so that fcc'd copies have the
  same as the sent message)

- fixed segfault when searching with the same pattern again and the pattern
  is bogus

- added mutt_perror() to print system error messages

- fixed bug in ``mime_fwd'' handling

- increased size of temp buffer in edit_address_list() [send.c] from 5kB to
  10kB so that long alias lists (Hi, Clint! :-) don't get truncated as
  easily

- fixed bug where the screen would not be redrawn after exiting the
  alias-menu

- ``search'' now detects simple searches and substitutes
	~t 'STRING'|~s 'STRING'
  to emulate ELM behavior

From: Ollivier Robert <roberto@keltia.freenix.fr>
- fixed several typos in the documentation

From: davidn@sdev.usn.blaze.net.au (David Nugent)
- signature.c needs <unistd.h> for prototype for mktemp()
- fixed segfault in send-attach-menu if you hit 's' with no attachments
- fixed check for sendmail in configure.in which generated invalid sh syntax
  under some implementations of sh

From: olsenc@ichips.intel.com (Clint Olsen)
- resize.c needs to include <sys/ioctl.h> under AIX

Changes from 0.48.1 => 0.49
---------------------------
[New] %>X and %|X sequences in ``hdr_format,'' ``status_fmt'' and
``pager_fmt'' to right justify and pad to end of line, respectively

[New] you can now query whether boolean variables are set by prefixing the
variable name with a question mark (e.g., "set ?allow_8bit")

[New] press TAB at a To:, Cc:, or Bcc: prompt to bring up the alias menu
where you can add one or more aliases the the list.

[New] ``verify_sig'' variable to control when  PGP signatures are checked
Valid values are "yes" (always verify), "no" (never verify), or "ask" (query
whether to check to sig)

[New] From: Christophe Kalt <kalt@hugo.int-evry.fr>
New hdr_format sequence ``%t'' to get the appropriate character from the
``tochars'' string.

[New] ``save_name'' variable (default: unset) which causes an fcc to a
folder specified by the address you are sending to, but only if that file
already exists.

[New] ``tilde'' variable (default: unset) to emulate vi/less and print a ~
at the beginning of each blank line on the screen which is not really a part
of the message.  You can configure the color of the tilde using
	color tilde <fg> <bg>

[New] ``mime_fwd'' variable (default: unset) to cause forwarded message to
be inlcuded as a separate MIME attachment.

[New] ``unalias'' command to remove aliases

[New] ``-a'' command line option to include attachments

[New] total rewrite of the keybinding mechanism to allow for binding of key
sequences (more than a single keystroke).  New is the \e sequence for escape.
So you can now do:
	bind "\e<" first-message main-menu
	bind "\e>" last-message main-menu

[New] --with-slang configure option to use slang instead of curses/ncurses.
You MUST get ftp://space.mit.edu/pub/davis/slang0.99-35.tar.gz AND apply my
patch (ftp://cs.hmc.edu/pub/me/slang0.99-35me.diff) OR pick up a patched
copy (ftp://cs.hmc.edu/pub/me/slang0.99-35me.tar.gz)

[New] ``unmy_hdr'' command to remove user defined header fields

[New] total rewrite of the pattern function (limit/*-pattern) to allow for
more complex patterns: NOT(!), OR(|), AND(implicit) and parentheses for
grouping.  You can also use regular expressions instead of plain strings for
keywords which require an argument (like ~t, ~f, ~c and ~s).  This means
that patterns like:
	!(~t mutt|~c mutt) ~f me@.*
are now supported

[New] you can now specify Date ranges in the limit/*-pattern functions.
RTFM for details.

- wrapped threads did not have their subject displayed (missing M_FORCESUBJ
  flag)

- added a few missing #define values to the ``mutt -v'' output

- made changes to mutt_sync_mailbox (now called mutt_checkpoint_mailbox)
  which will speed up the sync-mailbox function by updating the in-memory
  HEADER structures instead of reparsing the entire mailbox.  This also had
  the desirable side-effect that limits are now kept when using
  sync-mailbox, and the mutt_close_mailbox() function now prints "N kept, N
  moved, N deleted" (if spool mailbox) or just "N kept, N deleted"

- you can now view more than one URL before leaving the url-menu

- fixed infinite loop when a PGP key could not be found

- if Mutt can't find a PGP key for one of the recipients, it will now prompt
  the user to input the keyID, mailbox name, or real name.

- added the yes/no/ask variable type (trioption) and supporting routines

- signature was appended when recalling a postponed message

- fixed bugs where next-new always went to the _first_ new message and
  always exited the internal-pager

- added missing binding for view-attachments from the internal-pager

- fixed bug where attachments could be labeled as "x-unknown" MIME type.

- is_local_site() modified so that it takes into account how long the rest
  of the string is after a '*' and then only tries to match that many
  characters at the end of each address (so that something like "*.fr" will
  work)

- xterm mouse support has been removed (SLsmg and ncurses are not compatible
  as far as mouse support)

- rewrite of the color handling to be much simpler by starting curses before
  parsing the .muttrc

- mutt_yesorno() can now return -1 on abort

- fixed segfault if the user deleted the From: field while editing an
  outgoing message

- help always displays the full bindings for a menu.  With the ability to
  bind a key sequence, it is now difficult to find help for a single key.

- configure now checks for -lnsl and -lsocket (needed for POP support under
  Solaris)

- added support for B-encoding in rfc1522.c.  Used if it is more compact than
  Q-encoding (only if charset is not us-ascii or iso-8859-*)

- rewrote Q-encoder in rfc1522.c to be simpler and to comply with the standard
  and not create encoded words longer than 75 chars

- entering an alias with the same name as an existing one will override the
  previous value instead of creating a new alias which never gets used

- gen_keymap fixed to not assume a location for perl and to just find it in
  the user's path

From: oota toshiya <oota@pes.com1.fc.nec.co.jp>
- patch for "JST" timezone in parse_date()

Changes from 0.48 => 0.48.1
---------------------------
- read_rfc822_header() was _way_ slow due to use of strncpy()

- fixed coredump when resuming a postponed message

- fixed coredump when on the last message in main-menu and you do a search

- fixed memory leak in parse_content_type()

- searching in the internal-pager was broken

- fixed mispelling of INSTALL in Makefile.in

- fixed buffer overrun in envelope_defaults() in a call to
  mutt_make_string()

Changes from 0.47 => 0.48
-------------------------
[New] ``hide-quoted'' function in internal-pager to toggle display of quoted
text (default: T)

[New] ``Pager_fmt'' variable controls the info displayed at the top of the
screen in the pager (mutt_make_string() is the pride and joy of Mutt!)

[New] From: David Jeske
- %p sequence for # of postponed message in ``status_fmt''  [03.postponed]
- ``askrecall'' variable to control whether you are prompted to recall a
  message when composing a new message (default: set).

[New] ``unlists'' command to remove a token from the list of mailing-lists

[New] display-address function to display the full address of the sender in
main-menu (default: %)

[New] ``alias_file'' variable to specify the default file in which to save
aliases created by the ``create-alias'' function

[New] Preliminary DSN support.  use --enable-dsn with configure, and see
the ``dsn_notify'' and ``dsn_return'' vars.

[New] support for -B flag to sendmail (used to set -B8BITMIME when needed)
Use --enable-8bitmime to compile with support for this

[New] ``autoinclude'' variable to bypass prompt for including a message in
a reply

[New] ``localsite'' and ``unlocalsite'' muttrc command to specify which hosts
are really local.  This is analagous to the ``alternates'' command, except that
it specifies which addresses are considered part of your local organization.

[New] From: Brandon Long <blong@uiuc.edu>
Man page now installed with mutt

[New] ``popdelete'' variable to control whether messages are deleted from
the POP server after successful download (default: unset).

[New] ``next-new'' (default: <tab>) and ``next-unread'' (unbound)
These functions replace the jump-new and jump-unread functions.  They also
will wrap around to the top if a new/unread message is not found
before hitting the end of the mailbox.  If you want the old jump-new
functionality, you can still get it by creating a macro like:
	bind 'J' main-menu next-new
	macro main-menu '\t' 1^MJ
which jumps to the first message and then to the first new.

[New] ``thread'' keyword in the *-pattern functions (e.g., limit,
tag-pattern)

- configure was not defining HAVE_REGCOMP if regcomp() was found. [02.regcomp]

- screen was not redrawn properly if a limit failed [06]

- subject was not shown for a thread that overlapped a page boundary if the
  current message is the first message on the page [06]

- default value of ``quote_regexp'' is now ``^[|:}#>] *''

- it was impossible to answer ``no'' to the ``No subject, send message
  anyway?'' prompt in send-menu [11.send]

- major changes to the main-menu code to remove the ->current field from the
  global Context.  This allows Mutt to remain open after syncing a mailbox
  which has all message deleted

- changed (o)rder to (u)nsorted in the sort-mailbox function

- return now aborts the sort-mailbox function

- help screen was not cleared when exiting back to the internal-pager

- it was impossible to sort by reverse-date-received from the sort-mailbox
  function [10.sort]

- deleted/saved messages are now automatically untagged [09.selected]

- fetch-mail did not delete the messages on the POP3 server

- ran out of bits in the Options vector, so converted options into two vectors
  and added support routines to set/unset

- configure now checks for the length of ``long'' and ``int'' so that pop.c can
  use the correct length variable for network addresses.

- major overhaul of internal-pager.  wrapped lines are now handled much better.
  ``floating_prompt'' variable removed (needed for simpler handing of wrapped
  lines on the last line of the screen)

- user defined headers were moved to the ENVELOPE struct, and the METAENV
  struct was removed.  user headers are now maintained as a LIST instead of
  a fixed size array

- completion was not enabled for the edit-fcc function

- if the last character in an extracted URL is not alphanumeric, assume it is
  punctutation and remove it.

- ``Tochars'' now has an extra field to specify the character to display when
  the message was sent by you (default: F)

- format of mime.types change to be in line with metamail and netscape
	<content-type>	<extension> [ <extension> ... ]

- change-folder now checks to see if the current mailbox was modified, and
  if so asks if you would like to save changes (it just assumed yes before)

- major changes to use the same routine to parse RFC822 headers for both
  reading a mailbox and when reading a postponed message or with
  ``edit_hdrs.''  This involed using the ENVELOPE structure inside of the
  HEADER structure.

- emergency_exit() did not call endwin() before exiting.

- fixed ``bug'' where mutt would exit saying that the folder had been modified
  if the mtime of a mailbox of zero length had changed.

- when autoedit is set and you compose a new mail, the remotesignature (if set)
  will be included instead of the localsignature.

- endwin() was not called before including a PGP message in a reply.

- application/x-pgp-message is now recongized as a PGP message.

- mutt_add_to_list() now checks to make sure the item to be added is not
  already on the list.

- trying to complete a zero-length filename will now produce the first
  ``real'' file/directory instead of ``.''

- added additional debugging info to mutt_sync_mailbox() to try and track
  down the bug where deleted messages aren't always deleted

- mutt now rotates old debug logs instead of just writing over them
  (.muttdebug0, ..., .muttdebug4)

- 8BIT CTE is now only used for TEXT/* type messages

- fixed bug where 8BIT encoding was not propogated to the top-level
  Content-Transfer-Encoding if the main body of the message was 8BIT and no
  8BIT attachments

- prettied up the auxillary menus to use color (alias/folder/attach/send)

- no error message was printed if copy_message() failed while syncrhonizing
  a folder

- writemsginc now only prints messages for messages which are actually
  written to disk instead of for all messages in the mailbox

- ``mutt -v'' now shows #undef options

- changed calls to strdup() in pgp.c to safe_strdup()

- whitespace was not allowed between the keyword and the equal sign in the
  "set" command

- fixed compilation warnings caused by addstr() not having a "const char *"
  argument on some systems

From: Christophe Kalt <kalt@hugo.int-evry.fr>
- fixed bug in mutt_make_string() which added an extra % when using %F
- %F will now look for mailing lists if the message is from you

From: David DeSimone <fox@mikey.convex.com>
- the ``mono'' command was broken [07.mono]

From: John Capo <jc@irbs.com>
- fixed coredump with no subject on batch send [04.emptysubject]

From: pms@romance.kaist.ac.kr (Park Myeong Seok)
- fixed ci_enter_string() to allow entering of multi-byte
  chinese/japanese/korean characters (it got messed up when I removed the
  init_ch argument) [08.enterstring]
- fixed search command to restore last search string and to wrap to the top
  if a match is not found before the end of the mailbox

From: Thomas Parmelan <tom@ankh.fr.eu.org>
- fix to allow binding of the tab key [12.misc]

From: Ollivier Robert <roberto@roberto@keltia.freenix.fr>
- fixed bug in mutt_complete() which did not handle a single slash in the
  pathname correctly [13.complete]

From: aric@fore.com (Aric D. Blumer)
- alias_reverse_lookup() did not correctly handle group aliases

From: leitner@math.fu-berlin.de
- submitted a more complete sample mime.types file

Changes from 0.46 => 0.47
-------------------------
[New] ``quote_regexp'' variable to specify a regular expression to match
quoted text in the body of a message.

[New] keyboard macros
Works similar to the ``map'' command of vi:
	macro main-menu 'O' oD # change sort method to reverse-date-sent

[New] optionally print non-zero variables in status_bar
``%?02n new?'' will print ``XX new'' if there are new messages in the mailbox,
otherwise, it is ignored

[New] added a ``--with-curseslib=DIR'' option to configure so that mere mortals
can install with ncurses

[New] ``status_on_top'' variable to control whether the status_bar is printed
on the bottom of the screen (default) or the top.  This variable is ignored
if ``xterm_mouse'' is set.

- forgot to clear screen before drawing the send-menu

- "main_loop" tag was only defined if PGP support was enabled

- ~/Mailbox was being displayed as =ox in the status bar

- mark-as-new caused the ``new message count'' in the status bar to always
  increase

- ``tag count'' in status bar was not updated when tagging a message

- index was not redrawn to update deleted message when saving

- added flag M_NOSORT to mutt_open_mailbox() to avoid sorting the mailbox after
  opening it (used for getting postponed messages)

- the value of Sort was invalid if the user typed an invalid sorting method

- fixed coredump when invoking recall-message when there are no messages in the
  mailbox

- aborting a save/copy will no longer move to the next message

- displaying an OLD message decreased the new count, which it should not.

- user was still prompted for a URL after exiting (aborting) the url-menu

- the messages generated by setting ``readmsginc'' and ``writemsginc'' now
  start from 1 instead of 0 (what do you mean only computer scientists count
from 0!! :-)

- added descriptions for the generic menu functions

- added mutt_remove_duplicates() to remove duplicate addresses from a list.

- configure now checks for setegid() since HP-UX does not have it

- ``keepsave'' variable removed (it had no effect anyway) since keys can be
  remapped.

- fixed bug in alternative_handler where no parts were ever displayed

- previous search pattern was erased when aborting the search prompt

- new macros REGCOMP() and REGEXEC() [mutlib.h] to serve as a interface for
  pattern matching.

- fixed some bugs in the content-type parser

- parse_multipart did not check for NULL boundary before using it

- messages displayed by metamail were not marked as read

- the subject of threads that overlap a page boundary is now printed for the
  first message on the new page.

- force_name was cauing the whole pathname of the mailbox to save a copy in
  to be converted to lower case instead of just the filename

- mutt_bounce_message() was using fclose() instead of pclose() on a FILE
  descriptor that was opened with popen().  This caused zombie children when
  bouncing a message.

- improved check for subject change in the middle of a thread

- fixed some documentation errors

From: Fefe <leitner@math.fu-berlin.de>
- mutt_unlink() was being called at the end of ci_send_message() which could
  remove the message before sendmail had a chance to deliver it.

From: David Jeske
- fixed bug in muttrc command substitution
- print "Sorting mailbox..." in mutt_sort_headers()

From: Clint Olsen <olsenc@ichips.intel.com>
- the "bright" member of the color_def struct was still used even if HAVE_COLOR
  is not defined
- hacked the alias code to prevent alias loops in a smart manner by keeping
  track of which aliases have already been expanded.

Changes from 0.45 => 0.46
-------------------------
[NEW] From: Christophe Kalt <kalt@hugo.int-evry.fr>
-p command line option to recall postponed messages

[NEW] function recall-message to recall postponed messages (default: R)

[NEW] "status_format" variable and status line.  See
htmldoc/config.html#status_format.  NOTE: this variable makes the "show_host"
variable obsolete

[NEW] "mono" command to set object attributes on mono terminals.  This
complements the "color" command.

Removed all subwindow curses code.  This is in preparation for using the S-Lang
library as an alternative to ncurses.

configure was not defining USE_SETGID in config.h when needed
[03.configure.PATCH]

The message header included in a reply when the variable "header" is set was
not quoted using the "indentprefix"

If the Date: field is missing or can not be parsed, use the date received
(converted to UTC).  This will at least make the message appear in the
general vicinity of where it belongs.

Changed the sort-mailbox function so that you only need to type a single letter
to resort the mailbox instead of scrolling through all the possibilities.  Use
<shift> + <key> to sort in reverse.

Changed the case of [NEW] and [OLD] to [New] and [Old] when displaying a
message.  It now will also print [Tagged] and [Flagged] when appropriate.

Sorting the mailbox no longer causes an implicit "limit all" (this has the
side effect that new mail received while the display is limited will not be
seen until all messages are shown).

Now possible to change the normal/default color of text ("normal"), error
messages ("error"), and the thread tree ("tree").  [supercedes
04.configure-color.PATCH, 06.normal.PATCH and 11.treecolor.patch]

Changed "lines" from "short" to "unsigned short" in type HEADER (muttlib.h)

Fixed a line wrapping problem in write_address_list() [sendlib.c]

ci_enter_string() no longer returns -1 when the user presses enter with no
input.  -1 is only returned when the user aborts (^G) the prompt.

Documentation was converted to SGML so that I can make text, html, info and
postscript versions from the same source using the linuxdoc-sgml package.

Fixed bug in find_mailing_lists() [sendlib.c] which was corrupting the
envelope structure by mixing up the TO and CC lists.  This was
apparently causing list-reply to hang mutt in some instances.

read_rfc822_header() now takes note of the in-reply-to header and uses the
first message-id found in it to create a fake reference if none exist.

Changed readmsginc => msginc.  It now prints messages both when reading AND
writing.

The meaning of ``-z'' has been reversed, so that "mutt -z" will exit
immediately if there are no messages.

From: jc@irbs.com (John Capo)
dot locking was not used on the spool mailbox if HOMESPOOL was defined.

From: roberto@keltia.freenix.fr (Ollivier Robert)
-fixed coredump in pager on search [08.search.PATCH]
-mutt will coredump on unknown keywords in the muttrc [10.keyword.PATCH]

From: leitner@math.fu-berlin.de (Felix von Leitner)
added status message to configure.in about location of curses.h

From: kalt@hugo.int-evry.fr (Christophe Kalt)
fixed %F in hdr_format to support field widths [07.format.patch]

Changes from 0.44 => 0.45
-------------------------
[NEW] Added "new", "unread" and "important" criteria to the
ci_pattern_function() to complement the "tagged" criterion.

[NEW] mailbox-order sort method

[NEW] --disable-domain option to configure.  Inhibits qualification of local
addresses.

[NEW] From: kalt@hugo.int-evry.fr (Christophe Kalt)
Added the "tochars" variable (from ELM 2.5alpha).  See
htmldoc/config.html#tochars for an explanation.

[NEW] From: Brandon Long <blong@uiuc.edu>
Added the `...` command escape which substitues the output of the command on
the line.

[NEW] variable "askbcc" which controls whether you are initially prompted
for BCC recipients.

[NEW] variable "autoedit" which skips the initial send-menu prompts if
"edit_hdrs" is also set.

Default header info is now fully displayed when replying, group-replying or
forwarding.

Added a break statement to a default label in snprintf.c to satisfy picky
compilers.

ci_enter_string() no longer uses the initch arg.  I now use ungetch().

Forgot the reset the current message number when the jump-new function fails
to find a new message.

mutt_parse_mailbox() will now print "Reading messages..." if readmsginc is 0,
so the user gets some indication of what is happening.

The pathnames of attachments are now displayed in send-menu.

Fixed bug in read_rfc822_header() where the value returned by safe_strdup()
was not checked for NULL before using it.

Composed messages are now aborted if no recipients are entered in the initial
TO prompt.

Fixed display problem when bouncing a message.

Pressing ^G in a yes/no prompt is now interpreted as "no".

Default function key bindings for internal-pager were logically inconsistent.

Fixed bug where echo was not restored when exiting.

":sort" now displays the current sorting method rather than printing
"unknown sorting method".

It was not possible to change the sorting method to threads in the
sort-mailbox function.

Fixed configure script so that it does not check for re_exec() or regex() if
it first finds regcomp().  This will end up avoiding the problem of including
both <libgen.h> and <regex.h> which are incompatible.

Small code changes to avoid "gcc -Wall" compiler warnings under AIX.

The mailbox is now unlocked before sorting the headers (except when sync'ing
a mailbox)

Fixed bug in MIME multipart parsing code.

The toolbar was not getting drawn in main-menu

Thread sorting code modified to eventually be able to support a secondary
sorting method.  It still uses date-sent right now.

Removed all curses calls from pgp.c.  Any routine calling a function in pgp.c
must first call pgp_valid_passphrase() [if needed] and endwin() before
calling another pgp_* function.

start_curses() was called in main() even in batch mode.

Chagned "char *" => "unsigned char *" in print_enriched_string() to fix
problems with displaying 8-bit characters

configure now adds -L/usr/ccs/lib to LDFLAGS under Solaris

When opening a mailbox, mutt will position itself at the last message in the
mailbox if there are no new or old messages.

Fixed bug in ci_start_color() where I was calling init_pair() with a -1
argument.

Mutt now uses POSIX.1 signals (sigaction, sigprocmask)

Added mutt_block_signals() and mutt_unblock_signals() routines to protect
critical regions in the mailbox reading/writing routines.  This will prevent
.lock files being left behind if the user hits ^C while reading/writing the
mailbox.

If the subject changes in a thread, it will show the new subject where it
changes

Mutt will display "[NEW]" or "[OLD]" on the first line of the message display
if a message is new or old, respectively (duh!)

Reverse aliasing is now also done when displaying "To <addr>" in main-menu.

If there is no From: or Apparently-From: header field in a message,
use the return-path indicated in the message separator.

The keypad was not enabled in send-menu.

delete-thread now works correctly in the internal-pager.

From: Brandon Long <blong@uiuc.edu>
browse-url now pops up a menu if it finds more than one url in the message.

From: lmb@pointer.in-minden.de (Lars Marowsky-Bree)
-Fixed bug in sort_threads() where ->message_id was not checked for NULL before
calling strcmp()
-added %D sequence to mutt_make_string() to print date in ISO-8601 format:
	YYYY-MM-DDTHH:MM:SS

From: aric@fore.com (Aric D. Blumer)
ci_any_key_to_continue() was not restoring the original tty mode.

From: Brandon Long?
Attachment descriptions are now restored from postponed messages.

Changes from 0.43 => 0.44
-------------------------
[NEW] Message threading.  Add "sort threads" to your .muttrc to enable
threading mode.  (See http://www.cs.hmc.edu/~me/mutt/misc.html#threads
for more info)

[NEW] browse-url function.  New variables used by this function are
``web_browser'' and ``web_xbrowser''

[NEW] Mutt will print "No messages in mailbox." and exit if you specify a
zero length folder with the '-f' option on the command line.  You can force
it to start anyway by using '-z', just like in ELM.

mutt_write_address() was not separating addresses with a comma.

The send-attach-menu now uses the keybinding mechanism like other menus.

Fixed segfault when botching command-line arguments with batchmode.

The ``help'' function now displays a short description along with the function
name.

Fixed some problems with the attach-menu not getting drawn properly.

If there is no description for an attachment, try displaying the default
filename.

parse_date() now knows about the "MET" timezone.

attachments are now restored when recalling a postponed message.  This is
done by adding a
	X-Mutt-Attachment: <filename>
header line when saving the message to the postponed mailbox.

folder-menu now displays the directory in the title.

pager prompt was not cleared when sending a message from it.

The References: header line was not RFC1036 compliant because it put each
reference on it's own line.  I'm not sure this matters much since it _was_
RFC822 compliant, but I've fixed it.

The index-menu is now redrawn after invoking enter-command so that any changes
affecting the screen display will take effect immediately.

The current message was getting set to 1 when executing ``limit'', even if
the prompt for criteria was aborted.

Mutt will now print an error message if a user tries to enter a list of
recipients not separated by commas.

send-menu looks a little different on startup.  Old behavior was to enter
the initial list of recipients and subject at the bottom of the screen.  Now
the whole menu is drawn and the fields are edited in the same fashion as
they are after editing the body of the message.

If you try to synchronize a read-only folder, Mutt will now ask you if you want
to abort any changes you've made.

Fixed yet another buffer overflow problem in format_long().  That routine
was replaced by write_address_list() [sendlib.c] so it can handle arbitrarily
long lists without needing a huge memory buffer.

ci_enter_string() now does boundary checking so it doesn't allow the user
to write past the end of the string.

From: Alain.Thivillon@alma.fr (Alain Thivillon)
-fixed bug where Mutt would display "To <myaddress>" when the message was
actually from you instead of the real recipients.
-default filename was not used when saving an attachment
-keypad is not restored after invoking editor on some terminals

From: Brandon Long <blong@uiuc.edu>
Rewrote the snprintf() routine and added missing functionality from previous
version.

From: Francois.Berjon@aar.alcatel-alsthom.fr (Francois Berjon)
The ci_parse_bind() routine was returning the wrong code for the PageUp and
PageDown keys.

From: ollivier.robert@eurocontrol.fr (Ollivier Robert)
Fixed purify warning in hdrline.c by changing strfcpy=>memcpy

From: kalt@hugo.int-evry.fr (Christophe Kalt)
-Added a 'Fcc:' field to the send-menu so that you can override the value of
 ``outbox'' or ``force_name'' on a per-message basis.  This value can be edited
 by invoking the function ``edit-fcc'' (``f'' by default).
-Added the %F sequence to mutt_make_string() which gives the From: header
 field unless the message is from yourself (a compromise between %f and %L)

From: jeske@igcom.net (David Jeske)
reverse_alias now works for mailing lists.

Changes from 0.42 => 0.43
-------------------------
[NEW] Mutt will abort without prompting in the send-menu if you do not modify
the outgoing message on the initial edit.

index-menu was not getting redrawn after exiting the full screen help window.

Fixed problem in configure with getting the domain name of the system where
the ``egrep'' call was missing its brackets.

Calls to rfc822_write_address() are now made through mutt_write_address(),
which does checks to make sure that the buffer is not overwritten.  This
routine can still fail if any single address in a list is larger than 1K.
Because of this, I've reduced the size of most buffers from HUGE_STRING (5K)
to LONG_STRING (1K).  This has the side effect that it will be impossible
to reply to all recipients of a very long (> 1K) list of recipients.  But
at least Mutt will not crash.

Changed many sprintf=>snprintf and strcpy=>strfcpy where possible in order
to decrease likelihood of buffer overflow.

The mailbox was not being resorted if the ``sync-mailbox'' function aborted.

Fixed some errors in the documentation.

ci_any_key_to_continue() now only uses tcgetattr(), since all POSIX systems
have it.  This removes the need to check for specific types of machines, and
also removes the need to check for <sys/param.h> for the definition of BSD.

Fixed problem with replying to a MIME multipart message before viewing it,
where the body of the message was not included in the reply.

From: roberto@keltia.freenix.fr (Ollivier Robert)
Fixed coredump when trying to send mail in batch mode.

From: David DeSimone (fox@convex.hp.com)
String parsing in the .muttrc was still broken.

From: ollivier.robert@eurocontrol.fr (Ollivier Robert)
-Fixed segfault when invoking the ``search'' function in main-menu.
-Fixed segfault when the postpone-menu was invoked.
-Added missing delwin() call to end of ci_attach_menu()
-screen was not getting drawn in ci_attach_menu() because of missing flag
-send-menu was not updated to show the attachments message.

From: aric@fore.com (Aric D. Blumer)
-added missing wait() after call to pgp to get list of keys in pgp.c
-pgp_prompt_for_passphrase() was returning the wrong code on success

Changes from 0.41 => 0.42
-------------------------
[NEW] Added the untag-pattern function (default: control-T)

[NEW] It is now possible to use the following keys with the bind command:
	pageup, pagedown, up, down, left, right
``home'' and ``end'' do not work for some reason (they don't return the correct
KEY_* code given in curses.h, at least when I tested it)

[NEW] Mutt will now print
	(*** You have flagged this message as IMPORTANT ***)
before the header of messages (in the pager) which have been marked important
using the flag-message function.

Fixed segfault when using the -F command line option.

help commands now print the name of the menu when listing all keybindings.

The screen is now clear()ed after displaying help in the internal-pager.

Fixed bug where it was impossible to quote characters with backslash (\) inside
of a string in the .muttrc

The default hdr_format now shows the number of lines rather than the number
of characters in the message.

jump-new will now ignore new messages which have been deleted.

Removed the ``sigdashes'' variable.  The signature will always be appended
after a line containing "-- ".

Setting ``indentprefix'' has been disabled.  Mutt will now always use "> "
as the quote string.

Fixed bug where a blank line was inserted before the Resent- header fields when
bouncing a message.

It is now possible to escape the comment character (#) in the .muttrc.  For
example:
	my_hdr X-Random-Header: \# this is not a comment # but this is
will produce a header field:
	X-Random-Header: # this is not a comment

configure now checks for snprintf() and uses the supplied code if it is not
found in the system libc.

Fixed bug where attachments of type message/rfc822 were incorrectly displayed
(the body was always missing).

Mutt will display the next message automagically after successfully saving a
message to a file while in the internal-pager.

``mutt -v'' now prints which operating system and release, as well as the
ncurses version used.

Fixed bug in filename completion code where if one filename was a substring of
the other, it would match the longer filename under certain conditions.

From: aric@fore.com (Aric D. Blumer)
-Added missing wait() call to pgp_encrypted_handler() after invoking pgp.
-Fixed several large memory leaks (thanks, Aric!)

Fixed buffer overflow bug in alias-menu.

The ``help'' function in the internal-pager no longer prints all bindings
by default.

Major changes in the curses code.  The only user-visible change is that
all prompts have been moved to the last line of the screen.  Internally,
the curses lib is now more responsible for repainting the screen because I
am using subwindows for everything other than the index-menu.

This ChangeLog was getting far too long, so I copied it to OChangeLog.
