Rocco Rutte:
authorpdmef <pdmef@e385b8ad-14ed-0310-8656-cc95a2468c6d>
Mon, 25 Jul 2005 07:27:33 +0000 (07:27 +0000)
committerpdmef <pdmef@e385b8ad-14ed-0310-8656-cc95a2468c6d>
Mon, 25 Jul 2005 07:27:33 +0000 (07:27 +0000)
- merge in latest mutt changes
- update ACK list of manual to reflect muttng contributors (any feeling missing? ;-)

git-svn-id: svn://svn.berlios.de/mutt-ng/trunk@342 e385b8ad-14ed-0310-8656-cc95a2468c6d

13 files changed:
ChangeLog.mutt
UPGRADING
doc/manual.sgml.head
doc/manual.sgml.tail
doc/manual.txt
hash.c
imap/message.c
init.c
init.h
main.c
muttlib.c
protos.h
thread.c

index 022b03d..1c3eecf 100644 (file)
@@ -1,4 +1,51 @@
-2005-07-24 14:23:25  Thomas Roessler  <roessler@does-not-exist.org>  (roessler)
+2005-07-25 04:37:20  Brendan Cully  <brendan@kublai.com>  (brendan)
+
+       * imap/message.c: Minor cosmetic cleanup (fewer #ifdef HCACHE blocks)
+
+2005-07-25 04:31:51  Brendan Cully <brendan@kublai.com>  (brendan)
+
+       * muttlib.c: Suppress a printf format warning
+
+2005-07-24 18:33:31  Brendan Cully  <brendan@kublai.com>  (brendan)
+
+       * muttlib.c: Typo in last commit.
+
+2005-07-24 18:28:36  Brendan Cully  <brendan@kublai.com>  (brendan)
+
+       * imap/message.c, muttlib.c, protos.h: Merge full envelope from
+       message fetch into original sparse envelope, instead of replacing
+       it. This should be gentler on the various threading hashes and may
+       (knock on wood) fix the threading segfault. Threading behaviour is
+       observably better.
+
+       * imap/util.c: Revert Glanzmann's imap_parse_mailbox patch.
+
+2005-07-24 16:53:59  Thomas Roessler  <roessler@does-not-exist.org>  (roessler)
+
+       * thread.c: Try to fix threading bug triggered by duplicate
+       references.
+
+2005-07-24 16:51:38  Cedric Duval  <cedricduval+web@free.fr>  (brendan)
+
+       * OPS, copy.c, curs_main.c, doc/manual.sgml.head, functions.h,
+       imap/imap.c, mh.c, mutt.h, mx.c, pager.c, protos.h, thread.c: Add
+       thread editing commands.
+
+2005-07-24 16:12:12  Paul Walker  <paul@black-sun.demon.co.uk>  (roessler)
+
+       * doc/manual.sgml.head, main.c, protos.h, init.c: This patch
+       adds an option -D to dump mutt's configuration after all
+       configuration files have been read.  Changes against PW's version:
+       (1) curses isn't initialized; (2) variables are dumped to stdout,
+       not to stderr.
+
+2005-07-24 15:46:26  Thomas Roessler  <roessler@does-not-exist.org>  (roessler)
+
+       * hash.c, imap/message.c, imap/util.c: This patch includes (1)
+       a rewrite of hash_delete_hash, and (2) some changes to the IMAP
+       code that Thomas Glanzmann made during an attempt to squash some
+       segmentation fault in May.  There is no guarantee that this patch
+       doesn't break things.  If it does, please complain to mutt-dev.
 
        * recvattach.c, smime.c: Fix S/MIME segmentation fault.  Bug
        reported by Mads Martin Joergensen; part fixed by Brendan Cully.
 2005-01-29 19:15:07  Thomas Glanzmann  <sithglan@stud.uni-erlangen.de>  (roessler)
                                  
      * hcache.c: - make hcache.c conform to mutt codingstyle
-     - use $Id: ChangeLog,v 3.435 2005/07/24 14:24:00 roessler Exp $ CVS keyword instead of %K% BitKeeper keyword
+     - use $Id: ChangeLog,v 3.444 2005/07/25 04:38:56 brendan Exp $ CVS keyword instead of %K% BitKeeper keyword
                                  
 2005-01-29 19:15:07  Thomas Glanzmann  <sithglan@stud.uni-erlangen.de>  (roessler)
 
index 831b0ea..dc9ede5 100644 (file)
--- a/UPGRADING
+++ b/UPGRADING
@@ -10,7 +10,14 @@ This document is not the place for verbose documentation; it only offers
 the necessary keywords to look them up in the manual, ChangeLog or other
 sources of information.
 
-2005-24-07:
+2005-07-25:
+
+  The '-D' command line option has been added.
+
+  Editing threads functionality is no longer only available
+  in muttng as it has been integrated into mutt, too.
+
+2005-07-24:
 
   The $xterm_leave option has been added.
 
index f11b711..f67bfe1 100644 (file)
@@ -3422,6 +3422,7 @@ to send messages from the command line as well.
 -a      attach a file to a message
 -b      specify a blind carbon-copy (BCC) address
 -c      specify a carbon-copy (Cc) address
+-D      print the value of all variables on stdout
 -e      specify a config command to be run after initialization files are read
 -f      specify a mailbox to load
 -F      specify an alternate file to read initialization commands
index 947e365..851a7c5 100644 (file)
@@ -391,7 +391,9 @@ Rocco Rutte <htmlurl url="mailto:pdmef@cs.tu-berlin.de" name="&lt;pdmef@cs.tu-be
 The following people have been very helpful to the development of  Mutt-ng:
 
 Iain Lea <htmlurl url="mailto:iain@bricbrac.de" name="&lt;iain@bricbrac.de&gt;"><newline>
-Andreas Kneib <htmlurl url="mailto:akneib@gmx.net" name="&lt;akneib@gmx.net&gt;">
+Andreas Kneib <htmlurl url="mailto:akneib@gmx.net" name="&lt;akneib@gmx.net&gt;"><newline>
+Carsten Schoelzki <htmlurl url="mailto:cjs@weisshuhn.de" name="&lt;cjs@weisshuhn.de&gt;"><newline>
+Elimar Riesebieter <htmlurl url="mailto:riesebie@lxtec.de" name="&lt;riesebie@lxtec.de&gt;">
 
 <sect1>About this document
 <p>
index e87de1e..9fe58b3 100644 (file)
 
        _\b2_\b._\b3_\b._\b3  _\bT_\bh_\br_\be_\ba_\bd_\be_\bd _\bM_\bo_\bd_\be
 
-       When the mailbox is _\bs_\bo_\br_\bt_\be_\bd (section 6.3.288  , page 133) by _\bt_\bh_\br_\be_\ba_\bd_\bs, there are
+       When the mailbox is _\bs_\bo_\br_\bt_\be_\bd (section 6.3.288  , page 134) by _\bt_\bh_\br_\be_\ba_\bd_\bs, there are
        a few additional functions available in the _\bi_\bn_\bd_\be_\bx and _\bp_\ba_\bg_\be_\br modes.
 
             ^D      delete-thread           delete all messages in the current thread
 
        match the regular expressions given by the _\bl_\bi_\bs_\bt_\bs _\bo_\br _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bb_\be (section 3.10  ,
        page 24) commands, but also honor any Mail-Followup-To header(s) if the
-       _\b$_\bh_\bo_\bn_\bo_\br_\b__\bf_\bo_\bl_\bl_\bo_\bw_\bu_\bp_\b__\bt_\bo (section 6.3.87  , page 84) configuration variable is set.
+       _\b$_\bh_\bo_\bn_\bo_\br_\b__\bf_\bo_\bl_\bl_\bo_\bw_\bu_\bp_\b__\bt_\bo (section 6.3.87  , page 85) configuration variable is set.
        Using this when replying to messages posted to mailing lists helps avoid dupli-
        cate copies being sent to the author of the message you are replying to.
 
 
        Asks for an external Unix command and pipes the current or tagged message(s) to
        it.  The variables _\b$_\bp_\bi_\bp_\be_\b__\bd_\be_\bc_\bo_\bd_\be (section 6.3.199  , page 113), _\b$_\bp_\bi_\bp_\be_\b__\bs_\bp_\bl_\bi_\bt
-       (section 6.3.201  , page 114), _\b$_\bp_\bi_\bp_\be_\b__\bs_\be_\bp (section 6.3.200  , page 113) and
+       (section 6.3.201  , page 114), _\b$_\bp_\bi_\bp_\be_\b__\bs_\be_\bp (section 6.3.200  , page 114) and
        _\b$_\bw_\ba_\bi_\bt_\b__\bk_\be_\by (section 6.3.329  , page 145) control the exact behavior of this
        function.
 
        Mutt-ng will then enter the _\bc_\bo_\bm_\bp_\bo_\bs_\be menu and prompt you for the recipients to
        place on the ``To:'' header field.  Next, it will ask you for the ``Subject:''
        field for the message, providing a default if you are replying to or forwarding
-       a message.  See also _\b$_\ba_\bs_\bk_\bc_\bc (section 6.3.10  , page 66), _\b$_\ba_\bs_\bk_\bb_\bc_\bc (section
+       a message.  See also _\b$_\ba_\bs_\bk_\bc_\bc (section 6.3.10  , page 67), _\b$_\ba_\bs_\bk_\bb_\bc_\bc (section
        6.3.9  , page 66), _\b$_\ba_\bu_\bt_\bo_\be_\bd_\bi_\bt (section 6.3.17  , page 69), _\b$_\bb_\bo_\bu_\bn_\bc_\be (section
        6.3.20  , page 69), and _\b$_\bf_\ba_\bs_\bt_\b__\br_\be_\bp_\bl_\by (section 6.3.59  , page 78) for changing
        how Mutt-ng asks these questions.
        is set, the headers will be at the top of the message in your editor.  Any mes-
        sages you are replying to will be added in sort order to the message, with
        appropriate _\b$_\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\bi_\bo_\bn (section 6.3.15  , page 68), _\b$_\bi_\bn_\bd_\be_\bn_\bt_\b__\bs_\bt_\br_\bi_\bn_\bg (section
-       6.3.108  , page 89) and _\b$_\bp_\bo_\bs_\bt_\b__\bi_\bn_\bd_\be_\bn_\bt_\b__\bs_\bt_\br_\bi_\bn_\bg (section 6.3.211  , page 116).
+       6.3.108  , page 90) and _\b$_\bp_\bo_\bs_\bt_\b__\bi_\bn_\bd_\be_\bn_\bt_\b__\bs_\bt_\br_\bi_\bn_\bg (section 6.3.211  , page 116).
        When forwarding a message, if the _\b$_\bm_\bi_\bm_\be_\b__\bf_\bo_\br_\bw_\ba_\br_\bd (section 6.3.135  , page 97)
        variable is unset, a copy of the forwarded message will be included.  If you
        have specified a _\b$_\bs_\bi_\bg_\bn_\ba_\bt_\bu_\br_\be (section 6.3.258  , page 127), it will be appended
        encrypted using the selected public keys, and sent out.
 
        Most fields of the entries in the key selection menu (see also _\b$_\bp_\bg_\bp_\b__\be_\bn_\bt_\br_\by_\b__\bf_\bo_\br_\b-
-       _\bm_\ba_\bt (section 6.3.178  , page 108)) have obvious meanings.  But some explana-
+       _\bm_\ba_\bt (section 6.3.178  , page 109)) have obvious meanings.  But some explana-
        tions on the capabilities, flags, and validity fields are in order.
 
        The flags sequence (%f) will expand to one of the following flags:
        At times it is desirable to delay sending a message that you have already begun
        to compose.  When the _\bp_\bo_\bs_\bt_\bp_\bo_\bn_\be_\b-_\bm_\be_\bs_\bs_\ba_\bg_\be function is used in the _\bc_\bo_\bm_\bp_\bo_\bs_\be menu,
        the body of your message and attachments are stored in the mailbox specified by
-       the _\b$_\bp_\bo_\bs_\bt_\bp_\bo_\bn_\be_\bd (section 6.3.213  , page 116) variable.  This means that you can
+       the _\b$_\bp_\bo_\bs_\bt_\bp_\bo_\bn_\be_\bd (section 6.3.213  , page 117) variable.  This means that you can
        recall the message even if you exit Mutt-ng and then restart it at a later
        time.
 
        folder-hook's, they are executed in the order given in the muttrc.
 
        N\bNo\bot\bte\be:\b: if you use the ``!'' shortcut for _\b$_\bs_\bp_\bo_\bo_\bl_\bf_\bi_\bl_\be (section 6.3.294  , page
-       135) at the beginning of the pattern, you must place it inside of double or
+       136) at the beginning of the pattern, you must place it inside of double or
        single quotes in order to distinguish it from the logical _\bn_\bo_\bt operator for the
        expression.
 
 
        The Mutt-ng E-Mail Client                                                    26
 
-       6.3.294  , page 135)) should be executed before the mailboxes command.
+       6.3.294  , page 136)) should be executed before the mailboxes command.
 
        _\b3_\b._\b1_\b3  _\bU_\bs_\be_\br _\bd_\be_\bf_\bi_\bn_\be_\bd _\bh_\be_\ba_\bd_\be_\br_\bs
 
        Usage: reset _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be [_\bv_\ba_\br_\bi_\ba_\bb_\bl_\be ... ]
 
        This command is used to set (and unset) _\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\ba_\bt_\bi_\bo_\bn _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\bs (section 6.3  ,
-       page 64).  There are four basic types of variables: boolean, number, string and
+       page 65).  There are four basic types of variables: boolean, number, string and
        quadoption.  _\bb_\bo_\bo_\bl_\be_\ba_\bn variables can be _\bs_\be_\bt (true) or _\bu_\bn_\bs_\be_\bt (false).  _\bn_\bu_\bm_\bb_\be_\br
        variables can be assigned a positive integer value.
 
        These shortcuts can be used anywhere you are prompted for a file or mailbox
        path.
 
-          +\bo ! -- refers to your _\b$_\bs_\bp_\bo_\bo_\bl_\bf_\bi_\bl_\be (section 6.3.294  , page 135) (incoming)
+          +\bo ! -- refers to your _\b$_\bs_\bp_\bo_\bo_\bl_\bf_\bi_\bl_\be (section 6.3.294  , page 136) (incoming)
             mailbox
 
           +\bo > -- refers to your _\b$_\bm_\bb_\bo_\bx (section 6.3.123  , page 95) file
 
        Conversely, when group-replying or list-replying to a message which has a Mail-
        Followup-To header, mutt will respect this header if the _\b$_\bh_\bo_\bn_\bo_\br_\b__\bf_\bo_\bl_\bl_\bo_\bw_\bu_\bp_\b__\bt_\bo
-       (section 6.3.87  , page 84) configuration variable is set.  Using list-reply
+       (section 6.3.87  , page 85) configuration variable is set.  Using list-reply
        will in this case also make sure that the reply goes to the mailing list, even
        if it's not specified in the list of recipients in the Mail-Followup-To.
 
 
        The Mutt-ng E-Mail Client                                                    47
 
-       Lastly, Mutt-ng has the ability to _\bs_\bo_\br_\bt (section 6.3.288  , page 133) the mail-
+       Lastly, Mutt-ng has the ability to _\bs_\bo_\br_\bt (section 6.3.288  , page 134) the mail-
        box into _\bt_\bh_\br_\be_\ba_\bd_\bs (section 2.3.3  , page 7).  A thread is a group of messages
        which all relate to the same subject.  This is usually organized into a tree-
        like structure where a message and all of its replies are represented graphi-
 
        Another way to access your POP3 mail is the _\bf_\be_\bt_\bc_\bh_\b-_\bm_\ba_\bi_\bl function (default: G).
        It allows to connect to _\bp_\bo_\bp_\b__\bh_\bo_\bs_\bt (section 6.3.205  , page 115), fetch all your
-       new mail and place it in the local _\bs_\bp_\bo_\bo_\bl_\bf_\bi_\bl_\be (section 6.3.294  , page 135).
+       new mail and place it in the local _\bs_\bp_\bo_\bo_\bl_\bf_\bi_\bl_\be (section 6.3.294  , page 136).
        After this point, Mutt-ng runs exactly as if the mail had always been local.
 
        N\bNo\bot\bte\be:\b: If you only need to fetch all messages to local mailbox you should con-
             tors. This is overridden by an explicit username in the mailbox path (i.e.
             by using a mailbox name of the form {user@host}).
 
-          +\bo _\b$_\bi_\bm_\ba_\bp_\b__\bp_\ba_\bs_\bs (section 6.3.99  , page 87) - a password which you may preset,
+          +\bo _\b$_\bi_\bm_\ba_\bp_\b__\bp_\ba_\bs_\bs (section 6.3.99  , page 88) - a password which you may preset,
             used by all authentication methods where a password is needed.
 
           +\bo _\b$_\bi_\bm_\ba_\bp_\b__\ba_\bu_\bt_\bh_\be_\bn_\bt_\bi_\bc_\ba_\bt_\bo_\br_\bs (section 6.3.90  , page 85) - a colon-delimited list
        compressed. This is important because it allows the use of programs that do not
        have well defined extensions. Just use '.' as a regexp. But this may be sur-
        prising if your compressing script produces empty files. In this situation,
-       unset _\b$_\bs_\ba_\bv_\be_\b__\be_\bm_\bp_\bt_\by (section 6.3.239  , page 122), so that the compressed file
+       unset _\b$_\bs_\ba_\bv_\be_\b__\be_\bm_\bp_\bt_\by (section 6.3.239  , page 123), so that the compressed file
        will be removed if you delete all of the messages.
 
        _\b4_\b._\b1_\b6_\b._\b1  _\bO_\bp_\be_\bn _\ba _\bc_\bo_\bm_\bp_\br_\be_\bs_\bs_\be_\bd _\bm_\ba_\bi_\bl_\bb_\bo_\bx _\bf_\bo_\br _\br_\be_\ba_\bd_\bi_\bn_\bg
        The interpretation of shell meta-characters embedded in MIME parameters can
        lead to security problems in general.  Mutt-ng tries to quote parameters in
        expansion of %s syntaxes properly, and avoids risky characters by substituting
-       them, see the _\bm_\ba_\bi_\bl_\bc_\ba_\bp_\b__\bs_\ba_\bn_\bi_\bt_\bi_\bz_\be (section 6.3.116  , page 93) variable.
+       them, see the _\bm_\ba_\bi_\bl_\bc_\ba_\bp_\b__\bs_\ba_\bn_\bi_\bt_\bi_\bz_\be (section 6.3.116  , page 94) variable.
 
        Although mutt's procedures to invoke programs with mailcap seem to be safe,
        there are other applications parsing mailcap, maybe taking less care of it.
             -a      attach a file to a message
             -b      specify a blind carbon-copy (BCC) address
             -c      specify a carbon-copy (Cc) address
+            -D      print the value of all variables on stdout
             -e      specify a config command to be run after initialization files are read
             -f      specify a mailbox to load
             -F      specify an alternate file to read initialization commands
 
           +\bo _\ba_\bc_\bc_\bo_\bu_\bn_\bt_\b-_\bh_\bo_\bo_\bk (section 4.14  , page 49) _\bp_\ba_\bt_\bt_\be_\br_\bn _\bc_\bo_\bm_\bm_\ba_\bn_\bd
 
-          +\bo _\ba_\bl_\bi_\ba_\bs (section 3.2  , page 16) _\bk_\be_\by _\ba_\bd_\bd_\br_\be_\bs_\bs [ , _\ba_\bd_\bd_\br_\be_\bs_\bs, ... ]
-
        The Mutt-ng E-Mail Client                                                    64
 
+          +\bo _\ba_\bl_\bi_\ba_\bs (section 3.2  , page 16) _\bk_\be_\by _\ba_\bd_\bd_\br_\be_\bs_\bs [ , _\ba_\bd_\bd_\br_\be_\bs_\bs, ... ]
+
           +\bo _\bu_\bn_\ba_\bl_\bi_\ba_\bs (section 3.2  , page 16) [ * | _\bk_\be_\by ... ]
 
           +\bo _\ba_\bl_\bt_\be_\br_\bn_\ba_\bt_\be_\bs (section 3.9  , page 23) _\br_\be_\bg_\be_\bx_\bp [ _\br_\be_\bg_\be_\bx_\bp ... ]
 
           +\bo _\bm_\ba_\bi_\bl_\bb_\bo_\bx_\be_\bs (section 3.12  , page 25) _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [ _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be ... ]
 
-          +\bo _\bm_\bb_\bo_\bx_\b-_\bh_\bo_\bo_\bk (section 3.11  , page 25) _\bp_\ba_\bt_\bt_\be_\br_\bn _\bm_\ba_\bi_\bl_\bb_\bo_\bx
-
        The Mutt-ng E-Mail Client                                                    65
 
+          +\bo _\bm_\bb_\bo_\bx_\b-_\bh_\bo_\bo_\bk (section 3.11  , page 25) _\bp_\ba_\bt_\bt_\be_\br_\bn _\bm_\ba_\bi_\bl_\bb_\bo_\bx
+
           +\bo _\bm_\be_\bs_\bs_\ba_\bg_\be_\b-_\bh_\bo_\bo_\bk (section 3.19  , page 28) _\bp_\ba_\bt_\bt_\be_\br_\bn _\bc_\bo_\bm_\bm_\ba_\bn_\bd
 
           +\bo _\bm_\bi_\bm_\be_\b__\bl_\bo_\bo_\bk_\bu_\bp (section 5.6  , page 61) _\bm_\bi_\bm_\be_\bt_\by_\bp_\be [ _\bm_\bi_\bm_\be_\bt_\by_\bp_\be ... ]
 
        _\b6_\b._\b3  _\bC_\bo_\bn_\bf_\bi_\bg_\bu_\br_\ba_\bt_\bi_\bo_\bn _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\bs
 
-       _\b6_\b._\b3_\b._\b1  _\ba_\bb_\bo_\br_\bt_\b__\bn_\bo_\bs_\bu_\bb_\bj_\be_\bc_\bt
-
        The Mutt-ng E-Mail Client                                                    66
 
+       _\b6_\b._\b3_\b._\b1  _\ba_\bb_\bo_\br_\bt_\b__\bn_\bo_\bs_\bu_\bb_\bj_\be_\bc_\bt
+
        Type: quadoption
 
        Default: ask-yes
              %r
                    address which alias expands to
 
+       The Mutt-ng E-Mail Client                                                    67
+
              %t
                    character which indicates if the alias is tagged for inclusion
 
-       The Mutt-ng E-Mail Client                                                    67
-
        _\b6_\b._\b3_\b._\b5  _\ba_\bl_\bl_\bo_\bw_\b__\b8_\bb_\bi_\bt
 
        Type: boolean
        If _\bs_\be_\bt, Mutt-ng will prompt you for blind-carbon-copy (Bcc) recipients before
        editing an outgoing message.
 
+       The Mutt-ng E-Mail Client                                                    68
+
        _\b6_\b._\b3_\b._\b1_\b0  _\ba_\bs_\bk_\bc_\bc
 
        Type: boolean
 
-       The Mutt-ng E-Mail Client                                                    68
-
        Default: no
 
        If _\bs_\be_\bt, Mutt-ng will prompt you for carbon-copy (Cc) recipients before editing
              %f
                    filename
 
+       The Mutt-ng E-Mail Client                                                    69
+
              %I
                    MIME Content-Disposition: header field (I=inline, A=attachment)
 
-       The Mutt-ng E-Mail Client                                                    69
-
              %m
                    major MIME type
 
 
        Type: string
 
-       Default: 'On %d, %n wrote:'
-
        The Mutt-ng E-Mail Client                                                    70
 
+       Default: 'On %d, %n wrote:'
+
        This is the string that will precede a message which has been included in a
        reply.  For a full listing of defined printf(3)-like sequences see the section
        on ``_\b$_\bi_\bn_\bd_\be_\bx_\b__\bf_\bo_\br_\bm_\ba_\bt (section 6.3.109  , page 90)''.
 
        Default: ask-yes
 
-       Controls whether you will be asked to confirm bouncing messages.  If set to _\by_\be_\bs
-       you don't get asked if you want to bounce a message. Setting this variable to
-
        The Mutt-ng E-Mail Client                                                    71
 
+       Controls whether you will be asked to confirm bouncing messages.  If set to _\by_\be_\bs
+       you don't get asked if you want to bounce a message. Setting this variable to
        _\bn_\bo is not generally useful, and thus not recommended, because you are unable to
        bounce messages.
 
 
        Character set your terminal uses to display and enter textual data.
 
+       The Mutt-ng E-Mail Client                                                    72
+
        _\b6_\b._\b3_\b._\b2_\b5  _\bc_\bh_\be_\bc_\bk_\b__\bn_\be_\bw
 
        Type: boolean
 
-       The Mutt-ng E-Mail Client                                                    72
-
        Default: yes
 
        N\bNo\bot\bte\be:\b: this option only affects _\bm_\ba_\bi_\bl_\bd_\bi_\br and _\bM_\bH style mailboxes.
 
        Default: ''
 
-       When defined, Mutt-ng will recode commands in rc files from this encoding.
-
        The Mutt-ng E-Mail Client                                                    73
 
+       When defined, Mutt-ng will recode commands in rc files from this encoding.
+
        _\b6_\b._\b3_\b._\b2_\b9  _\bc_\bo_\bn_\bf_\bi_\br_\bm_\ba_\bp_\bp_\be_\bn_\bd
 
        Type: boolean
 
        Type: boolean
 
-       Default: no
-
        The Mutt-ng E-Mail Client                                                    74
 
+       Default: no
+
        Setting this variable will cause Mutt-ng to always attempt to PGP encrypt out-
        going messages.  This is probably only useful in connection to the _\bs_\be_\bn_\bd_\b-_\bh_\bo_\bo_\bk
        command.  It can be overridden by use of the _\bp_\bg_\bp_\b-_\bm_\be_\bn_\bu, when encryption is not
        encryption/signing for messages.  See also ``_\b$_\bc_\br_\by_\bp_\bt_\b__\ba_\bu_\bt_\bo_\be_\bn_\bc_\br_\by_\bp_\bt (section
        6.3.34  , page 72)'', ``_\b$_\bc_\br_\by_\bp_\bt_\b__\br_\be_\bp_\bl_\by_\be_\bn_\bc_\br_\by_\bp_\bt (section 6.3.38  , page 73)'',
        ``_\b$_\bc_\br_\by_\bp_\bt_\b__\ba_\bu_\bt_\bo_\bs_\bi_\bg_\bn (section 6.3.36  , page 73)'', ``_\b$_\bc_\br_\by_\bp_\bt_\b__\br_\be_\bp_\bl_\by_\bs_\bi_\bg_\bn (section
-       6.3.39  , page 73)'' and ``_\b$_\bs_\bm_\bi_\bm_\be_\b__\bi_\bs_\b__\bd_\be_\bf_\ba_\bu_\bl_\bt (section 6.3.276  , page 131)''.
+       6.3.39  , page 74)'' and ``_\b$_\bs_\bm_\bi_\bm_\be_\b__\bi_\bs_\b__\bd_\be_\bf_\ba_\bu_\bl_\bt (section 6.3.276  , page 131)''.
 
        _\b6_\b._\b3_\b._\b3_\b6  _\bc_\br_\by_\bp_\bt_\b__\ba_\bu_\bt_\bo_\bs_\bi_\bg_\bn
 
        encryption/signing for messages. See also ``_\b$_\bc_\br_\by_\bp_\bt_\b__\ba_\bu_\bt_\bo_\be_\bn_\bc_\br_\by_\bp_\bt (section
        6.3.34  , page 72)'', ``_\b$_\bc_\br_\by_\bp_\bt_\b__\br_\be_\bp_\bl_\by_\be_\bn_\bc_\br_\by_\bp_\bt (section 6.3.38  , page 73)'',
        ``_\b$_\bc_\br_\by_\bp_\bt_\b__\ba_\bu_\bt_\bo_\bs_\bi_\bg_\bn (section 6.3.36  , page 73)'', ``_\b$_\bc_\br_\by_\bp_\bt_\b__\br_\be_\bp_\bl_\by_\bs_\bi_\bg_\bn (section
-       6.3.39  , page 73)'' and ``_\b$_\bs_\bm_\bi_\bm_\be_\b__\bi_\bs_\b__\bd_\be_\bf_\ba_\bu_\bl_\bt (section 6.3.276  , page 131)''.
+       6.3.39  , page 74)'' and ``_\b$_\bs_\bm_\bi_\bm_\be_\b__\bi_\bs_\b__\bd_\be_\bf_\ba_\bu_\bl_\bt (section 6.3.276  , page 131)''.
 
        _\b6_\b._\b3_\b._\b3_\b8  _\bc_\br_\by_\bp_\bt_\b__\br_\be_\bp_\bl_\by_\be_\bn_\bc_\br_\by_\bp_\bt
 
        Default: yes
 
        If _\bs_\be_\bt, automatically PGP or OpenSSL encrypt replies to messages which are
-       encrypted.  (Crypto only)
 
        The Mutt-ng E-Mail Client                                                    75
 
+       encrypted.  (Crypto only)
+
        _\b6_\b._\b3_\b._\b3_\b9  _\bc_\br_\by_\bp_\bt_\b__\br_\be_\bp_\bl_\by_\bs_\bi_\bg_\bn
 
        Type: boolean
        encrypted. This makes sense in combination with ``_\b$_\bc_\br_\by_\bp_\bt_\b__\br_\be_\bp_\bl_\by_\be_\bn_\bc_\br_\by_\bp_\bt (section
        6.3.38  , page 73)'', because it allows you to sign all messages which are
        automatically encrypted.  This works around the problem noted in
-       ``_\b$_\bc_\br_\by_\bp_\bt_\b__\br_\be_\bp_\bl_\by_\bs_\bi_\bg_\bn (section 6.3.39  , page 73)'', that Mutt-ng is not able to
+       ``_\b$_\bc_\br_\by_\bp_\bt_\b__\br_\be_\bp_\bl_\by_\bs_\bi_\bg_\bn (section 6.3.39  , page 74)'', that Mutt-ng is not able to
        find out whether an encrypted message is also signed.  (Crypto only)
 
        _\b6_\b._\b3_\b._\b4_\b1  _\bc_\br_\by_\bp_\bt_\b__\bt_\bi_\bm_\be_\bs_\bt_\ba_\bm_\bp
 
        Type: quadoption
 
-       Default: yes
-
        The Mutt-ng E-Mail Client                                                    76
 
+       Default: yes
+
        If ``_\by_\be_\bs'', always attempt to verify PGP or S/MIME signatures.  If ``_\ba_\bs_\bk'', ask
        whether or not to verify the signature.  If ``_\bn_\bo'', never attempt to verify
        cryptographic signatures.  (Crypto only)
 
        Default: yes
 
-       If this option is _\bs_\be_\bt, Mutt-ng will untag messages when marking them for dele-
-       tion.  This applies when you either explicitly delete a message, or when you
-
        The Mutt-ng E-Mail Client                                                    77
 
+       If this option is _\bs_\be_\bt, Mutt-ng will untag messages when marking them for dele-
+       tion.  This applies when you either explicitly delete a message, or when you
        save it to another folder.
 
        _\b6_\b._\b3_\b._\b4_\b8  _\bd_\bi_\bg_\be_\bs_\bt_\b__\bc_\bo_\bl_\bl_\ba_\bp_\bs_\be
 
        Type: string
 
-       Default: ''
-
        The Mutt-ng E-Mail Client                                                    78
 
+       Default: ''
+
        N\bNo\bot\bte\be:\b: you should not enable this unless you are using Sendmail 8.8.x or
        greater.
 
 
        _\b6_\b._\b3_\b._\b5_\b7  _\be_\bn_\bv_\be_\bl_\bo_\bp_\be_\b__\bf_\br_\bo_\bm
 
-       Type: boolean
-
        The Mutt-ng E-Mail Client                                                    79
 
+       Type: boolean
+
        Default: no
 
        When _\bs_\be_\bt, Mutt-ng will try to derive the message's _\be_\bn_\bv_\be_\bl_\bo_\bp_\be sender from the
 
        Default: ''
 
-       This variable is a colon-separated list of character encoding schemes for text
-
        The Mutt-ng E-Mail Client                                                    80
 
+       This variable is a colon-separated list of character encoding schemes for text
        file attatchments.  If _\bu_\bn_\bs_\be_\bt, _\b$_\bc_\bh_\ba_\br_\bs_\be_\bt (section 6.3.24  , page 70) value will
        be used instead.  For example, the following configuration would work for
        Japanese text handling:
              %N
                    N if folder has new mail, blank otherwise
 
+       The Mutt-ng E-Mail Client                                                    81
+
              %s
                    size in bytes
 
-       The Mutt-ng E-Mail Client                                                    81
-
              %t
                    * if the file is tagged, blank otherwise
 
 
        Default: no
 
-       This variable is similar to ``_\b$_\bs_\ba_\bv_\be_\b__\bn_\ba_\bm_\be (section 6.3.240  , page 123)'',
-       except that Mutt-ng will store a copy of your outgoing message by the username
-
        The Mutt-ng E-Mail Client                                                    82
 
+       This variable is similar to ``_\b$_\bs_\ba_\bv_\be_\b__\bn_\ba_\bm_\be (section 6.3.240  , page 123)'',
+       except that Mutt-ng will store a copy of your outgoing message by the username
        of the address you are sending to even if that mailbox does not exist.
 
        Also see the ``_\b$_\br_\be_\bc_\bo_\br_\bd (section 6.3.229  , page 120)'' variable.
 
        Default: no
 
-       When _\bs_\be_\bt forwarded messages included in the main body of the message (when
-       ``_\b$_\bm_\bi_\bm_\be_\b__\bf_\bo_\br_\bw_\ba_\br_\bd (section 6.3.135  , page 97)'' is _\bu_\bn_\bs_\be_\bt) will be quoted using
-
        The Mutt-ng E-Mail Client                                                    83
 
-       ``_\b$_\bi_\bn_\bd_\be_\bn_\bt_\b__\bs_\bt_\br_\bi_\bn_\bg (section 6.3.108  , page 89)''.
+       When _\bs_\be_\bt forwarded messages included in the main body of the message (when
+       ``_\b$_\bm_\bi_\bm_\be_\b__\bf_\bo_\br_\bw_\ba_\br_\bd (section 6.3.135  , page 97)'' is _\bu_\bn_\bs_\be_\bt) will be quoted using
+       ``_\b$_\bi_\bn_\bd_\be_\bn_\bt_\b__\bs_\bt_\br_\bi_\bn_\bg (section 6.3.108  , page 90)''.
 
        _\b6_\b._\b3_\b._\b7_\b3  _\bf_\br_\bo_\bm
 
 
        This variable contains a default from address.  It can be overridden using
        my_hdr (including from send-hooks) and ``_\b$_\br_\be_\bv_\be_\br_\bs_\be_\b__\bn_\ba_\bm_\be (section 6.3.235  , page
-       121)''.  This variable is ignored if ``_\b$_\bu_\bs_\be_\b__\bf_\br_\bo_\bm (section 6.3.324  , page
+       122)''.  This variable is ignored if ``_\b$_\bu_\bs_\be_\b__\bf_\br_\bo_\bm (section 6.3.324  , page
        144)'' is unset.
 
        E.g. you can use send-hook Mutt-ng-devel@lists.berlios.de 'my_hdr From: Foo Bar
 
        Type: boolean
 
-       Default: no
-
        The Mutt-ng E-Mail Client                                                    84
 
+       Default: no
+
        When _\bs_\be_\bt, this variable causes Mutt-ng to include the header of the message you
        are replying to into the edit buffer.  The ``_\b$_\bw_\be_\be_\bd (section 6.3.330  , page
        145)'' setting applies.
 
        Availability: Header Cache
 
-       The _\b$_\bh_\be_\ba_\bd_\be_\br_\b__\bc_\ba_\bc_\bh_\be (section 6.3.77  , page 82) variable points to the header
+       The _\b$_\bh_\be_\ba_\bd_\be_\br_\b__\bc_\ba_\bc_\bh_\be (section 6.3.77  , page 83) variable points to the header
        cache database.
 
-       If _\b$_\bh_\be_\ba_\bd_\be_\br_\b__\bc_\ba_\bc_\bh_\be (section 6.3.77  , page 82) points to a directory it will con-
+       If _\b$_\bh_\be_\ba_\bd_\be_\br_\b__\bc_\ba_\bc_\bh_\be (section 6.3.77  , page 83) points to a directory it will con-
        tain a header cache database  per folder. If _\b$_\bh_\be_\ba_\bd_\be_\br_\b__\bc_\ba_\bc_\bh_\be (section 6.3.77  ,
-       page 82) points to a file that file will be a single global header cache. By
+       page 83) points to a file that file will be a single global header cache. By
        default it is _\bu_\bn_\bs_\be_\bt so no header caching will be used.
 
        _\b6_\b._\b3_\b._\b7_\b8  _\bh_\be_\ba_\bd_\be_\br_\b__\bc_\ba_\bc_\bh_\be_\b__\bc_\bo_\bm_\bp_\br_\be_\bs_\bs
        Default: no
 
        When _\bs_\be_\bt, Mutt-ng will skip the host name part of ``_\b$_\bh_\bo_\bs_\bt_\bn_\ba_\bm_\be (section
-       6.3.88  , page 85)'' variable when adding the domain part to addresses.  This
-       variable does not affect the generation of Message-ID: header fields, and it
 
        The Mutt-ng E-Mail Client                                                    85
 
+       6.3.88  , page 85)'' variable when adding the domain part to addresses.  This
+       variable does not affect the generation of Message-ID: header fields, and it
        will not lead to the cut-off of first-level domains.
 
        _\b6_\b._\b3_\b._\b8_\b1  _\bh_\bi_\bd_\be_\b__\bl_\bi_\bm_\bi_\bt_\be_\bd
 
        When _\bs_\be_\bt, Mutt-ng will not show the presence of missing messages at the top of
        threads in the thread tree.  Note that when _\b$_\bh_\bi_\bd_\be_\b__\bl_\bi_\bm_\bi_\bt_\be_\bd (section 6.3.81  ,
-       page 83) is _\bs_\be_\bt, this option will have no effect.
+       page 84) is _\bs_\be_\bt, this option will have no effect.
 
        _\b6_\b._\b3_\b._\b8_\b6  _\bh_\bi_\bs_\bt_\bo_\br_\by
 
        Type: number
 
-       Default: 10
-
        The Mutt-ng E-Mail Client                                                    86
 
+       Default: 10
+
        This variable controls the size (in number of strings remembered) of the string
        history buffer. The buffer is cleared each time the variable is changed.
 
        capability string, e.g. ``digest-md5'', ``gssapi'' or ``cram-md5''. This param-
        eter is case-insensitive.
 
+       The Mutt-ng E-Mail Client                                                    87
+
        If this parameter is _\bu_\bn_\bs_\be_\bt (the default) Mutt-ng will try all available meth-
        ods, in order from most-secure to least-secure.
 
-       The Mutt-ng E-Mail Client                                                    87
-
        Example: set imap_authenticators='gssapi:cram-md5:login'
 
        N\bNo\bot\bte\be:\b: Mutt-ng will only fall back to other authentication methods if the previ-
 
        Availability: IMAP
 
-       You normally want to see your personal folders alongside your INBOX in the IMAP
-       browser. If you see something else, you may set this variable to the IMAP path
-
        The Mutt-ng E-Mail Client                                                    88
 
+       You normally want to see your personal folders alongside your INBOX in the IMAP
+       browser. If you see something else, you may set this variable to the IMAP path
        to your folders.
 
        _\b6_\b._\b3_\b._\b9_\b5  _\bi_\bm_\ba_\bp_\b__\bk_\be_\be_\bp_\ba_\bl_\bi_\bv_\be
 
        Default: 300
 
-       This variable configures how often (in seconds) Mutt-ng should look for new
-       mail in IMAP folders. This is split from the ``_\bm_\ba_\bi_\bl_\b__\bc_\bh_\be_\bc_\bk (section 6.3.114  ,
-
        The Mutt-ng E-Mail Client                                                    89
 
+       This variable configures how often (in seconds) Mutt-ng should look for new
+       mail in IMAP folders. This is split from the ``_\bm_\ba_\bi_\bl_\b__\bc_\bh_\be_\bc_\bk (section 6.3.114  ,
        page 93)'' variable to generate less traffic and get more accurate information
        for local folders.
 
 
        Availability: IMAP
 
+       The Mutt-ng E-Mail Client                                                    90
+
        Controls whether or not Mutt-ng will try to reconnect to IMAP server when the
        connection is lost.
 
-       The Mutt-ng E-Mail Client                                                    90
-
        _\b6_\b._\b3_\b._\b1_\b0_\b3  _\bi_\bm_\ba_\bp_\b__\bs_\be_\br_\bv_\be_\br_\bn_\bo_\bi_\bs_\be
 
        Type: boolean
 
        Default: no
 
+       The Mutt-ng E-Mail Client                                                    91
+
        Controls whether or not Mutt-ng includes only the first attachment of the mes-
        sage you are replying.
 
-       The Mutt-ng E-Mail Client                                                    91
-
        _\b6_\b._\b3_\b._\b1_\b0_\b8  _\bi_\bn_\bd_\be_\bn_\bt_\b__\bs_\bt_\br_\bi_\bn_\bg
 
        Type: string
                    date and time of the message in the format specified by ``date_for-
                    mat'' converted to the local time zone
 
+       The Mutt-ng E-Mail Client                                                    92
+
              %e
                    current message number in thread
 
-       The Mutt-ng E-Mail Client                                                    92
-
              %E
                    number of messages in current thread
 
              %t
                    `to:' field (recipients)
 
-             %T
-                   the appropriate character from the _\b$_\bt_\bo_\b__\bc_\bh_\ba_\br_\bs (section 6.3.317  ,
-
        The Mutt-ng E-Mail Client                                                    93
 
+             %T
+                   the appropriate character from the _\b$_\bt_\bo_\b__\bc_\bh_\ba_\br_\bs (section 6.3.317  ,
                    page 142) string
 
              %u
 
        _\b6_\b._\b3_\b._\b1_\b1_\b0  _\bi_\bs_\bp_\be_\bl_\bl
 
-       Type: path
-
        The Mutt-ng E-Mail Client                                                    94
 
+       Type: path
+
        Default: 'ispell'
 
        How to invoke ispell (GNU's spell-checking software).
        Default: ''
 
        This variable specifies which files to consult when attempting to display MIME
-       bodies not directly supported by Mutt-ng.
 
        The Mutt-ng E-Mail Client                                                    95
 
+       bodies not directly supported by Mutt-ng.
+
        _\b6_\b._\b3_\b._\b1_\b1_\b6  _\bm_\ba_\bi_\bl_\bc_\ba_\bp_\b__\bs_\ba_\bn_\bi_\bt_\bi_\bz_\be
 
        Type: boolean
        up with an 'O' next to them in the ``index'' menu, indicating that they are
        old.
 
+       The Mutt-ng E-Mail Client                                                    96
+
        _\b6_\b._\b3_\b._\b1_\b2_\b0  _\bm_\ba_\br_\bk_\be_\br_\bs
 
        Type: boolean
 
-       The Mutt-ng E-Mail Client                                                    96
-
        Default: yes
 
        Controls the display of wrapped lines in the internal pager. If set, a ``+''
        When _\bs_\be_\bt, the maximum line length for displaying ``format = flowed'' messages
        is limited to this length. A value of 0 (which is also the default) means that
        the maximum line length is determined by the terminal width and _\b$_\bw_\br_\ba_\bp_\bm_\ba_\br_\bg_\bi_\bn
-       (section 6.3.332  , page 145).
+       (section 6.3.332  , page 146).
 
        _\b6_\b._\b3_\b._\b1_\b2_\b3  _\bm_\bb_\bo_\bx
 
        Default: '~/mbox'
 
        This specifies the folder into which read mail in your ``_\b$_\bs_\bp_\bo_\bo_\bl_\bf_\bi_\bl_\be (section
-       6.3.294  , page 135)'' folder will be appended.
+       6.3.294  , page 136)'' folder will be appended.
 
        _\b6_\b._\b3_\b._\b1_\b2_\b4  _\bm_\bb_\bo_\bx_\b__\bt_\by_\bp_\be
 
 
        Default: 0
 
+       The Mutt-ng E-Mail Client                                                    97
+
        This variable controls the number of lines of context that are given when
        scrolling through menus. (Similar to ``_\b$_\bp_\ba_\bg_\be_\br_\b__\bc_\bo_\bn_\bt_\be_\bx_\bt (section 6.3.166  , page
        106)''.)
 
-       The Mutt-ng E-Mail Client                                                    97
-
        _\b6_\b._\b3_\b._\b1_\b2_\b6  _\bm_\be_\bn_\bu_\b__\bm_\bo_\bv_\be_\b__\bo_\bf_\bf
 
        Type: boolean
 
        Default: no
 
+       The Mutt-ng E-Mail Client                                                    98
+
        If _\bu_\bn_\bs_\be_\bt, Mutt-ng will remove your address (see the ``alternates'' command)
        from the list of recipients when replying to a message.
 
-       The Mutt-ng E-Mail Client                                                    98
-
        _\b6_\b._\b3_\b._\b1_\b3_\b1  _\bm_\bh_\b__\bp_\bu_\br_\bg_\be
 
        Type: boolean
        Also see ``_\b$_\bf_\bo_\br_\bw_\ba_\br_\bd_\b__\bd_\be_\bc_\bo_\bd_\be (section 6.3.68  , page 81)'' and ``_\b$_\bm_\bi_\bm_\be_\b__\bf_\bo_\br_\b-
        _\bw_\ba_\br_\bd_\b__\bd_\be_\bc_\bo_\bd_\be (section 6.3.136  , page 97)''.
 
+       The Mutt-ng E-Mail Client                                                    99
+
        _\b6_\b._\b3_\b._\b1_\b3_\b6  _\bm_\bi_\bm_\be_\b__\bf_\bo_\br_\bw_\ba_\br_\bd_\b__\bd_\be_\bc_\bo_\bd_\be
 
        Type: boolean
 
-       The Mutt-ng E-Mail Client                                                    99
-
        Default: no
 
        Controls the decoding of complex MIME messages into text/plain when forwarding
        used with various sets of parameters to gather the list of known remailers, and
        to finally send a message through the mixmaster chain.
 
+       The Mutt-ng E-Mail Client                                                   100
+
        _\b6_\b._\b3_\b._\b1_\b4_\b0  _\bm_\bo_\bv_\be
 
        Type: quadoption
 
-       The Mutt-ng E-Mail Client                                                   100
-
        Default: ask-no
 
        Controls whether or not Mutt-ng will move read messages from your spool mailbox
              %T
                    the current UNIX timestamp (decimal)
 
+       The Mutt-ng E-Mail Client                                                   101
+
              %X
                    the current UNIX timestamp (hexadecimal)
 
-       The Mutt-ng E-Mail Client                                                   101
-
              %Y
                    the current year (Y2K compliant)
 
        ers. If _\bu_\bn_\bs_\be_\bt, headers will not be saved at all and will be reloaded each time
        when you enter a newsgroup.
 
+       The Mutt-ng E-Mail Client                                                   102
+
        As for the header caching in connection with IMAP and/or Maildir, this drasti-
        cally increases speed and lowers traffic.
 
-       The Mutt-ng E-Mail Client                                                   102
-
        _\b6_\b._\b3_\b._\b1_\b4_\b6  _\bn_\bn_\bt_\bp_\b__\bc_\ba_\bt_\bc_\bh_\bu_\bp
 
        Type: quadoption
        of tagged messages Mutt-ng will concatenate the messages and will pipe them as
        a single folder.  When _\bs_\be_\bt, Mutt-ng will pipe the messages one by one.  In both
        cases the messages are piped in the current sorted order, and the ``_\b$_\bp_\bi_\bp_\be_\b__\bs_\be_\bp
-       (section 6.3.200  , page 113)'' separator is added after each message.
+       (section 6.3.200  , page 114)'' separator is added after each message.
 
        _\b6_\b._\b3_\b._\b2_\b0_\b2  _\bp_\bo_\bp_\b__\ba_\bu_\bt_\bh_\b__\bt_\br_\by_\b__\ba_\bl_\bl
 
        The Mutt-ng E-Mail Client                                                   118
 
        Controls whether or not messages are saved in the ``_\b$_\bp_\bo_\bs_\bt_\bp_\bo_\bn_\be_\bd (section
-       6.3.213  , page 116)'' mailbox when you elect not to send immediately.
+       6.3.213  , page 117)'' mailbox when you elect not to send immediately.
 
        _\b6_\b._\b3_\b._\b2_\b1_\b3  _\bp_\bo_\bs_\bt_\bp_\bo_\bn_\be_\bd
 
        Default: yes
 
        Controls whether or not empty lines will be quoted using ``_\bi_\bn_\bd_\be_\bn_\bt_\b__\bs_\bt_\br_\bi_\bn_\bg (sec-
-       tion 6.3.108  , page 89)''.
+       tion 6.3.108  , page 90)''.
 
        _\b6_\b._\b3_\b._\b2_\b2_\b3  _\bq_\bu_\bo_\bt_\be_\b__\bq_\bu_\bo_\bt_\be_\bd
 
 
        Controls how quoted lines will be quoted. If _\bs_\be_\bt, one quote character will be
        added to the end of existing prefix.  Otherwise, quoted lines will be prepended
-       by ``_\bi_\bn_\bd_\be_\bn_\bt_\b__\bs_\bt_\br_\bi_\bn_\bg (section 6.3.108  , page 89)''.
+       by ``_\bi_\bn_\bd_\be_\bn_\bt_\b__\bs_\bt_\br_\bi_\bn_\bg (section 6.3.108  , page 90)''.
 
        _\b6_\b._\b3_\b._\b2_\b2_\b4  _\bq_\bu_\bo_\bt_\be_\b__\br_\be_\bg_\be_\bx_\bp
 
        By default, this is the GECOS field from /etc/passwd.
 
        _\bN_\bo_\bt_\be_\b: This variable will _\bn_\bo_\bt be used when the user has set a real name in the
-       _\b$_\bf_\br_\bo_\bm (section 6.3.73  , page 81) variable.
+       _\b$_\bf_\br_\bo_\bm (section 6.3.73  , page 82) variable.
 
        _\b6_\b._\b3_\b._\b2_\b2_\b8  _\br_\be_\bc_\ba_\bl_\bl
 
        Default: ask-yes
 
        Controls whether or not Mutt-ng recalls postponed messages when composing a new
-       message.  Also see ``_\b$_\bp_\bo_\bs_\bt_\bp_\bo_\bn_\be_\bd (section 6.3.213  , page 116)''.
+       message.  Also see ``_\b$_\bp_\bo_\bs_\bt_\bp_\bo_\bn_\be_\bd (section 6.3.213  , page 117)''.
 
        Setting this variable to _\by_\be_\bs is not generally useful, and thus not recommended.
 
        Default: yes
 
        This variable fine-tunes the behaviour of the _\br_\be_\bv_\be_\br_\bs_\be_\b__\bn_\ba_\bm_\be (section 6.3.235  ,
-       page 121) feature.  When it is _\bs_\be_\bt, Mutt-ng will use the address from incoming
+       page 122) feature.  When it is _\bs_\be_\bt, Mutt-ng will use the address from incoming
        messages as-is, possibly including eventual real names.  When it is _\bu_\bn_\bs_\be_\bt,
        Mutt-ng will override any such real names with the setting of the _\br_\be_\ba_\bl_\bn_\ba_\bm_\be
-       (section 6.3.227  , page 119) variable.
+       (section 6.3.227  , page 120) variable.
 
        _\b6_\b._\b3_\b._\b2_\b3_\b7  _\br_\bf_\bc_\b2_\b0_\b4_\b7_\b__\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs
 
        Default: yes
 
        When _\bu_\bn_\bs_\be_\bt, mailboxes which contain no saved messages will be removed when
-       closed (the exception is ``_\b$_\bs_\bp_\bo_\bo_\bl_\bf_\bi_\bl_\be (section 6.3.294  , page 135)'' which is
+       closed (the exception is ``_\b$_\bs_\bp_\bo_\bo_\bl_\bf_\bi_\bl_\be (section 6.3.294  , page 136)'' which is
        never removed).  If _\bs_\be_\bt, mailboxes are never removed.
 
        N\bNo\bot\bte\be:\b: This only applies to mbox and MMDF folders, Mutt-ng does not delete MH
 
              %C
                    CA location:  Depending on whether _\b$_\bs_\bm_\bi_\bm_\be_\b__\bc_\ba_\b__\bl_\bo_\bc_\ba_\bt_\bi_\bo_\bn (section
-                   6.3.265  , page 128) points to a directory or file, this expands to
-                   '-CApath _\b$_\bs_\bm_\bi_\bm_\be_\b__\bc_\ba_\b__\bl_\bo_\bc_\ba_\bt_\bi_\bo_\bn (section 6.3.265  , page 128)' or
-                   '-CAfile _\b$_\bs_\bm_\bi_\bm_\be_\b__\bc_\ba_\b__\bl_\bo_\bc_\ba_\bt_\bi_\bo_\bn (section 6.3.265  , page 128)'.
+                   6.3.265  , page 129) points to a directory or file, this expands to
+                   '-CApath _\b$_\bs_\bm_\bi_\bm_\be_\b__\bc_\ba_\b__\bl_\bo_\bc_\ba_\bt_\bi_\bo_\bn (section 6.3.265  , page 129)' or
+                   '-CAfile _\b$_\bs_\bm_\bi_\bm_\be_\b__\bc_\ba_\b__\bl_\bo_\bc_\ba_\bt_\bi_\bo_\bn (section 6.3.265  , page 129)'.
 
        The Mutt-ng E-Mail Client                                                   131
 
 
        When sorting by threads, this variable controls how threads are sorted in rela-
        tion to other threads, and how the branches of the thread trees are sorted.
-       This can be set to any value that ``_\b$_\bs_\bo_\br_\bt (section 6.3.288  , page 133)'' can,
+       This can be set to any value that ``_\b$_\bs_\bo_\br_\bt (section 6.3.288  , page 134)'' can,
        except threads (in that case, Mutt-ng will just use date-sent).  You can also
        specify the ``last-'' prefix in addition to ``reverse-'' prefix, but last- must
        come after reverse-.  The last- prefix causes messages to be sorted against its
 
        first, if you have set sort=reverse-threads.)
 
-       N\bNo\bot\bte\be:\b: For reversed ``_\b$_\bs_\bo_\br_\bt (section 6.3.288  , page 133)'' order _\b$_\bs_\bo_\br_\bt_\b__\ba_\bu_\bx
+       N\bNo\bot\bte\be:\b: For reversed ``_\b$_\bs_\bo_\br_\bt (section 6.3.288  , page 134)'' order _\b$_\bs_\bo_\br_\bt_\b__\ba_\bu_\bx
        (section 6.3.290  , page 134) is reversed again (which is not the right thing
        to do, but kept to not break any existing configuration setting).
 
                    to _\b$_\bs_\bt_\ba_\bt_\bu_\bs_\b__\bc_\bh_\ba_\br_\bs (section 6.3.301  , page 137)
 
              %s
-                   current sorting mode (_\b$_\bs_\bo_\br_\bt (section 6.3.288  , page 133))
+                   current sorting mode (_\b$_\bs_\bo_\br_\bt (section 6.3.288  , page 134))
 
              %S
                    current aux sorting method (_\b$_\bs_\bo_\br_\bt_\b__\ba_\bu_\bx (section 6.3.290  , page
        Default: no
 
        If _\bs_\be_\bt, threading will only make use of the ``In-Reply-To:'' and ``Refer-
-       ences:'' header fields when you ``_\b$_\bs_\bo_\br_\bt (section 6.3.288  , page 133)'' by mes-
+       ences:'' header fields when you ``_\b$_\bs_\bo_\br_\bt (section 6.3.288  , page 134)'' by mes-
        sage threads.  By default, messages with the same subject are grouped together
        in ``pseudo threads.''  This may not always be desirable, such as in a personal
        mailbox where you might have several unrelated messages with the subject ``hi''
 
        Default: '\([Ww][Aa][RrSs]: .*\)[ ]*$'
 
-       When non-empty and _\b$_\bs_\bt_\br_\bi_\bp_\b__\bw_\ba_\bs (section 6.3.307  , page 140) is _\bs_\be_\bt, mutt-ng
+       When non-empty and _\b$_\bs_\bt_\br_\bi_\bp_\b__\bw_\ba_\bs (section 6.3.307  , page 141) is _\bs_\be_\bt, mutt-ng
        will remove this trailing part of the ``Subject'' line when replying if it
        won't be empty afterwards.
 
        like ordinary text.  To actually make use of this format's features, you'll
        need support in your editor.
 
-       Note that _\b$_\bi_\bn_\bd_\be_\bn_\bt_\b__\bs_\bt_\br_\bi_\bn_\bg (section 6.3.108  , page 89) is ignored when this
+       Note that _\b$_\bi_\bn_\bd_\be_\bn_\bt_\b__\bs_\bt_\br_\bi_\bn_\bg (section 6.3.108  , page 90) is ignored when this
        option is set.
 
        _\b6_\b._\b3_\b._\b3_\b1_\b2  _\bt_\bh_\bo_\br_\bo_\bu_\bg_\bh_\b__\bs_\be_\ba_\br_\bc_\bh
        Default: 'M%?n?AIL&ail?'
 
        Controls the format of the X11 icon title, as long as _\b$_\bx_\bt_\be_\br_\bm_\b__\bs_\be_\bt_\b__\bt_\bi_\bt_\bl_\be_\bs (sec-
-       tion 6.3.337  , page 146) is _\bs_\be_\bt. This string is identical in formatting to the
+       tion 6.3.337  , page 147) is _\bs_\be_\bt. This string is identical in formatting to the
        one used by ``_\b$_\bs_\bt_\ba_\bt_\bu_\bs_\b__\bf_\bo_\br_\bm_\ba_\bt (section 6.3.302  , page 137)''.
 
        _\b6_\b._\b3_\b._\b3_\b3_\b6  _\bx_\bt_\be_\br_\bm_\b__\bl_\be_\ba_\bv_\be
 
        Default: ''
 
-       If _\b$_\bx_\bt_\be_\br_\bm_\b__\bs_\be_\bt_\b__\bt_\bi_\bt_\bl_\be_\bs (section 6.3.337  , page 146) is _\bs_\be_\bt, this string will be
+       If _\b$_\bx_\bt_\be_\br_\bm_\b__\bs_\be_\bt_\b__\bt_\bi_\bt_\bl_\be_\bs (section 6.3.337  , page 147) is _\bs_\be_\bt, this string will be
        used to set the title when leaving mutt-ng. For terminal-based programs,
        there's no easy and portable way to read the current title so mutt-ng cannot
        read it upon startup and restore it when exiting.
        Default: 'Mutt-ng with %?m?%m messages&no messages?%?n? [%n New]?'
 
        Controls the format of the title bar of the xterm provided that
-       _\b$_\bx_\bt_\be_\br_\bm_\b__\bs_\be_\bt_\b__\bt_\bi_\bt_\bl_\be_\bs (section 6.3.337  , page 146) has been _\bs_\be_\bt. This string is
+       _\b$_\bx_\bt_\be_\br_\bm_\b__\bs_\be_\bt_\b__\bt_\bi_\bt_\bl_\be_\bs (section 6.3.337  , page 147) has been _\bs_\be_\bt. This string is
        identical in formatting to the one used by ``_\b$_\bs_\bt_\ba_\bt_\bu_\bs_\b__\bf_\bo_\br_\bm_\ba_\bt (section 6.3.302  ,
        page 137)''.
 
 
        Andreas Kneib <akneib@gmx.net>
 
+       Carsten Schoelzki <cjs@weisshuhn.de>
+
+       Elimar Riesebieter <riesebie@lxtec.de>
+
        _\b7_\b._\b2  _\bA_\bb_\bo_\bu_\bt _\bt_\bh_\bi_\bs _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt
 
+       The Mutt-ng E-Mail Client                                                   159
+
        This document was written in SGML, and then rendered using the sgml-tools pack-
        age.
 
-       The Mutt-ng E-Mail Client                                                   159
+       The Mutt-ng E-Mail Client                                                   160
 
                                           CONTENTS
 
diff --git a/hash.c b/hash.c
index 77fc7e8..f042589 100644 (file)
--- a/hash.c
+++ b/hash.c
@@ -126,24 +126,23 @@ void *hash_find_hash (const HASH * table, int hash, const char *key)
   return NULL;
 }
 
-void hash_delete_hash (HASH * table, int hash, const char *key,
-                       const void *data, void (*destroy) (void *))
+void hash_delete_hash (HASH * table, int hash, const char *key, const void *data,
+                       void (*destroy) (void *))
 {
   struct hash_elem *ptr = table->table[hash];
   struct hash_elem **last = &table->table[hash];
 
-  for (; ptr; last = &ptr->next, ptr = ptr->next) {
-    /* if `data' is given, look for a matching ->data member.  this is
-     * required for the case where we have multiple entries with the same
-     * key
-     */
-    if ((data == ptr->data) || (!data && mutt_strcmp (ptr->key, key) == 0)) {
+  while (ptr) {
+    if ((data == ptr->data || !data) && mutt_strcmp (ptr->key, key) == 0) {
       *last = ptr->next;
       if (destroy)
         destroy (ptr->data);
       FREE (&ptr);
-      table->curnelem--;
-      return;
+
+      ptr = *last;
+    } else {
+      last = &ptr->next;
+      ptr = ptr->next;
     }
   }
 }
index 0f2e13a..4291713 100644 (file)
@@ -78,10 +78,6 @@ int imap_read_headers (IMAP_DATA * idata, int msgbegin, int msgend)
 
   ctx = idata->ctx;
 
-#if USE_HCACHE
-  hc = mutt_hcache_open (HeaderCache, ctx->path);
-#endif /* USE_HCACHE */
-
   if (mutt_bit_isset (idata->capabilities, IMAP4REV1)) {
     snprintf (hdrreq, sizeof (hdrreq), "BODY.PEEK[HEADER.FIELDS (%s%s%s)]",
               want_headers, ImapHeaders ? " " : "",
@@ -96,9 +92,6 @@ int imap_read_headers (IMAP_DATA * idata, int msgbegin, int msgend)
     mutt_error _("Unable to fetch headers from this IMAP server version.");
 
     mutt_sleep (2);             /* pause a moment to let the user see the error */
-#if USE_HCACHE
-    mutt_hcache_close (hc);
-#endif /* USE_HCACHE */
     return -1;
   }
 
@@ -108,9 +101,6 @@ int imap_read_headers (IMAP_DATA * idata, int msgbegin, int msgend)
   if (!(fp = safe_fopen (tempfile, "w+"))) {
     mutt_error (_("Could not create temporary file %s"), tempfile);
     mutt_sleep (2);
-#if USE_HCACHE
-    mutt_hcache_close (hc);
-#endif /* USE_HCACHE */
     return -1;
   }
   unlink (tempfile);
@@ -124,6 +114,8 @@ int imap_read_headers (IMAP_DATA * idata, int msgbegin, int msgend)
   idata->newMailCount = 0;
 
 #if USE_HCACHE
+  hc = mutt_hcache_open (HeaderCache, ctx->path);
+
   snprintf (buf, sizeof (buf),
             "FETCH %d:%d (UID FLAGS)", msgbegin + 1, msgend + 1);
   fetchlast = msgend + 1;
@@ -158,11 +150,10 @@ int imap_read_headers (IMAP_DATA * idata, int msgbegin, int msgend)
         (unsigned long *) mutt_hcache_fetch (hc, uid_buf, &imap_hcache_keylen);
 
       if (uid_validity != NULL && *uid_validity == idata->uid_validity) {
-        ctx->hdrs[msgno] =
-          mutt_hcache_restore ((unsigned char *) uid_validity, 0);
+        ctx->hdrs[msgno] = mutt_hcache_restore((unsigned char *) uid_validity, 0);
         ctx->hdrs[msgno]->index = h.sid - 1;
         if (h.sid != ctx->msgcount + 1)
-          debug_print (1, ("msgcount and sequence ID are inconsistent!\n"));
+          debug_print (1, ("imap_read_headers: msgcount and sequence ID are inconsistent!"));
         /* messages which have not been expunged are ACTIVE (borrowed from mh 
          * folders) */
         ctx->hdrs[msgno]->active = 1;
@@ -177,6 +168,7 @@ int imap_read_headers (IMAP_DATA * idata, int msgbegin, int msgend)
 
         ctx->msgcount++;
       }
+
       rewind (fp);
 
       FREE (&uid_validity);
@@ -320,6 +312,7 @@ int imap_fetch_message (MESSAGE * msg, CONTEXT * ctx, int msgno)
 {
   IMAP_DATA *idata;
   HEADER *h;
+  ENVELOPE* newenv;
   char buf[LONG_STRING];
   char path[_POSIX_PATH_MAX];
   char *pc;
@@ -446,21 +439,8 @@ int imap_fetch_message (MESSAGE * msg, CONTEXT * ctx, int msgno)
    * picked up in mutt_read_rfc822_header, we mark the message (and context
    * changed). Another possiblity: ignore Status on IMAP?*/
   read = h->read;
-  /* I hate do this here, since it's so low-level, but I'm not sure where
-   * I can abstract it. Problem: the id and subj hashes lose their keys when
-   * mutt_free_envelope gets called, but keep their spots in the hash. This
-   * confuses threading. Alternatively we could try to merge the new
-   * envelope into the old one. Also messy and lowlevel. */
-  if (ctx->id_hash && h->env->message_id)
-    hash_delete (ctx->id_hash, h->env->message_id, h, NULL);
-  if (ctx->subj_hash && h->env->real_subj)
-    hash_delete (ctx->subj_hash, h->env->real_subj, h, NULL);
-  mutt_free_envelope (&h->env);
-  h->env = mutt_read_rfc822_header (msg->fp, h, 0, 0);
-  if (ctx->id_hash && h->env->message_id)
-    hash_insert (ctx->id_hash, h->env->message_id, h, 0);
-  if (ctx->subj_hash && h->env->real_subj)
-    hash_insert (ctx->subj_hash, h->env->real_subj, h, 1);
+  newenv = mutt_read_rfc822_header (msg->fp, h, 0, 0);
+  mutt_merge_envelopes(h->env, &newenv);
 
   /* see above. We want the new status in h->read, so we unset it manually
    * and let mutt_set_flag set it correctly, updating context. */
diff --git a/init.c b/init.c
index 7ffb37c..079ecc7 100644 (file)
--- a/init.c
+++ b/init.c
@@ -32,6 +32,7 @@
 #include "lib/intl.h"
 #include "lib/str.h"
 #include "lib/rx.h"
+#include "lib/list.h"
 #include "lib/debug.h"
 
 #include <ctype.h>
@@ -2325,3 +2326,50 @@ int mutt_get_hook_type (const char *name)
       return c->data;
   return 0;
 }
+
+static int opt_cmp (const void* a, const void* b) {
+  return (mutt_strcmp ((*(struct option_t**) a)->option,
+                       (*(struct option_t**) b)->option));
+}
+
+/* dump out the value of all the variables we have */
+int mutt_dump_variables (void) {
+  int i;
+
+  char errbuff[STRING];
+  char command[STRING];
+  list2_t* tmp = NULL;
+
+  BUFFER err, token;
+
+  memset (&err, 0, sizeof (err));
+  memset (&token, 0, sizeof (token));
+
+  err.data = errbuff;
+  err.dsize = sizeof (errbuff);
+
+  /* get all non-synonyms into list... */
+  for (i = 0; MuttVars[i].option; i++) {
+    if (MuttVars[i].type == DT_SYN)
+      continue;
+    list_push_back (&tmp, &MuttVars[i]);
+  }
+  if (!list_empty(tmp)) {
+    /* ...and dump list sorted */
+    qsort (tmp->data, tmp->length, sizeof (void*), opt_cmp);
+    for (i = 0; i < tmp->length; i++) {
+      snprintf (command, sizeof (command), "set ?%s\n",
+                ((struct option_t*) tmp->data[i])->option);
+      if (mutt_parse_rc_line (command, &token, &err) == -1) {
+        fprintf (stderr, "%s\n", err.data);
+        FREE (&token.data);
+        list_del (&tmp, NULL);
+        return 1;
+      }
+      printf("%s\n", err.data);
+    }
+  }
+  FREE (&token.data);
+  list_del (&tmp, NULL);
+  return 0;
+}
diff --git a/init.h b/init.h
index 5886c78..b839d0b 100644 (file)
--- a/init.h
+++ b/init.h
@@ -1668,7 +1668,7 @@ struct option_t MuttVars[] = {
    **
    ** .pp
    ** This variable controls how many news articles to cache per newsgroup
-   ** (if caching is enabled, see $$news_cache_dir) and how many news articles
+   ** (if caching is enabled, see $$nntp_cache_dir) and how many news articles
    ** to show in the ``index'' menu.
    ** .pp
    ** If there're more articles than defined with $$nntp_context, all older ones
diff --git a/main.c b/main.c
index 2c4a49d..cee557d 100644 (file)
--- a/main.c
+++ b/main.c
@@ -110,6 +110,7 @@ static void mutt_usage (void)
     ("usage: muttng [ -nRyzZ ] [ -e <cmd> ] [ -F <file> ] [ -m <type> ] [ -f <file> ]\n\
        muttng [ -nR ] [ -e <cmd> ] [ -F <file> ] -Q <query> [ -Q <query> ] [...]\n\
        muttng [ -nR ] [ -e <cmd> ] [ -F <file> ] -A <alias> [ -A <alias> ] [...]\n\
+       muttng [ -nR ] [ -e <cmd> ] [ -F <file> ] -D\n\
        muttng [ -nx ] [ -e <cmd> ] [ -a <file> ] [ -F <file> ] [ -H <file> ] [ -i <file> ] [ -s <subj> ] [ -b <addr> ] [ -c <addr> ] <addr> [ ... ]\n\
        muttng [ -n ] [ -e <cmd> ] [ -F <file> ] -p\n\
        muttng -v[v]\n\
@@ -119,6 +120,7 @@ options:\n\
   -a <file>\tattach a file to the message\n\
   -b <address>\tspecify a blind carbon-copy (BCC) address\n\
   -c <address>\tspecify a carbon-copy (CC) address\n\
+  -D\t\tprint the value of all variables to stdout\n\
   -e <command>\tspecify a command to be executed after initialization\n\
   -f <file>\tspecify which mailbox to read\n\
   -F <file>\tspecify an alternate muttrc file\n\
@@ -502,6 +504,7 @@ int main (int argc, char **argv)
   int version = 0;
   int i;
   int explicit_folder = 0;
+  int dump_variables = 0;
   extern char *optarg;
   extern int optind;
 
@@ -535,10 +538,10 @@ int main (int argc, char **argv)
 #ifdef USE_NNTP
   while ((i =
           getopt (argc, argv,
-                  "A:a:b:F:f:c:d:e:g:GH:s:i:hm:npQ:RvxyzZ")) != EOF)
+                  "A:a:b:F:f:c:Dd:e:g:GH:s:i:hm:npQ:RvxyzZ")) != EOF)
 #else
   while ((i =
-          getopt (argc, argv, "A:a:b:F:f:c:d:e:H:s:i:hm:npQ:RvxyzZ")) != EOF)
+          getopt (argc, argv, "A:a:b:F:f:c:Dd:e:H:s:i:hm:npQ:RvxyzZ")) != EOF)
 #endif
     switch (i) {
     case 'A':
@@ -583,6 +586,10 @@ int main (int argc, char **argv)
 #endif
       break;
 
+    case 'D':
+      dump_variables = 1;
+      break;
+
     case 'e':
       commands = mutt_add_list (commands, optarg);
       break;
@@ -672,7 +679,7 @@ int main (int argc, char **argv)
   }
 
   /* Check for a batch send. */
-  if (!isatty (0) || queries || alias_queries) {
+  if (!isatty (0) || queries || alias_queries || dump_variables) {
     set_option (OPTNOCURSES);
     sendflags = SENDBATCH;
   }
@@ -692,6 +699,8 @@ int main (int argc, char **argv)
 
   if (queries)
     return mutt_query_variables (queries);
+  if (dump_variables)
+    return (mutt_dump_variables ());
 
   if (alias_queries) {
     int rv = 0;
index 234efd2..9a781dd 100644 (file)
--- a/muttlib.c
+++ b/muttlib.c
@@ -637,6 +637,46 @@ void mutt_free_envelope (ENVELOPE ** p)
   FREE (p);
 }
 
+/* move all the headers from extra not present in base into base */
+void mutt_merge_envelopes(ENVELOPE* base, ENVELOPE** extra)
+{
+  /* copies each existing element if necessary, and sets the element
+  * to NULL in the source so that mutt_free_envelope doesn't leave us
+  * with dangling pointers. */
+#define MOVE_ELEM(h) if (!base->h) { base->h = (*extra)->h; (*extra)->h = NULL; }
+  MOVE_ELEM(return_path);
+  MOVE_ELEM(from);
+  MOVE_ELEM(to);
+  MOVE_ELEM(cc);
+  MOVE_ELEM(bcc);
+  MOVE_ELEM(sender);
+  MOVE_ELEM(reply_to);
+  MOVE_ELEM(mail_followup_to);
+  MOVE_ELEM(list_post);
+  MOVE_ELEM(message_id);
+  MOVE_ELEM(supersedes);
+  MOVE_ELEM(date);
+  MOVE_ELEM(x_label);
+  MOVE_ELEM(references);
+  MOVE_ELEM(in_reply_to);
+  /* real_subj is subordinate to subject */
+  if (!base->subject) {
+    base->subject = (*extra)->subject;
+    base->real_subj = (*extra)->real_subj;
+    (*extra)->subject = NULL;
+    (*extra)->real_subj = NULL;
+  }
+  /* spam and user headers should never be hashed, and the new envelope may
+   * have better values. Use new versions regardless. */
+  mutt_buffer_free (&base->spam);
+  mutt_free_list (&base->userhdrs);
+  MOVE_ELEM(spam);
+  MOVE_ELEM(userhdrs);
+#undef MOVE_ELEM
+  
+  mutt_free_envelope(extra);
+}
+
 void _mutt_mktemp (char *s, const char *src, int line)
 {
 
index f1d38b2..e06e44f 100644 (file)
--- a/protos.h
+++ b/protos.h
@@ -204,6 +204,7 @@ void mutt_make_help (char *, size_t, char *, int, int);
 void mutt_make_misc_reply_headers (ENVELOPE * env, CONTEXT * ctx,
                                    HEADER * cur, ENVELOPE * curenv);
 void mutt_make_post_indent (CONTEXT * ctx, HEADER * cur, FILE * out);
+void mutt_merge_envelopes (ENVELOPE* base, ENVELOPE** extra);
 void mutt_message_to_7bit (BODY *, FILE *);
 
 #define mutt_mktemp(a) _mutt_mktemp (a, __FILE__, __LINE__)
@@ -276,6 +277,7 @@ int mutt_compose_attachment (BODY * a);
 int mutt_copy_body (FILE *, BODY **, BODY *);
 int mutt_decode_save_attachment (FILE *, BODY *, char *, int, int);
 int mutt_display_message (HEADER * h);
+int mutt_dump_variables (void);
 int mutt_edit_attachment (BODY *);
 int mutt_edit_message (CONTEXT *, HEADER *);
 int mutt_fetch_recips (ENVELOPE * out, ENVELOPE * in, int flags);
index e019533..0b20076 100644 (file)
--- a/thread.c
+++ b/thread.c
@@ -843,7 +843,7 @@ void mutt_sort_threads (CONTEXT * ctx, int init)
         if (new->duplicate_thread)
           new = new->parent;
         if (is_descendant (new, thread))        /* no loops! */
-          break;
+          continue;
       }
 
       if (thread->parent)