Rocco Rutte:
[apps/madmutt.git] / doc / manual.sgml.head
index 8928af9..c121d1b 100644 (file)
 <?xml version="1.0" standalone="no"?>
 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
 
 <book>
 
 <bookinfo>
-
-<title>The Mutt Next Generation E-Mail Client</title>
-<author>
-<firstname>by Andreas Krennmair  and others
-        originally based on <emphasis>mutt</emphasis> by Michael Elkins  and others</firstname>
-
-<authorblurb>
-
-<para>
-<ulink URL="mailto:ak@synflood.at">&#60;ak@synflood.at&#62;
-</ulink>
-
-<ulink URL="mailto:me@cs.hmc.edu">&#60;me@cs.hmc.edu&#62;
-</ulink>
-</para>
-
-</authorblurb>
-</author>
-
-<pubdate>version devel-r473</pubdate>
-
-<abstract>
-
-<para>
-Michael Elinks on mutt, circa 1995: ``All mail clients suck. This one just sucks less.'' - Sven Guckes on mutt, ca. 2003: ``But it still sucks!''
-</para>
-
-</abstract>
-
+  <title>The Mutt Next Generation E-Mail Client</title>
+  <author>
+    <firstname>Andreas</firstname><surname>Krennmair</surname>
+    <email>ak@synflood.at</email>
+  </author>
+  <author>
+    <firstname>Michael</firstname><surname>Elkins</surname>
+    <email>me@cs.hmc.edu</email>
+  </author>
+  <pubdate>version devel-r473</pubdate>
+  <abstract>
+    <para>
+      Michael Elinks on mutt, circa 1995:
+      ``All mail clients suck. This one just sucks less.''
+    </para>
+    <para>
+      Sven Guckes on mutt, ca. 2003: ``But it still sucks!''
+    </para>
+  </abstract>
 </bookinfo>
 
 <chapter> <!--{{{-->
-<title>Introduction  </title>
-
-<sect1>
-<title>Overview  </title>
-
-<para>
-<emphasis role="bold">Mutt-ng</emphasis> is a small but very powerful text-based MIME mail client.  Mutt-ng is
-highly configurable, and is well suited to the mail power user with advanced
-features like key bindings, keyboard macros, mail threading, regular
-expression searches and a powerful pattern matching language for selecting
-groups of messages.
-</para>
-
-<para>
-This documentation additionally contains documentation to <emphasis role="bold">Mutt-NG</emphasis>, a 
-fork from Mutt with the goal to fix all the little annoyances of Mutt, to
-integrate all the Mutt patches that are floating around in the web, and to
-add other new features. Features specific to Mutt-ng will be discussed in
-an extra section. Don't be confused when most of the documentation talk about
-Mutt and not Mutt-ng, Mutt-ng contains all Mutt features, plus many more.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1>
-<title>Mutt-ng Home Page  </title>
-
-<para>
-<ulink
-URL="http://www.muttng.org/"
->http://www.muttng.org</ulink
->
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1>
-<title>Mailing Lists  </title>
-
-<para>
-
-<itemizedlist>
-<listitem>
-
-<para>
-<ulink
-URL="https://lists.berlios.de/mailman/listinfo/mutt-ng-users"
->mutt-ng-users@lists.berlios.de</ulink
-> -- This is where the mutt-ng user support happens.
-</para>
-</listitem>
-<listitem>
-
-<para>
-<ulink
-URL="https://lists.berlios.de/mailman/listinfo/mutt-ng-devel"
->mutt-ng-devel@lists.berlios.de</ulink
-> -- The development mailing list for mutt-ng
-</para>
-</listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1>
-<title>Software Distribution Sites  </title>
-
-<para>
-So far, there are no official releases of Mutt-ng, but you can download
-daily snapshots from <ulink
-URL="http://mutt-ng.berlios.de/snapshots/"
->http://mutt-ng.berlios.de/snapshots/</ulink
->
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1>
-<title>IRC  </title>
-
-<para>
-Visit channel <emphasis>#muttng</emphasis> on <ulink
-URL="http://www.freenode.net/"
->irc.freenode.net (www.freenode.net)</ulink
-> to chat with other people interested in Mutt-ng.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1>
-<title>Weblog  </title>
-
-<para>
-If you want to read fresh news about the latest development in Mutt-ng, and get informed
-about stuff like interesting, Mutt-ng-related articles and packages for your favorite
-distribution, you can read and/or subscribe to our 
-<ulink
-URL="http://mutt-ng.supersized.org/"
->Mutt-ng development weblog</ulink
->.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1>
-<title>Copyright  </title>
-
-<para>
-Mutt is Copyright (C) 1996-2000 Michael R. Elkins
-&lt;me@cs.hmc.edu&gt; and others
-</para>
-
-<para>
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-</para>
-
-<para>
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-</para>
-
-<para>
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
-</para>
-
-<para>
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-</chapter> <!--}}}-->
+  <title>Introduction  </title>
+  
+  <sect1>
+    <title>Overview  </title>
+    
+    <para>
+      <emphasis role="bold">Mutt-ng</emphasis> is a small but very
+      powerful text-based MIME mail client.  Mutt-ng is highly
+      configurable, and is well suited to the mail power user with
+      advanced features like key bindings, keyboard macros, mail
+      threading, regular expression searches and a powerful pattern
+      matching language for selecting groups of messages.
+    </para>
+    
+    <para>
+      This documentation additionally contains documentation to
+      <emphasis role="bold"> Mutt-NG </emphasis> ,a fork from Mutt
+      with the goal to fix all the little annoyances of Mutt, to
+      integrate all the Mutt patches that are floating around in the
+      web, and to add other new features. Features specific to Mutt-ng
+      will be discussed in an extra section. Don't be confused when
+      most of the documentation talk about Mutt and not Mutt-ng,
+      Mutt-ng contains all Mutt features, plus many more.
+    </para>
+    
+    <para>
+      
+    </para>
+    
+  </sect1>
+  
+  <sect1>
+    <title>Mutt-ng Home Page  </title>
+    
+    <para>
+      <ulink url="http://www.muttng.org/">http://www.muttng.org</ulink>
+    </para>
+    
+    <para>
+      
+    </para>
+    
+  </sect1>
+  
+  <sect1>
+    <title>Mailing Lists  </title>
+    
+    <para>
+      
+      <itemizedlist>
+        <listitem>
+          
+          <para>
+            <email>mutt-ng-users@lists.berlios.de</email>: This is
+            where the mutt-ng user support happens.
+          </para>
+        </listitem>
+        <listitem>
+          
+          <para>
+            <email>mutt-ng-devel@lists.berlios.de</email>: The
+            development mailing list for mutt-ng
+          </para>
+        </listitem>
+        
+      </itemizedlist>
+      
+    </para>
+    
+    <para>
+      
+    </para>
+    
+  </sect1>
+  
+  <sect1>
+    <title>Software Distribution Sites  </title>
+    
+    <para>
+      So far, there are no official releases of Mutt-ng, but you can
+      download daily snapshots from <ulink
+        url="http://mutt-ng.berlios.de/snapshots/"
+        >http://mutt-ng.berlios.de/snapshots/</ulink>
+    </para>
+    
+    <para>
+      
+    </para>
+    
+  </sect1>
+  
+  <sect1>
+    <title>IRC  </title>
+    
+    <para>
+      Visit channel <emphasis>#muttng</emphasis> on <ulink
+        url="http://www.freenode.net/">irc.freenode.net
+        (www.freenode.net) </ulink> to chat with other people
+      interested in Mutt-ng.  
+    </para>
+    
+  </sect1>
+  
+  <sect1>
+    <title>Weblog  </title>
+    
+    <para>
+      If you want to read fresh news about the latest development in
+      Mutt-ng, and get informed about stuff like interesting,
+      Mutt-ng-related articles and packages for your favorite
+      distribution, you can read and/or subscribe to our <ulink
+        url="http://mutt-ng.supersized.org/">Mutt-ng development
+        weblog</ulink>.
+    </para>
+    
+  </sect1>
+  
+  <sect1>
+    <title>Copyright  </title>
+    
+    <para>
+      Mutt is Copyright (C) 1996-2000 Michael R. Elkins
+      &lt;me@cs.hmc.edu&gt; and others
+    </para>
+    
+    <para>
+      This program is free software; you can redistribute it and/or modify
+      it under the terms of the GNU General Public License as published by
+      the Free Software Foundation; either version 2 of the License, or
+      (at your option) any later version.
+    </para>
+    
+    <para>
+      This program is distributed in the hope that it will be useful,
+      but WITHOUT ANY WARRANTY; without even the implied warranty of
+      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+      GNU General Public License for more details.
+    </para>
+    
+    <para>
+      You should have received a copy of the GNU General Public License
+      along with this program; if not, write to the Free Software
+      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
+    </para>
+    
+  </sect1>
+  
+</chapter>
+  <!--}}}-->
 
 <chapter>
-<title>Getting Started    </title>
-
-<sect1> <!--{{{-->
-<title>Basic Concepts      </title>
-
-<sect2> <!--{{{-->
-<title>Screens and Menus        </title>
-
-<para>
-mutt-ng offers different screens of which every has its special
-purpose:
-</para>
-
-<para>
-
-<itemizedlist>
-<listitem>
-
-<para>
-The <emphasis>index</emphasis> displays the contents of the currently opened
-mailbox.
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-The <emphasis>pager</emphasis> is responsible for displaying messages, that
-is, the header, the body and all attached parts.
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-The <emphasis>file browser</emphasis> offers operations on and displays
-information of all folders mutt-ng should watch for mail.
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-The <emphasis>sidebar</emphasis> offers a permanent view of which mailboxes
-contain how many total, new and/or flagged mails.
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-The <emphasis>help screen</emphasis> lists for all currently available
-commands how to invoke them as well as a short description.
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-The <emphasis>compose</emphasis> menu is a comfortable interface take last
-actions before sending mail: change subjects, attach files, remove
-attachements, etc.
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-The <emphasis>attachement</emphasis> menu gives a summary and the tree
-structure of the attachements of the current message.
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-The <emphasis>alias</emphasis> menu lists all or a fraction of the aliases
-a user has defined.
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-The <emphasis>key</emphasis> menu used in connection with encryption lets
-users choose the right key to encrypt with.
-
-</para>
-</listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>
-When mutt-ng is started without any further options, it'll open
-the users default mailbox and display the index.
-</para>
-
-<para>
-</para>
-
-</sect2> <!--}}}-->
-
-<sect2> <!--{{{-->
-<title>Configuration        </title>
-
-<para>
-Mutt-ng does <emphasis>not</emphasis> feature an internal configuration
-interface or menu due to the simple fact that this would be too
-complex to handle (currently there are several <emphasis>hundred</emphasis>
-variables which fine-tune the behaviour.)
-</para>
-
-<para>
-Mutt-ng is configured using configuration files which allow
-users to add comments or manage them via version control systems
-to ease maintenance.
-</para>
-
-<para>
-Also, mutt-ng comes with a shell script named <literal>grml-muttng</literal>
-kindly contributed by users which really helps and eases the
-creation of a user's configuration file. When downloading the
-source code via a snapshot or via subversion, it can be found in
-the <literal>contrib</literal> directory.
-</para>
-
-<para>
-</para>
-
-</sect2> <!--}}}-->
-
-<sect2> <!--{{{-->
-<title>Functions        </title>
-
-<para>
-Mutt-ng offers great flexibility due to the use of functions:
-internally, every action a user can make mutt-ng perform is named
-``function.'' Those functions are assigned to keys (or even key
-sequences) and may be completely adjusted to user's needs. The
-basic idea is that the impatient users get a very intuitive
-interface to start off with and advanced users virtually get no
-limits to adjustments.
-</para>
-
-<para>
-</para>
-
-</sect2> <!--}}}-->
-
-<sect2> <!--{{{-->
-<title>Interaction        </title>
-
-<para>
-Mutt-ng has two basic concepts of user interaction:
-</para>
-
-<para>
-
-<orderedlist>
-<listitem>
-
-<para>
-There is one dedicated line on the screen used to query
-the user for input, issue any command, query variables and
-display error and informational messages. As for every type of
-user input, this requires manual action leading to the need of
-input.
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-The automatized interface for interaction are the so
-called <emphasis>hooks</emphasis>. Hooks specify actions the user wants to be
-performed at well-defined situations: what to do when entering
-which folder, what to do when displaying or replying to what
-kind of message, etc. These are optional, i.e. a user doesn't
-need to specify them but can do so.
-
-</para>
-</listitem>
-
-</orderedlist>
-
-</para>
-
-<para>
-</para>
-
-</sect2> <!--}}}-->
-
-<sect2> <!--{{{-->
-<title>Modularization        </title>
-
-<para>
-Although mutt-ng has many functionality built-in, many
-features can be delegated to external tools to increase
-flexibility: users can define programs to filter a message through
-before displaying, users can use any program they want for
-displaying a message, message types (such as PDF or PostScript)
-for which mutt-ng doesn't have a built-in filter can be rendered
-by arbitrary tools and so forth. Although mutt-ng has an alias
-mechanism built-in, it features using external tools to query for
-nearly every type of addresses from sources like LDAP, databases
-or just the list of locally known users.
-</para>
-
-<para>
-</para>
-
-</sect2> <!--}}}-->
-
-<sect2> <!--{{{-->
-<title>Patterns        </title>
-
-<para>
-Mutt-ng has a built-in pattern matching ``language'' which is
-as widely used as possible to present a consistent interface to
-users. The same ``pattern terms'' can be used for searching,
-scoring, message selection and much more.
-</para>
-
-<para>
-</para>
-
-<para>
-</para>
-
-</sect2> <!--}}}-->
-
-</sect1>
-
-<!--}}}-->
-
-<sect1> <!--{{{-->
-<title>Screens and Menus      </title>
-
-<sect2>
-<title>Index       </title>
-
-<para>
-The index is the screen that you usually see first when you
-start mutt-ng. It gives an overview over your emails in the
-currently opened mailbox. By default, this is your system mailbox.
-The information you see in the index is a list of emails, each with
-its number on the left, its flags (new email, important email,
-email that has been forwarded or replied to, tagged email, ...),
-the date when email was sent, its sender, the email size, and the
-subject. Additionally, the index also shows thread hierarchies:
-when you reply to an email, and the other person replies back, you
-can see the other's person email in a "sub-tree" below.  This is
-especially useful for personal email between a group of people or
-when you've subscribed to mailing lists.
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-<sect2>
-<title>Pager       </title>
-
-<para>
-The pager is responsible for showing the email content. On the
-top of the pager you have an overview over the most important email
-headers like the sender, the recipient, the subject, and much more
-information. How much information you actually see depends on your
-configuration, which we'll describe below.
-</para>
-
-<para>
-Below the headers, you see the email body which usually contains
-the message. If the email contains any attachments, you will see
-more information about them below the email body, or, if the
-attachments are text files, you can view them directly in the
-pager.
-</para>
-
-<para>
-To give the user a good overview, it is possible to configure
-mutt-ng to show different things in the pager with different
-colors. Virtually everything that can be described with a regular
-expression can be colored, e.g. URLs, email addresses or smileys.
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-<sect2>
-<title>File Browser        </title>
-
-<para>
-The file browser is the interface to the local or remote
-file system. When selecting a mailbox to open, the browser allows
-custom sorting of items, limiting the items shown by a regular
-expression and a freely adjustable format of what to display in
-which way. It also allows for easy navigation through the
-file system when selecting file(s) to attach to a message, select
-multiple files to attach and many more.
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-<sect2>
-<title>Sidebar        </title>
-
-<para>
-The sidebar comes in handy to manage mails which are spread
-over different folders. All folders users setup mutt-ng to watch
-for new mail will be listed. The listing includes not only the
-name but also the number of total messages, the number of new and
-flagged messages. Items with new mail may be colored different
-from those with flagged mail, items may be shortened or compress
-if they're they to long to be printed in full form so that by
-abbreviated names, user still now what the name stands for.
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-<sect2>
-<title>Help        </title>
-
-<para>
-The help screen is meant to offer a quick help to the user. It
-lists the current configuration of key bindings and their
-associated commands including a short description, and currently
-unbound functions that still need to be associated with a key
-binding (or alternatively, they can be called via the mutt-ng
-command prompt).
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-<sect2>
-<title>Compose Menu          </title>
-
-<para>
-The compose menu features a split screen containing the
-information which really matter before actually sending a
-message by mail or posting an article to a newsgroup: who gets
-the message as what (recipient, newsgroup, who gets what kind of
-copy). Additionally, users may set security options like
-deciding whether to sign, encrypt or sign and encrypt a message
-with/for what keys.
-</para>
-
-<para>
-Also, it's used to attach messages, news articles or files to
-a message, to re-edit any attachment including the message
-itself.
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-<sect2>
-<title>Alias Menu          </title>
-
-<para>
-The alias menu is used to help users finding the recipients
-of messages. For users who need to contact many people, there's
-no need to remember addresses or names completely because it
-allows for searching, too. The alias mechanism and thus the
-alias menu also features grouping several addresses by a shorter
-nickname, the actual alias, so that users don't have to select
-each single recipient manually.
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-<sect2>
-<title>Attachment Menu          </title>
-
-<para>
-As will be later discussed in detail, mutt-ng features a good
-and stable MIME implementation, that is, is greatly supports
-sending and receiving messages of arbitrary type. The
-attachment menu displays a message's structure in detail: what
-content parts are attached to which parent part (which gives a
-true tree structure), which type is of what type and what size.
-Single parts may saved, deleted or modified to offer great and
-easy access to message's internals.
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-<sect2>
-<title>Key Menu          </title>
-
-<para>
-<literal>FIXME</literal>
-</para>
-
-<para>
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-</sect1> <!--}}}-->
-
-<sect1> <!--{{{-->
-<title>Moving Around in Menus  </title>
-
-<para>
-Information is presented in menus, very similar to ELM.  Here is a table
-showing the common keys used to navigate menus in Mutt-ng.
-</para>
-
-<para>
-
-<screen>
-j or Down       next-entry      move to the next entry
-k or Up         previous-entry  move to the previous entry
-z or PageDn     page-down       go to the next page
-Z or PageUp     page-up         go to the previous page
-= or Home       first-entry     jump to the first entry
-* or End        last-entry      jump to the last entry
-q               quit            exit the current menu
-?               help            list all key bindings for the current menu
-</screen>
-
-</para>
-
-<para>
-</para>
-
-</sect1> <!--}}}-->
-
-<sect1 id="editing"> <!--{{{-->
-<title>Editing Input Fields  </title>
-
-<para>
-Mutt-ng has a builtin line editor which is used as the primary way to input
-textual data such as email addresses or filenames.  The keys used to move
-around while editing are very similar to those of Emacs.
-</para>
-
-<para>
-
-<screen>
-^A or &#60;Home&#62;    bol             move to the start of the line
-^B or &#60;Left&#62;    backward-char   move back one char
-Esc B          backward-word   move back one word
-^D or &#60;Delete&#62;  delete-char     delete the char under the cursor
-^E or &#60;End&#62;     eol             move to the end of the line
-^F or &#60;Right&#62;   forward-char    move forward one char
-Esc F          forward-word    move forward one word
-&#60;Tab&#62;           complete        complete filename or alias
-^T              complete-query  complete address with query
-^K              kill-eol        delete to the end of the line
-ESC d          kill-eow        delete to the end of the word
-^W              kill-word       kill the word in front of the cursor
-^U              kill-line       delete entire line
-^V              quote-char      quote the next typed key
-&#60;Up&#62;            history-up      recall previous string from history
-&#60;Down&#62;          history-down    recall next string from history
-&#60;BackSpace&#62;     backspace       kill the char in front of the cursor
-Esc u          upcase-word     convert word to upper case
-Esc l          downcase-word   convert word to lower case
-Esc c          capitalize-word capitalize the word
-^G              n/a             abort
-&#60;Return&#62;        n/a             finish editing
-</screen>
+  <title>Getting Started    </title>
+  
+  <sect1> <!--{{{-->
+    <title>Basic Concepts      </title>
+    
+    <sect2> <!--{{{-->
+      <title>Screens and Menus        </title>
+      
+      <para>
+        mutt-ng offers different screens of which every has its special
+        purpose:
+      </para>
+      
+      <para>
+        
+        <itemizedlist>
+          <listitem>
+            
+            <para>
+              The <emphasis>index</emphasis> displays the contents of the
+              currently opened
+              mailbox.
+              
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              The <emphasis>pager</emphasis> is responsible for displaying
+              messages, that
+              is, the header, the body and all attached parts.
+              
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              The <emphasis>file browser</emphasis> offers operations on and
+              displays
+              information of all folders mutt-ng should watch for mail.
+              
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              The <emphasis>sidebar</emphasis> offers a permanent view of
+              which mailboxes
+              contain how many total, new and/or flagged mails.
+              
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              The <emphasis>help screen</emphasis> lists for all currently
+              available
+              commands how to invoke them as well as a short description.
+              
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              The <emphasis>compose</emphasis> menu is a comfortable
+              interface take last
+              actions before sending mail: change subjects, attach files,
+              remove
+              attachements, etc.
+              
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              The <emphasis>attachement</emphasis> menu gives a summary and
+              the tree
+              structure of the attachements of the current message.
+              
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              The <emphasis>alias</emphasis> menu lists all or a fraction of
+              the aliases
+              a user has defined.
+              
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              The <emphasis>key</emphasis> menu used in connection with
+              encryption lets
+              users choose the right key to encrypt with.
+              
+            </para>
+          </listitem>
+          
+        </itemizedlist>
+        
+      </para>
+      
+      <para>
+        When mutt-ng is started without any further options, it'll open
+        the users default mailbox and display the index.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect2>
+      <!--}}}-->
+    
+    <sect2> <!--{{{-->
+      <title>Configuration        </title>
+      
+      <para>
+        Mutt-ng does <emphasis>not</emphasis> feature an internal
+        configuration
+        interface or menu due to the simple fact that this would be too
+        complex to handle (currently there are several <emphasis>hundred</emphasis>
+        variables which fine-tune the behaviour.)
+      </para>
+      
+      <para>
+        Mutt-ng is configured using configuration files which allow
+        users to add comments or manage them via version control systems
+        to ease maintenance.
+      </para>
+      
+      <para>
+        Also, mutt-ng comes with a shell script named <literal>grml-muttng</literal>
+        kindly contributed by users which really helps and eases the
+        creation of a user's configuration file. When downloading the
+        source code via a snapshot or via subversion, it can be found in
+        the <literal>contrib</literal> directory.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect2>
+      <!--}}}-->
+    
+    <sect2> <!--{{{-->
+      <title>Functions        </title>
+      
+      <para>
+        Mutt-ng offers great flexibility due to the use of functions:
+        internally, every action a user can make mutt-ng perform is named
+        ``function.'' Those functions are assigned to keys (or even key
+        sequences) and may be completely adjusted to user's needs. The
+        basic idea is that the impatient users get a very intuitive
+        interface to start off with and advanced users virtually get no
+        limits to adjustments.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect2>
+      <!--}}}-->
+    
+    <sect2> <!--{{{-->
+      <title>Interaction        </title>
+      
+      <para>
+        Mutt-ng has two basic concepts of user interaction:
+      </para>
+      
+      <para>
+        
+        <orderedlist>
+          <listitem>
+            
+            <para>
+              There is one dedicated line on the screen used to query
+              the user for input, issue any command, query variables and
+              display error and informational messages. As for every type of
+              user input, this requires manual action leading to the need of
+              input.
+              
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              The automatized interface for interaction are the so
+              called <emphasis>hooks</emphasis>. Hooks specify actions the
+              user wants to be
+              performed at well-defined situations: what to do when entering
+              which folder, what to do when displaying or replying to what
+              kind of message, etc. These are optional, i.e. a user doesn't
+              need to specify them but can do so.
+              
+            </para>
+          </listitem>
+          
+        </orderedlist>
+        
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect2>
+      <!--}}}-->
+    
+    <sect2> <!--{{{-->
+      <title>Modularization        </title>
+      
+      <para>
+        Although mutt-ng has many functionality built-in, many
+        features can be delegated to external tools to increase
+        flexibility: users can define programs to filter a message through
+        before displaying, users can use any program they want for
+        displaying a message, message types (such as PDF or PostScript)
+        for which mutt-ng doesn't have a built-in filter can be rendered
+        by arbitrary tools and so forth. Although mutt-ng has an alias
+        mechanism built-in, it features using external tools to query for
+        nearly every type of addresses from sources like LDAP, databases
+        or just the list of locally known users.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect2>
+      <!--}}}-->
+    
+    <sect2> <!--{{{-->
+      <title>Patterns        </title>
+      
+      <para>
+        Mutt-ng has a built-in pattern matching ``language'' which is
+        as widely used as possible to present a consistent interface to
+        users. The same ``pattern terms'' can be used for searching,
+        scoring, message selection and much more.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect2>
+      <!--}}}-->
+    
+  </sect1>
+  
+  <!--}}}-->
+  
+  <sect1> <!--{{{-->
+    <title>Screens and Menus      </title>
+    
+    <sect2>
+      <title>Index       </title>
+      
+      <para>
+        The index is the screen that you usually see first when you
+        start mutt-ng. It gives an overview over your emails in the
+        currently opened mailbox. By default, this is your system mailbox.
+        The information you see in the index is a list of emails, each with
+        its number on the left, its flags (new email, important email,
+        email that has been forwarded or replied to, tagged email, ...),
+        the date when email was sent, its sender, the email size, and the
+        subject. Additionally, the index also shows thread hierarchies:
+        when you reply to an email, and the other person replies back, you
+        can see the other's person email in a "sub-tree" below.  This is
+        especially useful for personal email between a group of people or
+        when you've subscribed to mailing lists.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect2>
+    
+    <sect2>
+      <title>Pager       </title>
+      
+      <para>
+        The pager is responsible for showing the email content. On the
+        top of the pager you have an overview over the most important email
+        headers like the sender, the recipient, the subject, and much more
+        information. How much information you actually see depends on your
+        configuration, which we'll describe below.
+      </para>
+      
+      <para>
+        Below the headers, you see the email body which usually contains
+        the message. If the email contains any attachments, you will see
+        more information about them below the email body, or, if the
+        attachments are text files, you can view them directly in the
+        pager.
+      </para>
+      
+      <para>
+        To give the user a good overview, it is possible to configure
+        mutt-ng to show different things in the pager with different
+        colors. Virtually everything that can be described with a regular
+        expression can be colored, e.g. URLs, email addresses or smileys.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect2>
+    
+    <sect2>
+      <title>File Browser        </title>
+      
+      <para>
+        The file browser is the interface to the local or remote
+        file system. When selecting a mailbox to open, the browser allows
+        custom sorting of items, limiting the items shown by a regular
+        expression and a freely adjustable format of what to display in
+        which way. It also allows for easy navigation through the
+        file system when selecting file(s) to attach to a message, select
+        multiple files to attach and many more.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect2>
+    
+    <sect2>
+      <title>Sidebar        </title>
+      
+      <para>
+        The sidebar comes in handy to manage mails which are spread
+        over different folders. All folders users setup mutt-ng to watch
+        for new mail will be listed. The listing includes not only the
+        name but also the number of total messages, the number of new and
+        flagged messages. Items with new mail may be colored different
+        from those with flagged mail, items may be shortened or compress
+        if they're they to long to be printed in full form so that by
+        abbreviated names, user still now what the name stands for.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect2>
+    
+    <sect2>
+      <title>Help        </title>
+      
+      <para>
+        The help screen is meant to offer a quick help to the user. It
+        lists the current configuration of key bindings and their
+        associated commands including a short description, and currently
+        unbound functions that still need to be associated with a key
+        binding (or alternatively, they can be called via the mutt-ng
+        command prompt).
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect2>
+    
+    <sect2>
+      <title>Compose Menu          </title>
+      
+      <para>
+        The compose menu features a split screen containing the
+        information which really matter before actually sending a
+        message by mail or posting an article to a newsgroup: who gets
+        the message as what (recipient, newsgroup, who gets what kind of
+        copy). Additionally, users may set security options like
+        deciding whether to sign, encrypt or sign and encrypt a message
+        with/for what keys.
+      </para>
+      
+      <para>
+        Also, it's used to attach messages, news articles or files to
+        a message, to re-edit any attachment including the message
+        itself.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect2>
+    
+    <sect2>
+      <title>Alias Menu          </title>
+      
+      <para>
+        The alias menu is used to help users finding the recipients
+        of messages. For users who need to contact many people, there's
+        no need to remember addresses or names completely because it
+        allows for searching, too. The alias mechanism and thus the
+        alias menu also features grouping several addresses by a shorter
+        nickname, the actual alias, so that users don't have to select
+        each single recipient manually.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect2>
+    
+    <sect2>
+      <title>Attachment Menu          </title>
+      
+      <para>
+        As will be later discussed in detail, mutt-ng features a good
+        and stable MIME implementation, that is, is greatly supports
+        sending and receiving messages of arbitrary type. The
+        attachment menu displays a message's structure in detail: what
+        content parts are attached to which parent part (which gives a
+        true tree structure), which type is of what type and what size.
+        Single parts may saved, deleted or modified to offer great and
+        easy access to message's internals.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect2>
+    
+    <sect2>
+      <title>Key Menu          </title>
+      
+      <para>
+        <literal>FIXME</literal>
+      </para>
+      
+      <para>
+        
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect2>
+    
+  </sect1>
+    <!--}}}-->
+  
+  <sect1> <!--{{{-->
+    <title>Moving Around in Menus  </title>
+    
+    <para>
+      Information is presented in menus, very similar to ELM.  Here is a
+      tableshowing the common keys used to navigate menus in Mutt-ng.
+    </para>
+    
+    <para>
+
+      <table>
+        <title>Default Menu Movement Keys</title>
+        <tgroup cols="3" align="left" colsep="1" rowsep="1">
+        <thead>
+          <row>
+            <entry>Key</entry>
+            <entry>Function</entry>
+            <entry>Description</entry>
+          </row>
+        </thead>
+        <tbody>
+          <row>
+            <entry><code>j</code> or <code>Down</code></entry>
+            <entry><code>next-entry</code></entry>
+            <entry>move to the next entry</entry>
+          </row>
+          <row>
+            <entry><code>k</code> or <code>Up</code></entry>
+            <entry><code>previous-entry</code></entry>
+            <entry>move to the previous entry</entry>
+          </row>
+          <row>
+            <entry><code>z</code> or <code>PageDn</code></entry>
+            <entry><code>page-down</code></entry>
+            <entry>go to the next page</entry>
+          </row>
+          <row>
+            <entry><code>Z</code> or <code>PageUp</code></entry>
+            <entry><code>page-up</code></entry>
+            <entry>go to the previous page</entry>
+          </row>
+          <row>
+            <entry><code>=</code> or <code>Home</code></entry>
+            <entry><code>first-entry</code></entry>
+            <entry>jump to the first entry</entry>
+          </row>
+          <row>
+            <entry><code>*</code> or <code>End</code></entry>
+            <entry><code>last-entry</code></entry>
+            <entry>jump to the last entry</entry>
+          </row>
+          <row>
+            <entry><code>q</code></entry>
+            <entry><code>quit</code></entry>
+            <entry>exit the current menu</entry>
+          </row>
+          <row>
+            <entry><code>?</code></entry>
+            <entry><code>help</code></entry>
+            <entry>list all key bindings for the current menu</entry>
+          </row>
+        </tbody>
+      </tgroup>
+    </table>
+
+
+    </para>
+    
+    <para>
+      
+    </para>
+    
+  </sect1>
+    <!--}}}-->
+  
+  <sect1 id="editing"> <!--{{{-->
+    <title>Editing Input Fields  </title>
+    
+    <para>
+      Mutt-ng has a builtin line editor which is used as the primary way to
+      input
+      textual data such as email addresses or filenames.  The keys used to
+      move
+      around while editing are very similar to those of Emacs.
+    </para>
+    
+    <para>
+
+      <table>
+        <title>Built-In Editor Functions</title>
+        <tgroup cols="3" align="left" colsep="1" rowsep="1">
+        <thead>
+          <row>
+            <entry>Key</entry>
+            <entry>Function</entry>
+            <entry>Description</entry>
+          </row>
+        </thead>
+        <tbody>
+          <row>
+            <entry><code>^A or &#60;Home&#62;  </code></entry>
+            <entry><code>bol     </code></entry>
+            <entry>move to the start of the line</entry>
+          </row>
+          <row>
+            <entry><code>^B or &#60;Left&#62;   </code></entry>
+            <entry><code>backward-char </code>
+            </entry><entry>move back one char</entry>
+          </row>
+          <row>
+            <entry><code>Esc B  </code></entry>
+            <entry><code>backward-word    </code></entry>
+            <entry>move back one word</entry>
+          </row>
+          <row>
+            <entry><code>^D or &#60;Delete&#62;  </code></entry>
+            <entry><code>delete-char    </code></entry>
+            <entry>delete the char under the cursor</entry>
+          </row>
+          <row>
+            <entry><code>^E or &#60;End&#62;   </code></entry>
+            <entry><code>eol          </code></entry>
+            <entry>move to the end of the line</entry>
+          </row>
+          <row>
+            <entry><code>^F or &#60;Right&#62;  </code></entry>
+            <entry><code>forward-char   </code></entry>
+            <entry>move forward one char</entry>
+          </row>
+          <row>
+            <entry><code>Esc F </code></entry>
+            <entry><code>forward-word      </code></entry>
+            <entry>move forward one word</entry>
+          </row>
+          <row>
+            <entry><code>&#60;Tab&#62;   </code></entry>
+            <entry><code>complete     </code></entry>
+            <entry>complete filename or alias</entry>
+          </row>
+          <row>
+            <entry><code>^T         </code></entry>
+            <entry><code>complete-query   </code></entry>
+            <entry>complete address with query</entry>
+          </row>
+          <row>
+            <entry><code>^K          </code></entry>
+            <entry><code>kill-eol      </code></entry>
+            <entry>delete to the end of the line</entry>
+          </row>
+          <row>
+            <entry><code>ESC d </code></entry>
+            <entry><code>kill-eow    </code></entry>
+            <entry>delete to the end of the word</entry>
+          </row>
+          <row>
+            <entry><code>^W     </code></entry>
+            <entry><code>kill-word     </code></entry>
+            <entry>kill the word in front of the cursor</entry>
+          </row>
+          <row>
+            <entry><code>^U      </code></entry>
+            <entry><code>kill-line      </code></entry>
+            <entry>delete entire line</entry>
+          </row>
+          <row>
+            <entry><code>^V       </code></entry>
+            <entry><code>quote-char    </code></entry>
+            <entry>quote the next typed key</entry>
+          </row>
+          <row>
+            <entry><code>&#60;Up&#62;   </code></entry>
+            <entry><code>history-up   </code></entry>
+            <entry>recall previous string from history</entry>
+          </row>
+          <row>
+            <entry><code>&#60;Down&#62;      </code></entry>
+            <entry><code>history-down   </code></entry>
+            <entry>recall next string from history</entry>
+          </row>
+          <row>
+            <entry><code>&#60;BackSpace&#62;  </code></entry>
+            <entry><code>backspace     </code></entry>
+            <entry>kill the char in front of the cursor</entry>
+          </row>
+          <row>
+            <entry><code>Esc u        </code></entry>
+            <entry><code>upcase-word      </code></entry>
+            <entry>convert word to upper case</entry>
+          </row>
+          <row>
+            <entry><code>Esc l        </code></entry>
+            <entry><code>downcase-word      </code></entry>
+            <entry>convert word to lower case</entry>
+          </row>
+          <row>
+            <entry><code>Esc c        </code></entry>
+            <entry><code>capitalize-word    </code></entry>
+            <entry>capitalize the word</entry>
+          </row>
+          <row>
+            <entry><code>^G           </code></entry>
+            <entry><code>n/a    </code></entry>
+            <entry>abort</entry>
+          </row>
+          <row>
+            <entry><code>&#60;Return&#62;     </code></entry>
+            <entry><code>n/a    </code></entry>
+            <entry>finish editing</entry>
+          </row>
+        </tbody>
+      </tgroup>
+    </table>
+
+    </para>
+    
+    <para>
+      You can remap the <emphasis>editor</emphasis> functions using the <link linkend="bind">
+        bind
+      </link>
+      command.  For example, to make the <emphasis>Delete</emphasis> key
+      delete the character in
+      front of the cursor rather than under, you could use
+    </para>
+    
+    <para>
+      <literal>bind editor &lt;delete&gt; backspace</literal>
+    </para>
+    
+    <para>
+      
+    </para>
+    
+  </sect1>
+    <!--}}}-->
+  
+  <sect1>
+    <title>Reading Mail - The Index and Pager  </title> <!--{{{-->
+    
+    <para>
+      Similar to many other mail clients, there are two modes in which mail
+      isread in Mutt-ng.  The first is the index of messages in the mailbox,
+      which is
+      called the ``index'' in Mutt-ng.  The second mode is the display of the
+      message contents.  This is called the ``pager.''
+    </para>
+    
+    <para>
+      The next few sections describe the functions provided in each of these
+      modes.
+    </para>
+    
+    <sect2>
+      <title>The Message Index</title> <!--{{{-->
+      
+      <para>
+
+      <table>
+        <title>Default Index Menu Bindings</title>
+        <tgroup cols="3" align="left" colsep="1" rowsep="1">
+        <thead>
+          <row>
+            <entry>Key</entry>
+            <entry>Function</entry>
+            <entry>Description</entry>
+          </row>
+        </thead>
+        <tbody>
+          <row><entry><code>c      </code></entry><entry><code></code></entry><entry>change to a different mailbox</entry></row>
+          <row><entry><code>ESC c    </code></entry><entry><code></code></entry><entry>change to a folder in read-only mode</entry></row>
+          <row><entry><code>C        </code></entry><entry><code></code></entry><entry>copy the current message to another mailbox</entry></row>
+          <row><entry><code>ESC C     </code></entry><entry><code></code></entry><entry>decode a message and copy it to a folder</entry></row>
+          <row><entry><code>ESC s    </code></entry><entry><code></code></entry><entry>decode a message and save it to a folder</entry></row>
+          <row><entry><code>D       </code></entry><entry><code></code></entry><entry>delete messages matching a pattern</entry></row>
+          <row><entry><code>d     </code></entry><entry><code></code></entry><entry>delete the current message</entry></row>
+          <row><entry><code>F      </code></entry><entry><code></code></entry><entry>mark as important</entry></row>
+          <row><entry><code>l      </code></entry><entry><code></code></entry><entry>show messages matching a pattern</entry></row>
+          <row><entry><code>N       </code></entry><entry><code></code></entry><entry>mark message as new</entry></row>
+          <row><entry><code>o       </code></entry><entry><code></code></entry><entry>change the current sort method</entry></row>
+          <row><entry><code>O       </code></entry><entry><code></code></entry><entry>reverse sort the mailbox</entry></row>
+          <row><entry><code>q       </code></entry><entry><code></code></entry><entry>save changes and exit</entry></row>
+          <row><entry><code>s        </code></entry><entry><code></code></entry><entry>save-message</entry></row>
+          <row><entry><code>T       </code></entry><entry><code></code></entry><entry>tag messages matching a pattern</entry></row>
+          <row><entry><code>t       </code></entry><entry><code></code></entry><entry>toggle the tag on a message</entry></row>
+          <row><entry><code>ESC t  </code></entry><entry><code></code></entry><entry>toggle tag on entire message thread</entry></row>
+          <row><entry><code>U       </code></entry><entry><code></code></entry><entry>undelete messages matching a pattern</entry></row>
+          <row><entry><code>u        </code></entry><entry><code></code></entry><entry>undelete-message</entry></row>
+          <row><entry><code>v        </code></entry><entry><code></code></entry><entry>view-attachments</entry></row>
+          <row><entry><code>x       </code></entry><entry><code></code></entry><entry>abort changes and exit</entry></row>
+          <row><entry><code>&#60;Return&#62;  </code></entry><entry><code></code></entry><entry>display-message</entry></row>
+          <row><entry><code>&#60;Tab&#62;      </code></entry><entry><code></code></entry><entry>jump to the next new message</entry></row>
+          <row><entry><code>@      </code></entry><entry><code></code></entry><entry>show the author's full e-mail address</entry></row>
+          <row><entry><code>$       </code></entry><entry><code></code></entry><entry>save changes to mailbox</entry></row>
+          <row><entry><code>/       </code></entry><entry><code></code></entry><entry>search</entry></row>
+          <row><entry><code>ESC /     </code></entry><entry><code></code></entry><entry>search-reverse</entry></row>
+          <row><entry><code>^L       </code></entry><entry><code></code></entry><entry>clear and redraw the screen</entry></row>
+          <row><entry><code>^T        </code></entry><entry><code></code></entry><entry>untag messages matching a pattern</entry></row>
+        </tbody>
+      </tgroup>
+    </table>
+
+      </para>
+      
+      <sect3>
+        <title>Status Flags</title> <!--{{{-->
+        
+        <para>
+          In addition to who sent the message and the subject, a short
+          summary of
+          the disposition of each message is printed beside the message
+          number.
+          Zero or more of the following ``flags'' may appear, which mean:
+        </para>
+        
+        <para>
+
+          <variablelist>
+            
+            <varlistentry>
+              <term>D</term>
+              <listitem>
+                <para>
+                  message is deleted (is marked for deletion)
+                </para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>d</term>
+              <listitem>
+                <para>
+                  message have attachments marked for deletion
+                </para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>K</term>
+              <listitem>
+                <para>
+                  contains a PGP public key
+                </para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>N</term>
+              <listitem>
+                <para>
+                  message is new
+                </para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>O</term>
+              <listitem>
+                <para>
+                  message is old
+                </para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>P</term>
+              <listitem>
+                <para>
+                  message is PGP encrypted
+                </para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>r</term>
+              <listitem>
+                <para>
+                  message has been replied to
+                </para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>S</term>
+              <listitem>
+                <para>
+                  message is signed, and the signature is succesfully
+                  verified
+                </para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>s</term>
+              <listitem>
+                <para>
+                  message is signed
+                </para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>!</term>
+              <listitem>
+                <para>
+                  message is flagged
+                </para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>*</term>
+              <listitem>
+                <para>
+                  message is tagged
+                </para>
+              </listitem>
+            </varlistentry>
+          </variablelist>
+        </para>
+        
+        <para>
+          Some of the status flags can be turned on or off using
+          
+          <itemizedlist>
+            <listitem>
+              
+              <para>
+                <emphasis role="bold">set-flag</emphasis> (default: w)
+              </para>
+            </listitem>
+            <listitem>
+              
+              <para>
+                <emphasis role="bold">clear-flag</emphasis> (default: W)
+              </para>
+            </listitem>
+            
+          </itemizedlist>
+          
+        </para>
+        
+        <para>
+          Furthermore, the following flags reflect who the message is
+          addressed
+          to.  They can be customized with the
+          <link linkend="to-chars">&dollar;to&lowbar;chars</link> variable.
+        </para>
+        
+        <para>
+          <variablelist>
+            
+            <varlistentry>
+              <term>+</term>
+              <listitem>
+                <para>
+                  message is to you and you only
+                </para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>T</term>
+              <listitem>
+                <para>
+                  message is to you, but also to or cc'ed to others
+                </para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>C</term>
+              <listitem>
+                <para>
+                  message is cc'ed to you
+                </para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>F</term>
+              <listitem>
+                <para>
+                  message is from you
+                </para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>L</term>
+              <listitem>
+                <para>
+                  message is sent to a subscribed mailing list
+                </para>
+              </listitem>
+            </varlistentry>
+          </variablelist>
+        </para>
+        
+        <!--}}}-->
+      </sect3>
+      
+      <!--}}}-->
+    </sect2>
+    
+    <sect2>
+      <title>The Pager</title> <!--{{{-->
+      
+      <para>
+        By default, Mutt-ng uses its builtin pager to display the body of
+        messages.
+        The pager is very similar to the Unix program <emphasis>less</emphasis> though not nearly as
+        featureful.
+      </para>
+      
+      <para>
+
+      <table>
+        <title>Default Pager Menu Bindings</title>
+        <tgroup cols="3" align="left" colsep="1" rowsep="1">
+        <thead>
+          <row>
+            <entry>Key</entry>
+            <entry>Function</entry>
+            <entry>Description</entry>
+          </row>
+        </thead>
+        <tbody>
+          <row><entry><code>&#60;Return&#62;   </code></entry><entry><code></code></entry><entry>go down one line</entry></row>
+          <row><entry><code>&#60;Space&#62;   </code></entry><entry><code></code></entry><entry>display the next page (or next message if at the end of a message)</entry></row>
+          <row><entry><code>-           </code></entry><entry><code></code></entry><entry>go back to the previous page</entry></row>
+          <row><entry><code>n            </code></entry><entry><code></code></entry><entry>search for next match</entry></row>
+          <row><entry><code>S         </code></entry><entry><code></code></entry><entry>skip beyond quoted text</entry></row>
+          <row><entry><code>T         </code></entry><entry><code></code></entry><entry>toggle display of quoted text</entry></row>
+          <row><entry><code>?        </code></entry><entry><code></code></entry><entry>show key bindings</entry></row>
+          <row><entry><code>/        </code></entry><entry><code></code></entry><entry>search for a regular expression (pattern)</entry></row>
+          <row><entry><code>ESC /   </code></entry><entry><code></code></entry><entry>search backwards for a regular expression</entry></row>
+          <row><entry><code>\       </code></entry><entry><code></code></entry><entry>toggle search pattern coloring</entry></row>
+          <row><entry><code>^      </code></entry><entry><code></code></entry><entry>jump to the top of the message</entry></row>
+        </tbody>
+      </tgroup>
+    </table>
+
+
+      </para>
+      
+      <para>
+        In addition, many of the functions from the <emphasis>index</emphasis> are available in
+        the pager, such as <emphasis>delete-message</emphasis> or <emphasis>
+          copy-message
+        </emphasis>
+        (this is one
+        advantage over using an external pager to view messages).
+      </para>
+      
+      <para>
+        Also, the internal pager supports a couple other advanced features.
+        For
+        one, it will accept and translate the ``standard'' nroff sequences
+        forbold and underline. These sequences are a series of either the
+        letter,
+        backspace (&circ;H), the letter again for bold or the letter,
+        backspace,
+        ``&lowbar;'' for denoting underline. Mutt-ng will attempt to display
+        these
+        in bold and underline respectively if your terminal supports them. If
+        not, you can use the bold and underline <link
+linkend="color">color</link>
+        objects to specify a color or mono attribute for them.
+      </para>
+      
+      <para>
+        Additionally, the internal pager supports the ANSI escape
+        sequences for character attributes.  Mutt-ng translates them
+        into the correct color and character settings.  The sequences
+        Mutt-ng supports are: <literal>ESC [ Ps;Ps;Ps;...;Ps
+          m</literal> (see table below for possible values for
+        <code>Ps</code>).
+      </para>
+      
+      <para>
+
+      <table>
+        <title>ANSI Escape Sequences</title>
+        <tgroup cols="2" align="left" colsep="1" rowsep="1">
+        <thead>
+          <row>
+            <entry>Value</entry>
+            <entry>Attribute</entry>
+          </row>
+        </thead>
+        <tbody>
+          <row><entry><code>0  </code></entry><entry>All Attributes Off</entry></row>
+          <row><entry><code>1  </code></entry><entry>Bold on</entry></row>
+          <row><entry><code>4  </code></entry><entry>Underline on</entry></row>
+          <row><entry><code>5  </code></entry><entry>Blink on</entry></row>
+          <row><entry><code>7 </code></entry><entry>Reverse video on</entry></row>
+          <row><entry><code>3x  </code></entry><entry>Foreground color is x (see table below)</entry></row>
+          <row><entry><code>4x </code></entry><entry>Background color is x (see table below)</entry></row>
+        </tbody>
+      </tgroup>
+    </table>
 
-</para>
+    
+      <table>
+        <title>ANSI Colors</title>
+        <tgroup cols="2" align="left" colsep="1" rowsep="1">
+        <thead>
+          <row>
+            <entry>Number</entry>
+            <entry>Color</entry>
+          </row>
+        </thead>
+        <tbody>
+          <row><entry><code>0   </code></entry><entry>black</entry></row>
+          <row><entry><code>1  </code></entry><entry>red</entry></row>
+          <row><entry><code>2  </code></entry><entry>green</entry></row>
+          <row><entry><code>3  </code></entry><entry>yellow</entry></row>
+          <row><entry><code>4  </code></entry><entry>blue</entry></row>
+          <row><entry><code>5 </code></entry><entry>magenta</entry></row>
+          <row><entry><code>6  </code></entry><entry>cyan</entry></row>
+          <row><entry><code>7 </code></entry><entry>white</entry></row>
+        </tbody>
+      </tgroup>
+    </table>
+
+
+        </para>
+        
+        <para>
+          Mutt-ng uses these attributes for handling text/enriched messages,
+          and they
+          can also be used by an external <link
+  linkend="auto-view">autoview</link>
+          script for highlighting purposes.  <emphasis role="bold">Note:</emphasis> If you change the colors for your
+          display, for example by changing the color associated with color2 for
+          your xterm, then that color will be used instead of green.
+        </para>
+        
+        <!--}}}-->
+      </sect2>
+      
+      <sect2 id="threads">
+        <title>Threaded Mode</title> <!--{{{-->
+        
+        <para>
+          When the mailbox is <link linkend="sort">sorted</link> by <emphasis>
+            threads
+          </emphasis>
+          ,there are
+          a few additional functions available in the <emphasis>index</emphasis> and <emphasis>
+            pager
+          </emphasis>
+          modes.
+        </para>
+        
+        <para>
+
+        <table>
+          <title>Default Thread Function Bindings</title>
+          <tgroup cols="3" align="left" colsep="1" rowsep="1">
+          <thead>
+            <row>
+              <entry>Key</entry>
+              <entry>Function</entry>
+              <entry>Description</entry>
+            </row>
+          </thead>
+          <tbody>
+            <row><entry><code>^D   </code></entry><entry><code>delete-thread       </code></entry><entry>delete all messages in the current  thread</entry></row>
+            <row><entry><code>^U   </code></entry><entry><code>undelete-thread     </code></entry><entry>undelete all messages in the current thread</entry></row>
+            <row><entry><code>^N   </code></entry><entry><code>next-thread         </code></entry><entry>jump to the start of the next thread</entry></row>
+            <row><entry><code>^P   </code></entry><entry><code>previous-thread     </code></entry><entry>jump to the start of the previous thread</entry></row>
+            <row><entry><code>^R    </code></entry><entry><code>read-thread         </code></entry><entry>mark the current thread as read</entry></row>
+            <row><entry><code>ESC d </code></entry><entry><code>delete-subthread    </code></entry><entry>delete all messages in the current subthread</entry></row>
+            <row><entry><code>ESC u </code></entry><entry><code>undelete-subthread  </code></entry><entry>undelete all messages in the current subthread</entry></row>
+            <row><entry><code>ESC n </code></entry><entry><code>next-subthread      </code></entry><entry>jump to the start of the next subthread</entry></row>
+            <row><entry><code>ESC p </code></entry><entry><code>previous-subthread  </code></entry><entry>jump to the start of the previous subthread</entry></row>
+            <row><entry><code>ESC r </code></entry><entry><code>read-subthread      </code></entry><entry>mark the current subthread as read </entry></row>
+            <row><entry><code>ESC t </code></entry><entry><code>tag-thread          </code></entry><entry>toggle the tag on the current thread</entry></row>
+            <row><entry><code>ESC v </code></entry><entry><code>collapse-thread    </code></entry><entry>toggle collapse for the current thread</entry></row>
+            <row><entry><code>ESC V </code></entry><entry><code>collapse-all      </code></entry><entry>toggle collapse for all threads</entry></row>
+            <row><entry><code>P    </code></entry><entry><code>parent-message        </code></entry><entry>jump to parent message in thread</entry></row>
+          </tbody>
+        </tgroup>
+      </table>
+
+          
+        </para>
+        
+        <para>
+          <emphasis role="bold">Note:</emphasis> Collapsing a thread displays
+          only the first message
+          in the thread and hides the others. This is useful when threads
+          contain so many messages that you can only see a handful of threads
+          onthe screen. See &percnt;M in <link
+  linkend="index-format">
+            index-format
+          </link>
+          .
+          For example, you could use
+          "&percnt;?M?(&num;&percnt;03M)&amp;(&percnt;4l)?" in <link linkend="index-format">
+            index-format
+          </link>
+          to optionally
+          display the number of hidden messages if the thread is collapsed.
+        </para>
+        
+        <para>
+          See also: <link linkend="strict-threads">strict-threads</link>.
+        </para>
+        
+        <!--}}}-->
+      </sect2>
+      
+      <sect2>
+        <title>Miscellaneous Functions</title> <!--{{{-->
+        
+        <para>
+          <emphasis role="bold">create-alias</emphasis><anchor id="create-alias"/>
+           (default: a)
+          
+        </para>
+        
+        <para>
+          Creates a new alias based upon the current message (or prompts for a
+          new one).  Once editing is complete, an <link linkend="alias">alias</link>
+          command is added to the file specified by the <link linkend="alias-file">
+            alias-file
+          </link>
+          variable for future use. <emphasis role="bold">Note:</emphasis>
+          Specifying an <link linkend="alias-file">alias-file</link>
+          does not add the aliases specified there-in, you must also <link linkend="source">
+            source
+          </link>
+          the file.
+        </para>
+        
+        <para>
+          <emphasis role="bold">check-traditional-pgp</emphasis><anchor id="check-traditional-pgp"/>
+           (default: ESC P)
+          
+        </para>
+        
+        <para>
+          This function will search the current message for content signed or
+          encrypted with PGP the "traditional" way, that is, without proper
+          MIME tagging.  Technically, this function will temporarily change
+          the MIME content types of the body parts containing PGP data; this
+          is similar to the <link linkend="edit-type">edit-type</link>
+          function's
+          effect.
+        </para>
+        
+        <para>
+          <emphasis role="bold">display-toggle-weed</emphasis><anchor id="display-toggle-weed"/>
+           (default: h)
+          
+        </para>
+        
+        <para>
+          Toggles the weeding of message header fields specified by <link linkend="ignore">
+            ignore
+          </link>
+          commands.
+        </para>
+        
+        <para>
+          <emphasis role="bold">edit</emphasis><anchor id="edit"/>
+           (default: e)
+          
+        </para>
+        
+        <para>
+          This command (available in the ``index'' and ``pager'') allows you to
+          edit the raw current message as it's present in the mail folder.
+          After you have finished editing, the changed message will be
+          appended to the current folder, and the original message will be
+          marked for deletion.
+        </para>
+        
+        <para>
+          <emphasis role="bold">edit-type</emphasis><anchor id="edit-type"/>
+          
+          (default: &circ;E on the attachment menu, and in the pager and index
+          menus; &circ;T on the
+          compose menu)
+        </para>
+        
+        <para>
+          This command is used to temporarily edit an attachment's content
+          type to fix, for instance, bogus character set parameters.  When
+          invoked from the index or from the pager, you'll have the
+          opportunity to edit the top-level attachment's content type.  On the
+          <link linkend="attach-menu">attach-menu</link>, you can change any
+          attachment's content type. These changes are not persistent, and get
+          lost upon changing folders.
+        </para>
+        
+        <para>
+          Note that this command is also available on the <link linkend="compose-menu">
+            compose-menu
+          </link>
+          .There, it's used to
+          fine-tune the properties of attachments you are going to send.
+        </para>
+        
+        <para>
+          <emphasis role="bold">enter-command</emphasis><anchor id="enter-command"/>
+           (default: ``:'')
+          
+        </para>
+        
+        <para>
+          This command is used to execute any command you would normally put in
+          a
+          configuration file.  A common use is to check the settings of
+          variables, or
+          in conjunction with <link linkend="macro">macro</link> to change
+          settings on the
+          fly.
+        </para>
+        
+        <para>
+          <emphasis role="bold">extract-keys</emphasis><anchor id="extract-keys"/>
+           (default: &circ;K)
+          
+        </para>
+        
+        <para>
+          This command extracts PGP public keys from the current or tagged
+          message(s) and adds them to your PGP public key ring.
+        </para>
+        
+        <para>
+          <emphasis role="bold">forget-passphrase</emphasis><anchor id="forget-passphrase"/>
+           (default:
+          &circ;F)
+          
+        </para>
+        
+        <para>
+          This command wipes the passphrase(s) from memory. It is useful, if
+          you misspelled the passphrase.
+        </para>
+        
+        <para>
+          <emphasis role="bold">list-reply</emphasis><anchor id="func-list-reply"/>
+           (default: L)
+          
+        </para>
+        
+        <para>
+          Reply to the current or tagged message(s) by extracting any addresses
+          which
+          match the regular expressions given by the <link linkend="lists">
+            lists
+          </link>
+          commands, but also honor any <literal>Mail-Followup-To</literal>
+          header(s) if the
+          <link linkend="honor-followup-to">honor-followup-to</link>
+          configuration variable is set.  Using this when replying to messages
+          posted
+          to mailing lists helps avoid duplicate copies being sent to the
+          author of
+          the message you are replying to.
+        </para>
+        
+        <para>
+          <emphasis role="bold">pipe-message</emphasis><anchor id="pipe-message"/>
+           (default: &verbar;)
+          
+        </para>
+        
+        <para>
+          Asks for an external Unix command and pipes the current or
+          tagged message(s) to it.  The variables <link linkend="pipe-decode">
+            pipe-decode
+          </link>
+          ,<link linkend="pipe-split">pipe-split</link>, <link linkend="pipe-sep">
+            pipe-sep
+          </link>
+          and <link linkend="wait-key">wait-key</link> control the exact
+          behavior of this
+          function.
+        </para>
+        
+        <para>
+          <emphasis role="bold">resend-message</emphasis><anchor id="resend-message"/>
+           (default: ESC e)
+          
+        </para>
+        
+        <para>
+          With resend-message, mutt takes the current message as a template for
+          a
+          new message.  This function is best described as "recall from
+          arbitrary
+          folders".  It can conveniently be used to forward MIME messages while
+          preserving the original mail structure. Note that the amount of
+          headers
+          included here depends on the value of the <link linkend="weed">weed</link>
+          variable.
+        </para>
+        
+        <para>
+          This function is also available from the attachment menu. You can use
+          this
+          to easily resend a message which was included with a bounce message
+          as a message/rfc822 body part.
+        </para>
+        
+        <para>
+          <emphasis role="bold">shell-escape</emphasis><anchor id="shell-escape"/>
+           (default: !)
+          
+        </para>
+        
+        <para>
+          Asks for an external Unix command and executes it.  The <link linkend="wait-key">
+            wait-key
+          </link>
+          can be used to control
+          whether Mutt-ng will wait for a key to be pressed when the command
+          returns
+          (presumably to let the user read the output of the command), based on
+          the return status of the named command.
+        </para>
+        
+        <para>
+          <emphasis role="bold">toggle-quoted</emphasis><anchor id="toggle-quoted"/>
+           (default: T)
+          
+        </para>
+        
+        <para>
+          The <emphasis>pager</emphasis> uses the <link linkend="quote-regexp">
+            quote-regexp
+          </link>
+          variable to detect quoted text when
+          displaying the body of the message.  This function toggles the
+          displayof the quoted material in the message.  It is particularly
+          useful when
+          are interested in just the response and there is a large amount of
+          quoted text in the way.
+        </para>
+        
+        <para>
+          <emphasis role="bold">skip-quoted</emphasis><anchor id="skip-quoted"/>
+           (default: S)
+          
+        </para>
+        
+        <para>
+          This function will go to the next line of non-quoted text which come
+          after a line of quoted text in the internal pager.
+        </para>
+        
+        <para>
+          
+        </para>
+        
+        <!--}}}-->
+      </sect2>
+      
+      <!--}}}-->
+    </sect1>
+    
+    <sect1>
+      <title>Sending Mail  </title> <!--{{{-->
+      
+      <para>
+        The following bindings are available in the <emphasis>index</emphasis>
+        for sending
+        messages.
+      </para>
+      
+      <para>
+
+        <table>
+          <title>Default Mail Composition Bindings</title>
+          <tgroup cols="3" align="left" colsep="1" rowsep="1">
+          <thead>
+            <row>
+              <entry>Key</entry>
+              <entry>Function</entry>
+              <entry>Description</entry>
+            </row>
+          </thead>
+          <tbody>
+            <row><entry><code>m    </code></entry><entry><code>compose    </code></entry><entry>compose a new message</entry></row>
+            <row><entry><code>r     </code></entry><entry><code>reply       </code></entry><entry>reply to sender</entry></row>
+            <row><entry><code>g     </code></entry><entry><code>group-reply </code></entry><entry>reply to all recipients</entry></row>
+            <row><entry><code>L     </code></entry><entry><code>list-reply  </code></entry><entry>reply to mailing list address</entry></row>
+            <row><entry><code>f     </code></entry><entry><code>forward     </code></entry><entry>forward message</entry></row>
+            <row><entry><code>b     </code></entry><entry><code>bounce      </code></entry><entry>bounce (remail) message</entry></row>
+            <row><entry><code>ESC k  </code></entry><entry><code>mail-key    </code></entry><entry>mail a PGP public key to someone</entry></row>
+          </tbody>
+        </tgroup>
+      </table>
+
+      </para>
+      
+      <para>
+        Bouncing a message sends the message as is to the recipient you
+        specify.  Forwarding a message allows you to add comments or
+        modify the message you are forwarding.  These items are discussed
+        in greater detail in the next chapter <link linkend="forwarding-mail">
+          forwarding-mail
+        </link>
+        .
+      </para>
+      
+      <sect2>
+        <title>Composing new messages  </title> <!--{{{-->
+        
+        <para>
+          When you want to send an email using mutt-ng, simply press <literal>m</literal> on
+          your keyboard. Then, mutt-ng asks for the recipient via a prompt in
+          the last line:
+        </para>
+        
+        <para>
+          
+          <screen>
+To:</screen>
+          
+        </para>
+        
+        <para>
+          After you've finished entering the recipient(s), press return. If you
+          want to send an email to more than one recipient, separate the email
+          addresses using the comma "<literal>,</literal>". Mutt-ng then asks
+          you for the email
+          subject. Again, press return after you've entered it. After that,
+          mutt-ng
+          got the most important information from you, and starts up an editor
+          where you can then enter your email.
+        </para>
+        
+        <para>
+          The editor that is called is selected in the following way: you
+          can e.g. set it in the mutt-ng configuration:
+        </para>
+        
+        <para>
+          
+          <screen>
+set editor = "vim +/^$/ -c ':set tw=72'"
+set editor = "nano"
+set editor = "emacs"</screen>
+          
+        </para>
+        
+        <para>
+          If you don't set your preferred editor in your configuration, mutt-ng
+          first looks whether the environment variable <literal>$VISUAL</literal> is set, and if
+          so, it takes its value as editor command. Otherwise, it has a look
+          at <literal>$EDITOR</literal> and takes its value if it is set. If no
+          editor command
+          can be found, mutt-ng simply assumes <literal>vi</literal> to be the
+          default editor,
+          since it's the most widespread editor in the Unix world and it's
+          pretty
+          safe to assume that it is installed and available.
+        </para>
+        
+        <para>
+          When you've finished entering your message, save it and quit your 
+          editor. Mutt-ng will then present you with a summary screen, the
+          compose menu. 
+          On the top, you see a summary of the most important available key
+          commands.
+          Below that, you see the sender, the recipient(s), Cc and/or Bcc 
+          recipient(s), the subject, the reply-to address, and optionally
+          information where the sent email will be stored and whether it should
+          be digitally signed and/or encrypted.
+        </para>
+        
+        <para>
+          Below that, you see a list of "attachments". The mail you've just
+          entered before is also an attachment, but due to its special type
+          (it's plain text), it will be displayed as the normal message on
+          the receiver's side.
+        </para>
+        
+        <para>
+          At this point, you can add more attachments, pressing <literal>a</literal>, you
+          can edit the recipient addresses, pressing <literal>t</literal> for
+          the "To:" field,
+          <literal>c</literal> for the "Cc:" field, and <literal>b</literal>
+          for the "Bcc: field. You can
+          also edit the subject the subject by simply pressing <literal>s</literal> or the
+          email message that you've entered before by pressing <literal>e</literal>. You will
+          then again return to the editor. You can even edit the sender, by
+          pressing
+          <literal>&lt;esc&gt;f</literal>, but this shall only be used with
+          caution.
+        </para>
+        
+        <para>
+          Alternatively, you can configure mutt-ng in a way that most of the
+          above settings can be edited using the editor. Therefore, you only
+          need to add the following to your configuration:
+        </para>
+        
+        <para>
+          
+          <screen>
+set edit_headers</screen>
+          
+        </para>
+        
+        <para>
+          Once you have finished editing the body of your mail message, you are
+          returned to the <emphasis>compose</emphasis> menu.  The following
+          options are available:
+        </para>
+        
+        <para>
+
+        <table>
+          <title>Default Compose Menu Bindings</title>
+          <tgroup cols="3" align="left" colsep="1" rowsep="1">
+          <thead>
+            <row>
+              <entry>Key</entry>
+              <entry>Function</entry>
+              <entry>Description</entry>
+            </row>
+          </thead>
+          <tbody>
+            <row><entry><code>a    </code></entry><entry><code>attach-file  </code></entry><entry>attach a file</entry></row>
+            <row><entry><code>A    </code></entry><entry><code>attach-message  </code></entry><entry>attach message(s) to the message</entry></row>
+            <row><entry><code>ESC k  </code></entry><entry><code>attach-key       </code></entry><entry>attach a PGP public key</entry></row>
+            <row><entry><code>d    </code></entry><entry><code>edit-description  </code></entry><entry>edit description on attachment</entry></row>
+            <row><entry><code>D  </code></entry><entry><code>detach-file     </code></entry><entry>detach a file</entry></row>
+            <row><entry><code>t </code></entry><entry><code>edit-to         </code></entry><entry>edit the To field</entry></row>
+            <row><entry><code>ESC f </code></entry><entry><code>edit-from       </code></entry><entry>edit the From field</entry></row>
+            <row><entry><code>r  </code></entry><entry><code>edit-reply-to   </code></entry><entry>edit the Reply-To field</entry></row>
+            <row><entry><code>c </code></entry><entry><code>edit-cc         </code></entry><entry>edit the Cc field</entry></row>
+            <row><entry><code>b      </code></entry><entry><code>edit-bcc        </code></entry><entry>edit the Bcc field</entry></row>
+            <row><entry><code>y     </code></entry><entry><code>send-message    </code></entry><entry>send the message</entry></row>
+            <row><entry><code>s    </code></entry><entry><code>edit-subject    </code></entry><entry>edit the Subject</entry></row>
+            <row><entry><code>S   </code></entry><entry><code>smime-menu        </code></entry><entry>select S/MIME options</entry></row>
+            <row><entry><code>f      </code></entry><entry><code>edit-fcc        </code></entry><entry>specify an ``Fcc'' mailbox</entry></row>
+            <row><entry><code>p     </code></entry><entry><code>pgp-menu        </code></entry><entry>select PGP options</entry></row>
+            <row><entry><code>P    </code></entry><entry><code>postpone-message </code></entry><entry>postpone this message until later</entry></row>
+            <row><entry><code>q   </code></entry><entry><code>quit            </code></entry><entry>quit (abort) sending the message</entry></row>
+            <row><entry><code>w  </code></entry><entry><code>write-fcc      </code></entry><entry>write the message to a folder</entry></row>
+            <row><entry><code>i </code></entry><entry><code>ispell          </code></entry><entry>check spelling (if available on your system)</entry></row>
+            <row><entry><code>^F  </code></entry><entry><code>forget-passphrase   </code></entry><entry>wipe passphrase(s) from memory</entry></row>
+          </tbody>
+        </tgroup>
+      </table>
+
+        </para>
+        
+        <para>
+          <emphasis role="bold">Note:</emphasis> The attach-message function
+          will prompt you for a folder to
+          attach messages from. You can now tag messages in that folder and
+          theywill be attached to the message you are sending. Note that
+          certainoperations like composing a new mail, replying, forwarding,
+          etc. are
+          not permitted when you are in that folder. The &percnt;r in <link linkend="status-format">
+            status-format
+          </link>
+          will change to
+          a 'A' to indicate that you are in attach-message mode.
+        </para>
+        
+        <para>
+          
+        </para>
+        
+        <!--}}}-->
+      </sect2>
+      
+      <sect2>
+        <title>Replying      </title> <!--{{{-->
+        
+        <sect3>
+          <title>Simple Replies       </title> <!--{{{-->
+          
+          <para>
+            When you want to reply to an email message, select it in the index
+            menu and then press <literal>r</literal>. Mutt-ng's behaviour is
+            then similar to the 
+            behaviour when you compose a message: first, you will be asked for
+            the recipient, then for the subject, and then, mutt-ng will start
+            the editor with the quote attribution and the quoted message. This
+            can e.g. look like the example below.
+          </para>
+          
+          <para>
+            
+            <screen>
+On Mon, Mar 07, 2005 at 05:02:12PM +0100, Michael Svensson wrote:
+&gt; Bill, can you please send last month's progress report to Mr. 
+&gt; Morgan? We also urgently need the cost estimation for the new 
+&gt; production server that we want to set up before our customer's 
+&gt; project will go live.</screen>
+            
+          </para>
+          
+          <para>
+            You can start editing the email message. It is strongly
+            recommended to put your answer <emphasis>below</emphasis> the
+            quoted text and to
+            only quote what is really necessary and that you refer to. Putting
+            your answer on top of the quoted message, is, although very
+            widespread, very often not considered to be a polite way to answer
+            emails.
+          </para>
+          
+          <para>
+            The quote attribution is configurable, by default it is set to
+            
+            <screen>
+set attribution = "On %d, %n wrote:"</screen>
+            
+          </para>
+          
+          <para>
+            It can also be set to something more compact, e.g.
+            
+            <screen>
+set attribution = "attribution="* %n &lt;%a&gt; [%(%y-%m-%d %H:%M)]:"</screen>
+            
+          </para>
+          
+          <para>
+            The example above results in the following attribution:
+            
+            <screen>
+* Michael Svensson &lt;svensson@foobar.com&gt; [05-03-06 17:02]:
+&gt; Bill, can you please send last month's progress report to Mr. 
+&gt; Morgan? We also urgently need the cost estimation for the new 
+&gt; production server that we want to set up before our customer's 
+&gt; project will go live.</screen>
+            
+          </para>
+          
+          <para>
+            Generally, try to keep your attribution short yet
+            information-rich. It is <emphasis>not</emphasis> the right place
+            for witty quotes,
+            long "attribution" novels or anything like that: the right place
+            for such things is - if at all - the email signature at the very
+            bottom of the message.
+          </para>
+          
+          <para>
+            When you're done with writing your message, save and quit the
+            editor. As before, you will return to the compose menu, which is
+            used in the same way as before.
+          </para>
+          
+          <para>
+            
+          </para>
+          
+          <!--}}}-->
+        </sect3>
+        
+        <sect3>
+          <title>Group Replies      </title> <!--{{{-->
+          
+          <para>
+            In the situation where a group of people uses email as a
+            discussion, most of the emails will have one or more recipients,
+            and probably several "Cc:" recipients. The group reply
+            functionalityensures that when you press <literal>g</literal>
+            instead of <literal>r</literal> to do a reply,
+            each and every recipient that is contained in the original message
+            will receive a copy of the message, either as normal recipient or
+            as "Cc:" recipient.
+          </para>
+          
+          <para>
+            
+          </para>
+          
+          <!--}}}-->
+        </sect3>
+        
+        <sect3>
+          <title>List Replies      </title> <!--{{{-->
+          
+          <para>
+            When you use mailing lists, it's generally better to send your
+            reply to a message only to the list instead of the list and the
+            original author. To make this easy to use, mutt-ng features list
+            replies.
+          </para>
+          
+          <para>
+            To do a list reply, simply press <literal>L</literal>. If the email
+            contains
+            a <literal>Mail-Followup-To:</literal> header, its value will be
+            used as reply
+            address. Otherwise, mutt-ng searches through all mail addresses in
+            the original message and tries to match them a list of regular
+            expressions which can be specified using the <literal>lists</literal> command. 
+            If any of the regular expression matches, a mailing
+            list address has been found, and it will be used as reply address.
+          </para>
+          
+          <para>
+            
+            <screen>
+lists linuxevent@luga\.at vuln-dev@ mutt-ng-users@</screen>
+            
+          </para>
+          
+          <para>
+            Nowadays, most mailing list software like GNU Mailman adds a
+            <literal>Mail-Followup-To:</literal> header to their emails anyway,
+            so setting
+            <literal>lists</literal> is hardly ever necessary in practice.
+          </para>
+          
+          <para>
+            
+          </para>
+          
+          <para>
+            
+          </para>
+          
+          <!--}}}-->
+        </sect3>
+        
+        <!--}}}-->
+      </sect2>
+      
+      <sect2>
+        <title>Editing the message header  </title>
+        
+        <para>
+          When editing the header of your outgoing message, there are a couple
+          of
+          special features available.
+        </para>
+        
+        <para>
+          If you specify
+          
+          <literal>Fcc:</literal> <emphasis>filename</emphasis>
+          
+          Mutt-ng will pick up <emphasis>filename</emphasis>
+          just as if you had used the <emphasis>edit-fcc</emphasis> function in
+          the <emphasis>compose</emphasis> menu.
+        </para>
+        
+        <para>
+          You can also attach files to your message by specifying
+          
+          <literal>Attach:</literal> <emphasis>filename</emphasis>  &lsqb; <emphasis>
+            description
+          </emphasis>
+          &rsqb;
+          
+          where <emphasis>filename</emphasis> is the file to attach and <emphasis>
+            description
+          </emphasis>
+          is an
+          optional string to use as the description of the attached file.
+        </para>
+        
+        <para>
+          When replying to messages, if you remove the <emphasis>In-Reply-To:</emphasis> field from
+          the header field, Mutt-ng will not generate a <emphasis>References:</emphasis> field, which
+          allows you to create a new message thread.
+        </para>
+        
+        <para>
+          Also see <link linkend="edit-headers">edit-headers</link>.
+        </para>
+        
+        <para>
+          
+        </para>
+        
+      </sect2>
+      
+      <sect2>
+        <title>Using Mutt-ng with PGP  </title>
+        
+        <para>
+          If you want to use PGP, you can specify 
+        </para>
+        
+        <para>
+          <literal>Pgp:</literal> &lsqb; <literal>E</literal> &verbar; <literal>
+            S
+          </literal>
+          &verbar; <literal>S</literal><emphasis>&lt;id&gt;</emphasis> &rsqb; 
+          
+        </para>
+        
+        <para>
+          ``E'' encrypts, ``S'' signs and
+          ``S&lt;id&gt;'' signs with the given key, setting <link linkend="pgp-sign-as">
+            pgp-sign-as
+          </link>
+          permanently.
+        </para>
+        
+        <para>
+          If you have told mutt to PGP encrypt a message, it will guide you
+          through a key selection process when you try to send the message.
+          Mutt-ng will not ask you any questions about keys which have a
+          certified user ID matching one of the message recipients' mail
+          addresses.  However, there may be situations in which there are
+          several keys, weakly certified user ID fields, or where no matching
+          keys can be found.
+        </para>
+        
+        <para>
+          In these cases, you are dropped into a menu with a list of keys from
+          which you can select one.  When you quit this menu, or mutt can't
+          find any matching keys, you are prompted for a user ID.  You can, as
+          usually, abort this prompt using <literal>&circ;G</literal>.  When
+          you do so, mutt will
+          return to the compose screen.
+        </para>
+        
+        <para>
+          Once you have successfully finished the key selection, the message
+          will be encrypted using the selected public keys, and sent out.
+        </para>
+        
+        <para>
+          Most fields of the entries in the key selection menu (see also <link linkend="pgp-entry-format">
+            pgp-entry-format
+          </link>
+          )
+          have obvious meanings.  But some explanations on the capabilities,
+          flags, 
+          and validity fields are in order.
+        </para>
+        
+        <para>
+          The flags sequence (&percnt;f) will expand to one of the following
+          flags:
+
+
+        <table>
+          <title>PGP Key Menu Flags</title>
+          <tgroup cols="2" align="left" colsep="1" rowsep="1">
+          <thead>
+            <row>
+              <entry>Flag</entry>
+              <entry>Description</entry>
+            </row>
+          </thead>
+          <tbody>
+            <row><entry><code>R      </code></entry><entry>The key has been revoked and can't be used.</entry></row>
+            <row><entry><code>X     </code></entry><entry>The key is expired and can't be used.</entry></row>
+            <row><entry><code>d     </code></entry><entry>You have marked the key as disabled.</entry></row>
+            <row><entry><code>c     </code></entry><entry>There are unknown critical self-signature packets.</entry></row>
+          </tbody>
+        </tgroup>
+      </table>
+
+        </para>
+        
+        <para>
+          The capabilities field (&percnt;c) expands to a two-character
+          sequencerepresenting a key's capabilities.  The first character gives
+          the key's encryption capabilities: A minus sign (<emphasis role="bold">
+            -
+          </emphasis>
+          )means 
+          that the key cannot be used for encryption.  A dot (<emphasis role="bold">
+            .
+          </emphasis>
+          )means that
+          it's marked as a signature key in one of the user IDs, but may 
+          also be used for encryption.  The letter <emphasis role="bold">e</emphasis> indicates that 
+          this key can be used for encryption.
+        </para>
+        
+        <para>
+          The second character indicates the key's signing capabilities.  Once 
+          again, a ``<emphasis role="bold">-</emphasis>'' implies ``not for
+          signing'', ``<emphasis role="bold">.</emphasis>'' implies
+          that the key is marked as an encryption key in one of the user-ids,
+          and
+          ``<emphasis role="bold">s</emphasis>'' denotes a key which can be
+          used for signing.
+        </para>
+        
+        <para>
+          Finally, the validity field (&percnt;t) indicates how well-certified
+          a user-id
+          is.  A question mark (<emphasis role="bold">?</emphasis>) indicates
+          undefined validity, a minus 
+          character (<emphasis role="bold">-</emphasis>) marks an untrusted
+          association, a space character 
+          means a partially trusted association, and a plus character (<emphasis role="bold">
+            +
+          </emphasis>
+          )
+          indicates complete validity.
+        </para>
+        
+        <para>
+          
+        </para>
+        
+      </sect2>
+      
+      <sect2>
+        <title>Sending anonymous messages via mixmaster  </title>
+        
+        <para>
+          You may also have configured mutt to co-operate with Mixmaster, an
+          anonymous remailer.  Mixmaster permits you to send your messages
+          anonymously using a chain of remailers. Mixmaster support in mutt is
+          for 
+          mixmaster version 2.04 (beta 45 appears to be the latest) and 2.03. 
+          It does not support earlier versions or the later so-called version 3
+          betas, 
+          of which the latest appears to be called 2.9b23.
+        </para>
+        
+        <para>
+          To use it, you'll have to obey certain restrictions.  Most
+          important, you cannot use the <literal>Cc</literal> and <literal>Bcc</literal> headers.  To tell
+          Mutt-ng to use mixmaster, you have to select a remailer chain, using
+          the mix function on the compose menu.  
+        </para>
+        
+        <para>
+          The chain selection screen is divided into two parts.  In the
+          (larger) upper part, you get a list of remailers you may use.  In
+          the lower part, you see the currently selected chain of remailers.
+        </para>
+        
+        <para>
+          You can navigate in the chain using the <literal>chain-prev</literal>
+          and
+          <literal>chain-next</literal> functions, which are by default bound
+          to the left
+          and right arrows and to the <literal>h</literal> and <literal>l</literal> keys (think vi
+          keyboard bindings).  To insert a remailer at the current chain
+          position, use the <literal>insert</literal> function.  To append a
+          remailer behind
+          the current chain position, use <literal>select-entry</literal> or <literal>
+            append
+          </literal>
+          .
+          You can also delete entries from the chain, using the corresponding
+          function.  Finally, to abandon your changes, leave the menu, or
+          <literal>accept</literal> them pressing (by default) the <literal>
+            Return
+          </literal>
+          key.
+        </para>
+        
+        <para>
+          Note that different remailers do have different capabilities,
+          indicated in the &percnt;c entry of the remailer menu lines (see
+          <link linkend="mix-entry-format">mix-entry-format</link>).  Most
+          important is
+          the ``middleman'' capability, indicated by a capital ``M'': This
+          means that the remailer in question cannot be used as the final
+          element of a chain, but will only forward messages to other
+          mixmaster remailers.  For details on the other capabilities, please
+          have a look at the mixmaster documentation.
+        </para>
+        
+        <para>
+          
+        </para>
+        
+        <para>
+          
+        </para>
+        
+      </sect2>
+      
+    </sect1>
+    
+    <sect1 id="forwarding-mail">
+      <title>Forwarding and Bouncing Mail  </title>
+      
+      <para>
+        Often, it is necessary to forward mails to other people.
+        Therefore, mutt-ng supports forwarding messages in two different
+        ways.
+      </para>
+      
+      <para>
+        The first one is regular forwarding, as you probably know it from
+        other mail clients. You simply press <literal>f</literal>, enter the
+        recipient
+        email address, the subject of the forwarded email, and then you can
+        edit the message to be forwarded in the editor. The forwarded
+        message is separated from the rest of the message via the two
+        following markers:
+      </para>
+      
+      <para>
+        
+        <screen>
+----- Forwarded message from Lucas User &#60;luser@example.com&#62; -----
 
-<para>
-  You can remap the <emphasis>editor</emphasis> functions using the <link linkend="bind">bind</link>
-command.  For example, to make the <emphasis>Delete</emphasis> key delete the character in
-front of the cursor rather than under, you could use
-</para>
+From: Lucas User &#60;luser@example.com&#62;
+Date: Thu, 02 Dec 2004 03:08:34 +0100
+To: Michael Random &#60;mrandom@example.com&#62;
+Subject: Re: blackmail
 
-<para>
-<literal>bind editor &lt;delete&gt; backspace</literal>
-</para>
+Pay me EUR 50,000.- cash or your favorite stuffed animal will die
+a horrible death.
 
-<para>
-</para>
-
-</sect1> <!--}}}-->
-
-<sect1>
-<title>Reading Mail - The Index and Pager  </title> <!--{{{-->
-
-<para>
-Similar to many other mail clients, there are two modes in which mail is
-read in Mutt-ng.  The first is the index of messages in the mailbox, which is
-called the ``index'' in Mutt-ng.  The second mode is the display of the
-message contents.  This is called the ``pager.''
-</para>
-
-<para>
-The next few sections describe the functions provided in each of these
-modes.
-</para>
-
-<sect2>
-<title>The Message Index</title> <!--{{{-->
-
-<para>
-
-<screen>
-c               change to a different mailbox
-ESC c           change to a folder in read-only mode
-C               copy the current message to another mailbox
-ESC C           decode a message and copy it to a folder
-ESC s           decode a message and save it to a folder
-D               delete messages matching a pattern
-d               delete the current message
-F               mark as important
-l               show messages matching a pattern
-N               mark message as new
-o               change the current sort method
-O               reverse sort the mailbox
-q               save changes and exit
-s               save-message
-T               tag messages matching a pattern
-t               toggle the tag on a message
-ESC t           toggle tag on entire message thread
-U               undelete messages matching a pattern
-u               undelete-message
-v               view-attachments
-x               abort changes and exit
-&#60;Return&#62;        display-message
-&#60;Tab&#62;           jump to the next new message
-@               show the author's full e-mail address
-$               save changes to mailbox
-/               search
-ESC /           search-reverse
-^L              clear and redraw the screen
-^T              untag messages matching a pattern
-</screen>
-
-</para>
-
-<sect3>
-<title>Status Flags</title> <!--{{{-->
-
-<para>
-In addition to who sent the message and the subject, a short summary of
-the disposition of each message is printed beside the message number.
-Zero or more of the following ``flags'' may appear, which mean:
-</para>
-
-<para>
-<variablelist>
-
-<varlistentry>
-<term>D</term>
-<listitem>
-<para>
-message is deleted (is marked for deletion)
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>d</term>
-<listitem>
-<para>
-message have attachments marked for deletion
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>K</term>
-<listitem>
-<para>
-contains a PGP public key
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>N</term>
-<listitem>
-<para>
-message is new
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>O</term>
-<listitem>
-<para>
-message is old
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>P</term>
-<listitem>
-<para>
-message is PGP encrypted
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>r</term>
-<listitem>
-<para>
-message has been replied to
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>S</term>
-<listitem>
-<para>
-message is signed, and the signature is succesfully verified
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>s</term>
-<listitem>
-<para>
-message is signed
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>!</term>
-<listitem>
-<para>
-message is flagged
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>*</term>
-<listitem>
-<para>
-message is tagged
-</para>
-</listitem></varlistentry>
-</variablelist>
-</para>
-
-<para>
-Some of the status flags can be turned on or off using
-
-<itemizedlist>
-<listitem>
-
-<para>
-<emphasis role="bold">set-flag</emphasis> (default: w)
-</para>
-</listitem>
-<listitem>
-
-<para>
-<emphasis role="bold">clear-flag</emphasis> (default: W)
-</para>
-</listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>
-Furthermore, the following flags reflect who the message is addressed
-to.  They can be customized with the
-<link linkend="to-chars">&dollar;to&lowbar;chars</link> variable.
-</para>
-
-<para>
-<variablelist>
-
-<varlistentry>
-<term>+</term>
-<listitem>
-<para>
-message is to you and you only
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>T</term>
-<listitem>
-<para>
-message is to you, but also to or cc'ed to others
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>C</term>
-<listitem>
-<para>
-message is cc'ed to you
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>F</term>
-<listitem>
-<para>
-message is from you
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>L</term>
-<listitem>
-<para>
-message is sent to a subscribed mailing list
-</para>
-</listitem></varlistentry>
-</variablelist>
-</para>
-
-<!--}}}-->
-</sect3>
-
-<!--}}}-->
-</sect2>
-
-<sect2>
-<title>The Pager</title> <!--{{{-->
-
-<para>
-By default, Mutt-ng uses its builtin pager to display the body of messages.
-The pager is very similar to the Unix program <emphasis>less</emphasis> though not nearly as
-featureful.
-</para>
-
-<para>
-
-<screen>
-&#60;Return&#62;        go down one line
-&#60;Space&#62;         display the next page (or next message if at the end of a message)
--               go back to the previous page
-n               search for next match
-S               skip beyond quoted text
-T               toggle display of quoted text
-?               show key bindings
-/               search for a regular expression (pattern)
-ESC /           search backwards for a regular expression
-\               toggle search pattern coloring
-^               jump to the top of the message
-</screen>
-
-</para>
-
-<para>
-In addition, many of the functions from the <emphasis>index</emphasis> are available in
-the pager, such as <emphasis>delete-message</emphasis> or <emphasis>copy-message</emphasis> (this is one
-advantage over using an external pager to view messages).
-</para>
-
-<para>
-Also, the internal pager supports a couple other advanced features. For
-one, it will accept and translate the ``standard'' nroff sequences for
-bold and underline. These sequences are a series of either the letter,
-backspace (&circ;H), the letter again for bold or the letter, backspace,
-``&lowbar;'' for denoting underline. Mutt-ng will attempt to display these
-in bold and underline respectively if your terminal supports them. If
-not, you can use the bold and underline <link
-  linkend="color">color</link>
-objects to specify a color or mono attribute for them.
-</para>
-
-<para>
-Additionally, the internal pager supports the ANSI escape sequences for
-character attributes.  Mutt-ng translates them into the correct color and
-character settings.  The sequences Mutt-ng supports are:
-</para>
-
-<para>
-
-<screen>
-ESC [ Ps;Ps;Ps;...;Ps m
-where Ps =
-0    All Attributes Off
-1    Bold on
-4    Underline on
-5    Blink on
-7    Reverse video on
-3x   Foreground color is x
-4x   Background color is x
-
-Colors are
-0    black
-1    red
-2    green
-3    yellow
-4    blue
-5    magenta
-6    cyan
-7    white
-</screen>
-
-</para>
-
-<para>
-Mutt-ng uses these attributes for handling text/enriched messages, and they
-can also be used by an external <link
-  linkend="auto-view">autoview</link>
-script for highlighting purposes.  <emphasis role="bold">Note:</emphasis> If you change the colors for your
-display, for example by changing the color associated with color2 for
-your xterm, then that color will be used instead of green.
-</para>
-
-<!--}}}-->
-</sect2>
-
-<sect2 id="threads">
-<title>Threaded Mode</title> <!--{{{-->
-
-<para>
-  When the mailbox is <link linkend="sort">sorted</link> by <emphasis>threads</emphasis>, there are
-a few additional functions available in the <emphasis>index</emphasis> and <emphasis>pager</emphasis> modes.
-</para>
-
-<para>
-
-<screen>
-^D      delete-thread           delete all messages in the current thread
-^U      undelete-thread         undelete all messages in the current thread
-^N      next-thread             jump to the start of the next thread
-^P      previous-thread         jump to the start of the previous thread
-^R      read-thread             mark the current thread as read
-ESC d   delete-subthread        delete all messages in the current subthread
-ESC u   undelete-subthread      undelete all messages in the current subthread
-ESC n   next-subthread          jump to the start of the next subthread
-ESC p   previous-subthread      jump to the start of the previous subthread
-ESC r   read-subthread          mark the current subthread as read
-ESC t   tag-thread              toggle the tag on the current thread
-ESC v  collapse-thread         toggle collapse for the current thread
-ESC V  collapse-all            toggle collapse for all threads
-P       parent-message          jump to parent message in thread
-</screen>
-
-</para>
-
-<para>
-<emphasis role="bold">Note:</emphasis> Collapsing a thread displays only the first message
-in the thread and hides the others. This is useful when threads
-contain so many messages that you can only see a handful of threads on
-the screen. See &percnt;M in <link
-  linkend="index-format">index-format</link>.
-For example, you could use "&percnt;?M?(&num;&percnt;03M)&amp;(&percnt;4l)?" in <link linkend="index-format">index-format</link> to optionally
-display the number of hidden messages if the thread is collapsed.
-</para>
-
-<para>
-  See also: <link linkend="strict-threads">strict-threads</link>.
-</para>
-
-<!--}}}-->
-</sect2>
-
-<sect2>
-<title>Miscellaneous Functions</title> <!--{{{-->
-
-<para>
-<emphasis role="bold">create-alias</emphasis><anchor id="create-alias"/> (default: a)
-
-</para>
-
-<para>
-Creates a new alias based upon the current message (or prompts for a
-new one).  Once editing is complete, an <link linkend="alias">alias</link>
-command is added to the file specified by the <link linkend="alias-file">alias-file</link> variable for future use. <emphasis role="bold">Note:</emphasis>
-Specifying an <link linkend="alias-file">alias-file</link>
-does not add the aliases specified there-in, you must also <link linkend="source">source</link> the file.
-</para>
-
-<para>
-<emphasis role="bold">check-traditional-pgp</emphasis><anchor id="check-traditional-pgp"/> (default: ESC P)
-
-</para>
-
-<para>
-This function will search the current message for content signed or
-encrypted with PGP the "traditional" way, that is, without proper
-MIME tagging.  Technically, this function will temporarily change
-the MIME content types of the body parts containing PGP data; this
-is similar to the <link linkend="edit-type">edit-type</link> function's
-effect.
-</para>
-
-<para>
-<emphasis role="bold">display-toggle-weed</emphasis><anchor id="display-toggle-weed"/> (default: h)
-
-</para>
-
-<para>
-Toggles the weeding of message header fields specified by <link linkend="ignore">ignore</link> commands.
-</para>
-
-<para>
-<emphasis role="bold">edit</emphasis><anchor id="edit"/> (default: e)
-
-</para>
-
-<para>
-This command (available in the ``index'' and ``pager'') allows you to
-edit the raw current message as it's present in the mail folder.
-After you have finished editing, the changed message will be
-appended to the current folder, and the original message will be
-marked for deletion.
-</para>
-
-<para>
-<emphasis role="bold">edit-type</emphasis><anchor id="edit-type"/>
-
-(default: &circ;E on the attachment menu, and in the pager and index menus; &circ;T on the
-compose menu)
-</para>
-
-<para>
-This command is used to temporarily edit an attachment's content
-type to fix, for instance, bogus character set parameters.  When
-invoked from the index or from the pager, you'll have the
-opportunity to edit the top-level attachment's content type.  On the
-<link linkend="attach-menu">attach-menu</link>, you can change any
-attachment's content type. These changes are not persistent, and get
-lost upon changing folders.
-</para>
-
-<para>
-Note that this command is also available on the <link linkend="compose-menu">compose-menu</link>.  There, it's used to
-fine-tune the properties of attachments you are going to send.
-</para>
-
-<para>
-<emphasis role="bold">enter-command</emphasis><anchor id="enter-command"/> (default: ``:'')
-
-</para>
-
-<para>
-This command is used to execute any command you would normally put in a
-configuration file.  A common use is to check the settings of variables, or
-in conjunction with <link linkend="macro">macro</link> to change settings on the
-fly.
-</para>
-
-<para>
-<emphasis role="bold">extract-keys</emphasis><anchor id="extract-keys"/> (default: &circ;K)
-
-</para>
-
-<para>
-This command extracts PGP public keys from the current or tagged
-message(s) and adds them to your PGP public key ring.
-</para>
-
-<para>
-<emphasis role="bold">forget-passphrase</emphasis><anchor id="forget-passphrase"/> (default:
-&circ;F)
-</para>
-
-<para>
-This command wipes the passphrase(s) from memory. It is useful, if
-you misspelled the passphrase.
-</para>
-
-<para>
-<emphasis role="bold">list-reply</emphasis><anchor id="func-list-reply"/> (default: L)
-
-</para>
-
-<para>
-Reply to the current or tagged message(s) by extracting any addresses which
-match the regular expressions given by the <link linkend="lists">lists</link>
-commands, but also honor any <literal>Mail-Followup-To</literal> header(s) if the
-<link linkend="honor-followup-to">honor-followup-to</link>
-configuration variable is set.  Using this when replying to messages posted
-to mailing lists helps avoid duplicate copies being sent to the author of
-the message you are replying to.
-</para>
-
-<para>
-<emphasis role="bold">pipe-message</emphasis><anchor id="pipe-message"/> (default: &verbar;)
-
-</para>
-
-<para>
-Asks for an external Unix command and pipes the current or
-tagged message(s) to it.  The variables <link linkend="pipe-decode">pipe-decode</link>, <link linkend="pipe-split">pipe-split</link>, <link linkend="pipe-sep">pipe-sep</link> and <link linkend="wait-key">wait-key</link> control the exact behavior of this
-function.
-</para>
-
-<para>
-<emphasis role="bold">resend-message</emphasis><anchor id="resend-message"/> (default: ESC e)
-
-</para>
-
-<para>
-With resend-message, mutt takes the current message as a template for a
-new message.  This function is best described as "recall from arbitrary
-folders".  It can conveniently be used to forward MIME messages while
-preserving the original mail structure. Note that the amount of headers
-included here depends on the value of the <link linkend="weed">weed</link>
-variable.
-</para>
-
-<para>
-This function is also available from the attachment menu. You can use this
-to easily resend a message which was included with a bounce message
-as a message/rfc822 body part.
-</para>
-
-<para>
-<emphasis role="bold">shell-escape</emphasis><anchor id="shell-escape"/> (default: !)
-
-</para>
-
-<para>
-Asks for an external Unix command and executes it.  The <link linkend="wait-key">wait-key</link> can be used to control
-whether Mutt-ng will wait for a key to be pressed when the command returns
-(presumably to let the user read the output of the command), based on
-the return status of the named command.
-</para>
-
-<para>
-<emphasis role="bold">toggle-quoted</emphasis><anchor id="toggle-quoted"/> (default: T)
-
-</para>
-
-<para>
-The <emphasis>pager</emphasis> uses the <link linkend="quote-regexp">quote-regexp</link> variable to detect quoted text when
-displaying the body of the message.  This function toggles the display
-of the quoted material in the message.  It is particularly useful when
-are interested in just the response and there is a large amount of
-quoted text in the way.
-</para>
-
-<para>
-<emphasis role="bold">skip-quoted</emphasis><anchor id="skip-quoted"/> (default: S)
-
-</para>
-
-<para>
-This function will go to the next line of non-quoted text which come
-after a line of quoted text in the internal pager.
-</para>
-
-<para>
-</para>
-
-<!--}}}-->
-</sect2>
-
-<!--}}}-->
-</sect1>
-
-<sect1>
-<title>Sending Mail  </title> <!--{{{-->
-
-<para>
-The following bindings are available in the <emphasis>index</emphasis> for sending
-messages.
-</para>
-
-<para>
-
-<screen>
-m       compose         compose a new message
-r       reply           reply to sender
-g       group-reply     reply to all recipients
-L       list-reply      reply to mailing list address
-f       forward         forward message
-b       bounce          bounce (remail) message
-ESC k   mail-key        mail a PGP public key to someone
-</screen>
-
-</para>
-
-<para>
-Bouncing a message sends the message as is to the recipient you
-specify.  Forwarding a message allows you to add comments or
-modify the message you are forwarding.  These items are discussed
-in greater detail in the next chapter <link linkend="forwarding-mail">forwarding-mail</link>.
-</para>
-
-<sect2>
-<title>Composing new messages  </title> <!--{{{-->
-
-<para>
-When you want to send an email using mutt-ng, simply press <literal>m</literal> on
-your keyboard. Then, mutt-ng asks for the recipient via a prompt in
-the last line:
-</para>
-
-<para>
-
-<screen>
-To: 
-</screen>
-
-</para>
-
-<para>
-After you've finished entering the recipient(s), press return. If you
-want to send an email to more than one recipient, separate the email
-addresses using the comma "<literal>,</literal>". Mutt-ng then asks you for the email
-subject. Again, press return after you've entered it. After that, mutt-ng
-got the most important information from you, and starts up an editor
-where you can then enter your email.
-</para>
-
-<para>
-The editor that is called is selected in the following way: you
-can e.g. set it in the mutt-ng configuration:
-</para>
-
-<para>
-
-<screen>
-set editor = "vim +/^$/ -c ':set tw=72'"
-set editor = "nano"
-set editor = "emacs"
-</screen>
-
-</para>
-
-<para>
-If you don't set your preferred editor in your configuration, mutt-ng
-first looks whether the environment variable <literal>$VISUAL</literal> is set, and if
-so, it takes its value as editor command. Otherwise, it has a look
-at <literal>$EDITOR</literal> and takes its value if it is set. If no editor command
-can be found, mutt-ng simply assumes <literal>vi</literal> to be the default editor,
-since it's the most widespread editor in the Unix world and it's pretty
-safe to assume that it is installed and available.
-</para>
-
-<para>
-When you've finished entering your message, save it and quit your 
-editor. Mutt-ng will then present you with a summary screen, the compose menu. 
-On the top, you see a summary of the most important available key commands.
-Below that, you see the sender, the recipient(s), Cc and/or Bcc 
-recipient(s), the subject, the reply-to address, and optionally
-information where the sent email will be stored and whether it should
-be digitally signed and/or encrypted.
-</para>
-
-<para>
-Below that, you see a list of "attachments". The mail you've just
-entered before is also an attachment, but due to its special type
-(it's plain text), it will be displayed as the normal message on
-the receiver's side.
-</para>
-
-<para>
-At this point, you can add more attachments, pressing <literal>a</literal>, you
-can edit the recipient addresses, pressing <literal>t</literal> for the "To:" field,
-<literal>c</literal> for the "Cc:" field, and <literal>b</literal> for the "Bcc: field. You can
-also edit the subject the subject by simply pressing <literal>s</literal> or the
-email message that you've entered before by pressing <literal>e</literal>. You will
-then again return to the editor. You can even edit the sender, by pressing
-<literal>&lt;esc&gt;f</literal>, but this shall only be used with caution.
-</para>
-
-<para>
-Alternatively, you can configure mutt-ng in a way that most of the
-above settings can be edited using the editor. Therefore, you only
-need to add the following to your configuration:
-</para>
-
-<para>
-
-<screen>
-set edit_headers
-</screen>
-
-</para>
-
-<para>
-Once you have finished editing the body of your mail message, you are
-returned to the <emphasis>compose</emphasis> menu.  The following options are available:
-</para>
-
-<para>
-
-<screen>
-a       attach-file             attach a file
-A      attach-message          attach message(s) to the message
-ESC k   attach-key              attach a PGP public key
-d       edit-description        edit description on attachment
-D       detach-file             detach a file
-t       edit-to                 edit the To field
-ESC f   edit-from               edit the From field
-r       edit-reply-to           edit the Reply-To field
-c       edit-cc                 edit the Cc field
-b       edit-bcc                edit the Bcc field
-y       send-message            send the message
-s       edit-subject            edit the Subject
-S       smime-menu              select S/MIME options
-f       edit-fcc                specify an ``Fcc'' mailbox
-p       pgp-menu                select PGP options
-P       postpone-message        postpone this message until later
-q       quit                    quit (abort) sending the message
-w      write-fcc               write the message to a folder
-i       ispell                  check spelling (if available on your system)
-^F      forget-passphrase       wipe passphrase(s) from memory
-</screen>
-
-</para>
-
-<para>
-<emphasis role="bold">Note:</emphasis> The attach-message function will prompt you for a folder to
-attach messages from. You can now tag messages in that folder and they
-will be attached to the message you are sending. Note that certain
-operations like composing a new mail, replying, forwarding, etc. are
-not permitted when you are in that folder. The &percnt;r in <link linkend="status-format">status-format</link> will change to
-a 'A' to indicate that you are in attach-message mode.
-</para>
-
-<para>
-</para>
-
-<!--}}}-->
-</sect2>
-
-<sect2>
-<title>Replying      </title> <!--{{{-->
-
-<sect3>
-<title>Simple Replies       </title> <!--{{{-->
-
-<para>
-When you want to reply to an email message, select it in the index
-menu and then press <literal>r</literal>. Mutt-ng's behaviour is then similar to the 
-behaviour when you compose a message: first, you will be asked for
-the recipient, then for the subject, and then, mutt-ng will start
-the editor with the quote attribution and the quoted message. This
-can e.g. look like the example below.
-</para>
-
-<para>
-
-<screen>
-On Mon, Mar 07, 2005 at 05:02:12PM +0100, Michael Svensson wrote:
-&gt; Bill, can you please send last month's progress report to Mr. 
-&gt; Morgan? We also urgently need the cost estimation for the new 
-&gt; production server that we want to set up before our customer's 
-&gt; project will go live.
+----- End forwarded message -----</screen>
+        
+      </para>
+      
+      <para>
+        When you're done with editing the mail, save and quit the editor,
+        and you will return to the compose menu, the same menu you also
+        encounter when composing or replying to mails.
+      </para>
+      
+      <para>
+        The second mode of forwarding emails with mutt-ng is the
+        so-called <emphasis>bouncing</emphasis>: when you bounce an email to
+        another
+        address, it will be sent in practically the same format you send it
+        (except for headers that are created during transporting the
+        message). To bounce a message, press <literal>b</literal> and enter the
+        recipient
+        email address. By default, you are then asked whether you really
+        want to bounce the message to the specified recipient. If you answer
+        with yes, the message will then be bounced.
+      </para>
+      
+      <para>
+        To the recipient, the bounced email will look as if he got it
+        like a regular email where he was <literal>Bcc:</literal> recipient.
+        The only
+        possibility to find out whether it was a bounced email is to
+        carefully study the email headers and to find out which host really
+        sent the email.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
     
-</screen>
-
-</para>
-
-<para>
-You can start editing the email message. It is strongly
-recommended to put your answer <emphasis>below</emphasis> the quoted text and to
-only quote what is really necessary and that you refer to. Putting
-your answer on top of the quoted message, is, although very
-widespread, very often not considered to be a polite way to answer
-emails.
-</para>
-
-<para>
-The quote attribution is configurable, by default it is set to
-
-<screen>
-set attribution = "On %d, %n wrote:"
+    <sect1 id="postponing-mail">
+      <title>Postponing Mail  </title>
+      
+      <para>
+        At times it is desirable to delay sending a message that you have
+        already begun to compose.  When the <emphasis>postpone-message</emphasis> function is
+        used in the <emphasis>compose</emphasis> menu, the body of your message
+        and attachments
+        are stored in the mailbox specified by the <link linkend="postponed">
+          postponed
+        </link>
+        variable.  This means that you can recall the
+        message even if you exit Mutt-ng and then restart it at a later time.
+      </para>
+      
+      <para>
+        Once a message is postponed, there are several ways to resume it.  From
+        the
+        command line you can use the ``-p'' option, or if you <emphasis>compose</emphasis> a new
+        message from the <emphasis>index</emphasis> or <emphasis>pager</emphasis> you will be prompted if postponed
+        messages exist.  If multiple messages are currently postponed, the
+        <emphasis>postponed</emphasis> menu will pop up and you can select
+        which message you would
+        like to resume.
+      </para>
+      
+      <para>
+        <emphasis role="bold">Note:</emphasis> If you postpone a reply to a
+        message, the reply setting of
+        the message is only updated when you actually finish the message and
+        send it.  Also, you must be in the same folder with the message you
+        replied to for the status of the message to be updated.
+      </para>
+      
+      <para>
+        See also the <link linkend="postpone">postpone</link> quad-option.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
     
-</screen>
-
-</para>
-
-<para>
-It can also be set to something more compact, e.g.
-
-<screen>
-set attribution = "attribution="* %n &lt;%a&gt; [%(%y-%m-%d %H:%M)]:"
+  </chapter>
+  
+  <chapter>
+    <title>Configuration  </title>
     
-</screen>
-
-</para>
-
-<para>
-The example above results in the following attribution:
-
-<screen>
-* Michael Svensson &lt;svensson@foobar.com&gt; [05-03-06 17:02]:
+    <sect1>
+      <title>Locations of Configuration Files  </title>
+      
+      <para>
+        While the default configuration (or ``preferences'') make Mutt-ng
+        usable right out
+        of the box, it is often desirable to tailor Mutt-ng to suit your own
+        tastes. When
+        Mutt-ng is first invoked, it will attempt to read the ``system''
+        configuration
+        file (defaults set by your local system administrator), unless the
+        ``-n'' <link linkend="commandline">commandline</link> option is
+        specified.  This file is
+        typically <literal>/usr/local/share/muttng/Muttngrc</literal> or <literal>
+          /etc/Muttngrc
+        </literal>
+        ,
+        Mutt-ng users will find this file in <literal>
+          /usr/local/share/muttng/Muttrc
+        </literal>
+        or
+        <literal>/etc/Muttngrc</literal>. Mutt will next look for a file named <literal>
+          .muttrc
+        </literal>
+        in your home directory, Mutt-ng will look for <literal>.muttngrc</literal>.  If this file
+        does not exist and your home directory has a subdirectory named <literal>
+          .mutt
+        </literal>
+        ,
+        mutt try to load a file named <literal>.muttng/muttngrc</literal>. 
+      </para>
+      
+      <para>
+        <literal>.muttrc</literal> (or <literal>.muttngrc</literal> for
+        Mutt-ng) is the file where you will
+        usually place your <link linkend="commands">commands</link> to
+        configure Mutt-ng.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="muttrc-syntax">
+      <title>Basic Syntax of Initialization Files  </title>
+      
+      <para>
+        An initialization file consists of a series of <link linkend="commands">
+          commands
+        </link>
+        .Each line of the file may contain one or more commands.
+        When multiple commands are used, they must be separated by a semicolon
+        (;).
+        
+        <screen>
+set realname='Mutt-ng user' ; ignore x-</screen>
+        
+        The hash mark, or pound sign
+        (``&num;''), is used as a ``comment'' character. You can use it to
+        annotate your initialization file. All text after the comment character
+        to the end of the line is ignored. For example,
+      </para>
+      
+      <para>
+        
+        <screen>
+my_hdr X-Disclaimer: Why are you listening to me? &num; This is a comment</screen>
+        
+      </para>
+      
+      <para>
+        Single quotes (') and double quotes (&quot;) can be used to quote
+        strings
+        which contain spaces or other special characters.  The difference
+        between
+        the two types of quotes is similar to that of many popular shell
+        programs,
+        namely that a single quote is used to specify a literal string (one
+        that is
+        not interpreted for shell variables or quoting with a backslash
+        &lsqb;see
+        next paragraph&rsqb;), while double quotes indicate a string for which
+        should be evaluated.  For example, backtics are evaluated inside of
+        double
+        quotes, but <emphasis role="bold">not</emphasis> for single quotes.
+      </para>
+      
+      <para>
+        &bsol; quotes the next character, just as in shells such as bash and
+        zsh.
+        For example, if want to put quotes ``&quot;'' inside of a string, you
+        can use
+        ``&bsol;'' to force the next character to be a literal instead of
+        interpreted
+        character.
+        
+        <screen>
+set realname="Michael \"MuttDude\" Elkins"</screen>
+        
+      </para>
+      
+      <para>
+        ``&bsol;&bsol;'' means to insert a literal ``&bsol;'' into the line.
+        ``&bsol;n'' and ``&bsol;r'' have their usual C meanings of linefeed and
+        carriage-return, respectively.
+      </para>
+      
+      <para>
+        A &bsol; at the end of a line can be used to split commands over
+        multiple lines, provided that the split points don't appear in the
+        middle of command names.
+      </para>
+      
+      <para>
+        Please note that, unlike the various shells, mutt-ng interprets a
+        ``&bsol;''
+        at the end of a line also in comments. This allows you to disable a
+        command
+        split over multiple lines with only one ``&num;''.
+      </para>
+      
+      <para>
+        
+        <screen>
+# folder-hook . \
+set realname="Michael \"MuttDude\" Elkins"</screen>
+        
+      </para>
+      
+      <para>
+        When testing your config files, beware the following caveat. The
+        backslash
+        at the end of the commented line extends the current line with the next
+        line
+        - then referred to as a ``continuation line''.  As the first line is
+        commented with a hash (&num;) all following continuation lines are also
+        part of a comment and therefore are ignored, too. So take care of
+        comments
+        when continuation lines are involved within your setup files!
+      </para>
+      
+      <para>
+        Abstract example:
+      </para>
+      
+      <para>
+        
+        <screen>
+line1\
+line2a # line2b\
+line3\
+line4
+line5</screen>
+        
+      </para>
+      
+      <para>
+        line1 ``continues'' until line4. however, the part after the &num; is a
+        comment which includes line3 and line4. line5 is a new line of its own
+        and
+        thus is interpreted again.
+      </para>
+      
+      <para>
+        The commands understood by mutt are explained in the next paragraphs.
+        For a complete list, see the <link linkend="commands">commands</link>.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1>
+      <title>Expansion within variables    </title>
+      
+      <para>
+        Besides just assign static content to variables, there's plenty of
+        ways of adding external and more or less dynamic content.
+      </para>
+      
+      <sect2>
+        <title>Commands' Output     </title>
+        
+        <para>
+          It is possible to substitute the output of a Unix command in an
+          initialization file.  This is accomplished by enclosing the command
+          in backquotes (``) as in, for example:
+        </para>
+        
+        <para>
+          
+          <screen>
+my_hdr X-Operating-System: `uname -a`</screen>
+          
+        </para>
+        
+        <para>
+          The output of the Unix command ``uname -a'' will be substituted
+          before the line is parsed. Note that since initialization files are
+          line oriented, only the first line of output from the Unix command
+          will be substituted.
+        </para>
+        
+      </sect2>
+      
+      <sect2>
+        <title>Environment Variables     </title>
+        
+        <para>
+          UNIX environments can be accessed like the way it is done in
+          shells like sh and bash: Prepend the name of the environment by a
+          ``&dollar;'' sign. For example,
+        </para>
+        
+        <para>
+          
+          <screen>
+set record=+sent_on_$HOSTNAME</screen>
+          
+        </para>
+        
+        <para>
+          sets the <link linkend="record">record</link> variable to the
+          string <emphasis>+sent&lowbar;on&lowbar;</emphasis> and appends the
+          value of the evironment
+          variable <literal>&dollar;HOSTNAME</literal>.
+        </para>
+        
+        <para>
+          <emphasis role="bold">Note:</emphasis> There will be no warning if an
+          environment variable
+          is not defined. The result will of the expansion will then be empty.
+        </para>
+        
+      </sect2>
+      
+      <sect2>
+        <title>Configuration Variables     </title>
+        
+        <para>
+          As for environment variables, the values of all configuration
+          variables as string can be used in the same way, too. For example,
+        </para>
+        
+        <para>
+          
+          <screen>
+set imap_home_namespace = $folder</screen>
+          
+        </para>
+        
+        <para>
+          would set the value of <link linkend="imap-home-namespace">
+            imap-home-namespace
+          </link>
+          to the value to
+          which <link linkend="folder">folder</link> is <emphasis>currently</emphasis> set
+          to.
+        </para>
+        
+        <para>
+          <emphasis role="bold">Note:</emphasis> There're no logical links
+          established in such cases so
+          that the the value for <link linkend="imap-home-namespace">
+            imap-home-namespace
+          </link>
+          won't change even
+          if <link linkend="folder">folder</link> gets changed.
+        </para>
+        
+        <para>
+          <emphasis role="bold">Note:</emphasis> There will be no warning if a
+          configuration variable
+          is not defined or is empty. The result will of the expansion will
+          then be empty.
+        </para>
+        
+      </sect2>
+      
+      <sect2>
+        <title>Self-Defined Variables     </title>
+        
+        <para>
+          Mutt-ng flexibly allows users to define their own variables. To
+          avoid conflicts with the standard set and to prevent misleading
+          error messages, there's a reserved namespace for them: all
+          user-defined variables must be prefixed with <literal>user&lowbar;</literal> and can be
+          used just like any ordinary configuration or environment
+          variable.
+        </para>
+        
+        <para>
+          For example, to view the manual, users can either define two
+          macros like the following
+        </para>
+        
+        <para>
+          
+          <screen>
+macro generic &lt;F1&gt; "!less -r /path/to/manual" "Show manual"
+macro pager &lt;F1&gt; "!less -r /path/to/manual" "Show manual"</screen>
+          
+        </para>
+        
+        <para>
+          for <literal>generic</literal>, <literal>pager</literal> and <literal>
+            index
+          </literal>
+          .The alternative is to
+          define a custom variable like so:
+        </para>
+        
+        <para>
+          
+          <screen>
+set user_manualcmd = "!less -r /path/to_manual" 
+macro generic &lt;F1&gt; "$user_manualcmd&lt;enter&gt;" "Show manual"
+macro pager &lt;F1&gt; "$user_manualcmd&lt;enter&gt;" "Show manual"
+macro index &lt;F1&gt; "$user_manualcmd&lt;enter&gt;" "Show manual"</screen>
+          
+        </para>
+        
+        <para>
+          to re-use the command sequence as in:
+        </para>
+        
+        <para>
+          
+          <screen>
+macro index &lt;F2&gt; "$user_manualcmd | grep '\^[ ]\\+~. '" "Show Patterns"</screen>
+          
+        </para>
+        
+        <para>
+          Using this feature, arbitrary sequences can be defined once and
+          recalled and reused where necessary. More advanced scenarios could
+          include to save a variable's value at the beginning of macro
+          sequence and restore it at end.
+        </para>
+        
+        <para>
+          When the variable is first defined, the first value it gets
+          assigned is also the initial value to which it can be reset using
+          the <literal>reset</literal> command.
+        </para>
+        
+        <para>
+          The complete removal is done via the <literal>unset</literal>
+          keyword.
+        </para>
+        
+        <para>
+          After the following sequence:
+        </para>
+        
+        <para>
+          
+          <screen>
+set user_foo = 42
+set user_foo = 666</screen>
+          
+        </para>
+        
+        <para>
+          the variable <literal>$user&lowbar;foo</literal> has a current value
+          of 666 and an
+          initial of 42. The query
+        </para>
+        
+        <para>
+          
+          <screen>
+set ?user_foo</screen>
+          
+        </para>
+        
+        <para>
+          will show 666. After doing the reset via
+        </para>
+        
+        <para>
+          
+          <screen>
+reset user_foo</screen>
+          
+        </para>
+        
+        <para>
+          a following query will give 42 as the result. After unsetting it
+          via
+        </para>
+        
+        <para>
+          
+          <screen>
+unset user_foo</screen>
+          
+        </para>
+        
+        <para>
+          any query or operation (except the noted expansion within other
+          statements) will lead to an error message.
+        </para>
+        
+      </sect2>
+      
+      <sect2>
+        <title>Pre-Defined Variables     </title>
+        
+        <para>
+          In order to allow users to share one setup over a number of
+          different machines without having to change its contents, there's a
+          number of pre-defined variables. These are prefixed with
+          <literal>muttng&lowbar;</literal> and are read-only, i.e. they cannot
+          be set, unset or
+          reset. The reference chapter lists all available variables.
+        </para>
+        
+        <para>
+          <emphasis> Please consult the local copy of your manual for their
+            values as they may differ from different manual sources.
+          </emphasis>
+          Where
+          the manual is installed in can be queried (already using such a
+          variable) by running:
+        </para>
+        
+        <para>
+          
+          <screen>
+muttng -Q muttng_docdir</screen>
+          
+        </para>
+        
+        <para>
+          To extend the example for viewing the manual via self-defined
+          variables, it can be made more readable and more portable by
+          changing the real path in:
+        </para>
+        
+        <para>
+          
+          <screen>
+set user_manualcmd = '!less -r /path/to_manual'</screen>
+          
+        </para>
+        
+        <para>
+          to:
+        </para>
+        
+        <para>
+          
+          <screen>
+set user_manualcmd = "!less -r $muttng_docdir/manual.txt"</screen>
+          
+        </para>
+        
+        <para>
+          which works everywhere if a manual is installed.
+        </para>
+        
+        <para>
+          Please note that by the type of quoting, muttng determines when
+          to expand these values: when it finds double quotes, the value will
+          be expanded during reading the setup files but when it finds single
+          quotes, it'll expand it at runtime as needed.
+        </para>
+        
+        <para>
+          For example, the statement
+        </para>
+        
+        <para>
+          
+          <screen>
+folder-hook . "set user_current_folder = $muttng_folder_name"</screen>
+          
+        </para>
+        
+        <para>
+          will be already be translated to the following when reading the
+          startup files:
+        </para>
+        
+        <para>
+          
+          <screen>
+folder-hook . "set user_current_folder = some_folder"</screen>
+          
+        </para>
+        
+        <para>
+          with <literal>some&lowbar;folder</literal> being the name of the
+          first folder muttng
+          opens. On the contrary,
+        </para>
+        
+        <para>
+          
+          <screen>
+folder-hook . 'set user_current_folder = $muttng_folder_name'</screen>
+          
+        </para>
+        
+        <para>
+          will be executed at runtime because of the single quotes so that
+          <literal>user&lowbar;current&lowbar;folder</literal> will always have
+          the value of the currently
+          opened folder.
+        </para>
+        
+        <para>
+          A more practical example is:
+        </para>
+        
+        <para>
+          
+          <screen>
+folder-hook . 'source ~/.mutt/score-$muttng_folder_name'</screen>
+          
+        </para>
+        
+        <para>
+          which can be used to source files containing score commands
+          depending on the folder the user enters.
+        </para>
+        
+      </sect2>
+      
+      <sect2>
+        <title>Type Conversions     </title>
+        
+        <para>
+          A note about variable's types during conversion: internally
+          values are stored in internal types but for any dump/query or set
+          operation they're converted to and from string. That means that
+          there's no need to worry about types when referencing any variable.
+          As an example, the following can be used without harm (besides
+          makeing muttng very likely behave strange):
+        </para>
+        
+        <para>
+          
+          <screen>
+set read_inc = 100
+set folder = $read_inc
+set read_inc = $folder
+set user_magic_number = 42
+set folder = $user_magic_number</screen>
+          
+        </para>
+        
+      </sect2>
+      
+    </sect1>
+    
+    <sect1 id="alias">
+      <title>Defining/Using aliases  </title>
+      
+      <para>
+        Usage: <literal>alias</literal> <emphasis>key</emphasis> <emphasis>
+          address
+        </emphasis>
+        &lsqb; , <emphasis>address</emphasis>, ... &rsqb;
+      </para>
+      
+      <para>
+        It's usually very cumbersome to remember or type out the address of
+        someone
+        you are communicating with.  Mutt-ng allows you to create ``aliases''
+        which map
+        a short string to a full address.
+      </para>
+      
+      <para>
+        <emphasis role="bold">Note:</emphasis> if you want to create an alias
+        for a group (by specifying more than
+        one address), you <emphasis role="bold">must</emphasis> separate the
+        addresses with a comma (``,'').
+      </para>
+      
+      <para>
+        To remove an alias or aliases (``*'' means all aliases):
+      </para>
+      
+      <para>
+        <literal>unalias</literal> &lsqb; * &verbar; <emphasis>key</emphasis> <emphasis>
+          ...
+        </emphasis>
+        &rsqb;
+      </para>
+      
+      <para>
+        
+        <screen>
+alias muttdude me@cs.hmc.edu (Michael Elkins)
+alias theguys manny, moe, jack</screen>
+        
+      </para>
+      
+      <para>
+        Unlike other mailers, Mutt-ng doesn't require aliases to be defined
+        in a special file.  The <literal>alias</literal> command can appear
+        anywhere in
+        a configuration file, as long as this file is <link linkend="source">
+          source
+        </link>
+        .Consequently, you can have multiple alias files, or
+        you can have all aliases defined in your muttrc.
+      </para>
+      
+      <para>
+        On the other hand, the <link linkend="create-alias">create-alias</link>
+        function can use only one file, the one pointed to by the <link linkend="alias-file">
+          alias-file
+        </link>
+        variable (which is
+        <literal>&tilde;/.muttrc</literal> by default). This file is not
+        special either,
+        in the sense that Mutt-ng will happily append aliases to any file, but
+        in
+        order for the new aliases to take effect you need to explicitly <link linkend="source">
+          source
+        </link>
+        this file too.
+      </para>
+      
+      <para>
+        For example:
+      </para>
+      
+      <para>
+        
+        <screen>
+source /usr/local/share/Mutt-ng.aliases
+source ~/.mail_aliases
+set alias_file=~/.mail_aliases</screen>
+        
+      </para>
+      
+      <para>
+        To use aliases, you merely use the alias at any place in mutt where
+        muttprompts for addresses, such as the <emphasis>To:</emphasis> or <emphasis>
+          Cc:
+        </emphasis>
+        prompt.  You can
+        also enter aliases in your editor at the appropriate headers if you
+        have the
+        <link linkend="edit-headers">edit-headers</link> variable set.
+      </para>
+      
+      <para>
+        In addition, at the various address prompts, you can use the tab
+        character
+        to expand a partial alias to the full alias.  If there are multiple
+        matches,
+        mutt will bring up a menu with the matching aliases.  In order to be
+        presented with the full list of aliases, you must hit tab with out a
+        partial
+        alias, such as at the beginning of the prompt or after a comma denoting
+        multiple addresses.
+      </para>
+      
+      <para>
+        In the alias menu, you can select as many aliases as you want with the
+        <emphasis>select-entry</emphasis> key (default: RET), and use the <emphasis>
+          exit
+        </emphasis>
+        key
+        (default: q) to return to the address prompt.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="bind">
+      <title>Changing the default key bindings  </title>
+      
+      <para>
+        Usage: <literal>bind</literal> <emphasis>map</emphasis> <emphasis>key</emphasis> <emphasis>
+          function
+        </emphasis>
+      </para>
+      
+      <para>
+        This command allows you to change the default key bindings (operation
+        invoked when pressing a key).
+      </para>
+      
+      <para>
+        <emphasis>map</emphasis> specifies in which menu the binding belongs. 
+        Multiple maps may
+        be specified by separating them with commas (no additional whitespace
+        isallowed). The currently defined maps are:
+      </para>
+      
+      <para>
+        <anchor id="maps"/>
+        <variablelist>
+          
+          <varlistentry>
+            <term>generic</term>
+            <listitem>
+              <para>
+                This is not a real menu, but is used as a fallback for all of
+                the other
+                menus except for the pager and editor modes.  If a key is not
+                defined in
+                another menu, Mutt-ng will look for a binding to use in this
+                menu.  This allows
+                you to bind a key to a certain function in multiple menus
+                instead of having
+                multiple bind statements to accomplish the same task.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>alias</term>
+            <listitem>
+              <para>
+                The alias menu is the list of your personal aliases as defined
+                in your
+                muttrc.  It is the mapping from a short alias name to the full
+                email
+                address(es) of the recipient(s).
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>attach</term>
+            <listitem>
+              <para>
+                The attachment menu is used to access the attachments on
+                received messages.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>browser</term>
+            <listitem>
+              <para>
+                The browser is used for both browsing the local directory
+                structure, and for
+                listing all of your incoming mailboxes.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>editor</term>
+            <listitem>
+              <para>
+                The editor is the line-based editor the user enters text data.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>index</term>
+            <listitem>
+              <para>
+                The index is the list of messages contained in a mailbox.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>compose</term>
+            <listitem>
+              <para>
+                The compose menu is the screen used when sending a new message.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>pager</term>
+            <listitem>
+              <para>
+                The pager is the mode used to display message/attachment data,
+                and help
+                listings.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>pgp</term>
+            <listitem>
+              <para>
+                The pgp menu is used to select the OpenPGP keys used for
+                encrypting outgoing
+                messages.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>postpone</term>
+            <listitem>
+              <para>
+                The postpone menu is similar to the index menu, except is used
+                when
+                recalling a message the user was composing, but saved until
+                later.
+              </para>
+            </listitem>
+          </varlistentry>
+        </variablelist>
+      </para>
+      
+      <para>
+        <emphasis>key</emphasis> is the key (or key sequence) you wish to bind.
+         To specify a
+        control character, use the sequence <emphasis>&bsol;Cx</emphasis>,
+        where <emphasis>x</emphasis> is the
+        letter of the control character (for example, to specify control-A use
+        ``&bsol;Ca'').  Note that the case of <emphasis>x</emphasis> as well as
+        <emphasis>&bsol;C</emphasis> is
+        ignored, so that <emphasis>&bsol;CA</emphasis>, <emphasis>&bsol;Ca</emphasis>, <emphasis>
+          &bsol;cA
+        </emphasis>
+        and <emphasis>&bsol;ca</emphasis> are all
+        equivalent.  An alternative form is to specify the key as a three digit
+        octal number prefixed with a ``&bsol;'' (for example <emphasis>
+          &bsol;177
+        </emphasis>
+        is
+        equivalent to <emphasis>&bsol;c?</emphasis>).
+      </para>
+      
+      <para>
+        In addition, <emphasis>key</emphasis> may consist of:
+      </para>
+      
+      <para>
+        
+        <table>
+          <title>Alternative Key Names</title>
+          <tgroup cols="2" align="left" colsep="1" rowsep="1">
+          <thead>
+            <row>
+              <entry>Sequence</entry>
+              <entry>Description</entry>
+            </row>
+          </thead>
+          <tbody>
+            <row><entry><code>\t     </code></entry><entry>tab</entry></row>
+            <row><entry><code>&#60;tab&#62;      </code></entry><entry>tab</entry></row>
+            <row><entry><code>&#60;backtab&#62;   </code></entry><entry>backtab / shift-tab</entry></row>
+            <row><entry><code>\r    </code></entry><entry>carriage return</entry></row>
+            <row><entry><code>\n     </code></entry><entry>newline</entry></row>
+            <row><entry><code>\e      </code></entry><entry>escape</entry></row>
+            <row><entry><code>&#60;esc&#62;   </code></entry><entry>escape</entry></row>
+            <row><entry><code>&#60;up&#62;     </code></entry><entry>up arrow</entry></row>
+            <row><entry><code>&#60;down&#62;     </code></entry><entry>down arrow</entry></row>
+            <row><entry><code>&#60;left&#62;     </code></entry><entry>left arrow</entry></row>
+            <row><entry><code>&#60;right&#62;    </code></entry><entry>right arrow</entry></row>
+            <row><entry><code>&#60;pageup&#62;   </code></entry><entry>Page Up</entry></row>
+            <row><entry><code>&#60;pagedown&#62;  </code></entry><entry>Page Down</entry></row>
+            <row><entry><code>&#60;backspace&#62;  </code></entry><entry>Backspace</entry></row>
+            <row><entry><code>&#60;delete&#62;    </code></entry><entry>Delete</entry></row>
+            <row><entry><code>&#60;insert&#62;     </code></entry><entry>Insert</entry></row>
+            <row><entry><code>&#60;enter&#62;    </code></entry><entry>Enter</entry></row>
+            <row><entry><code>&#60;return&#62;   </code></entry><entry>Return</entry></row>
+            <row><entry><code>&#60;home&#62;     </code></entry><entry>Home</entry></row>
+            <row><entry><code>&#60;end&#62;      </code></entry><entry>End</entry></row>
+            <row><entry><code>&#60;space&#62;    </code></entry><entry>Space bar</entry></row>
+            <row><entry><code>&#60;f1&#62;       </code></entry><entry>function key 1</entry></row>
+            <row><entry><code>&#60;f10&#62;       </code></entry><entry>function key 10</entry></row>
+          </tbody>
+        </tgroup>
+      </table>
+        
+      </para>
+      
+      <para>
+        <emphasis>key</emphasis> does not need to be enclosed in quotes unless
+        it contains a
+        space (`` '').
+      </para>
+      
+      <para>
+        <emphasis>function</emphasis> specifies which action to take when <emphasis>
+          key
+        </emphasis>
+        is pressed.
+        For a complete list of functions, see the <link linkend="functions">
+          functions
+        </link>
+        .The special function <literal>noop</literal> unbinds the specified key
+        sequence.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="charset-hook">
+      <title>Defining aliases for character sets   </title>
+      
+      <para>
+        Usage: <literal>charset-hook</literal> <emphasis>alias</emphasis> <emphasis>
+          charset
+        </emphasis>
+        
+        Usage: <literal>iconv-hook</literal> <emphasis>charset</emphasis> <emphasis>
+          local-charset
+        </emphasis>
+      </para>
+      
+      <para>
+        The <literal>charset-hook</literal> command defines an alias for a
+        character set.
+        This is useful to properly display messages which are tagged with a
+        character set name not known to mutt.
+      </para>
+      
+      <para>
+        The <literal>iconv-hook</literal> command defines a system-specific
+        name for a
+        character set.  This is helpful when your systems character
+        conversion library insists on using strange, system-specific names
+        for character sets.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="folder-hook">
+      <title>Setting variables based upon mailbox  </title>
+      
+      <para>
+        Usage: <literal>folder-hook</literal> &lsqb;!&rsqb;<emphasis>regexp</emphasis> <emphasis>
+          command
+        </emphasis>
+      </para>
+      
+      <para>
+        It is often desirable to change settings based on which mailbox you are
+        reading.  The folder-hook command provides a method by which you can
+        execute
+        any configuration command.  <emphasis>regexp</emphasis> is a regular
+        expression specifying
+        in which mailboxes to execute <emphasis>command</emphasis> before
+        loading.  If a mailbox
+        matches multiple folder-hook's, they are executed in the order given in
+        the
+        muttrc.
+      </para>
+      
+      <para>
+        <emphasis role="bold">Note:</emphasis> if you use the ``!'' shortcut
+        for <link linkend="spoolfile">spoolfile</link> at the beginning of the
+        pattern, you must place it
+        inside of double or single quotes in order to distinguish it from the
+        logical <emphasis>not</emphasis> operator for the expression.
+      </para>
+      
+      <para>
+        Note that the settings are <emphasis>not</emphasis> restored when you
+        leave the mailbox.
+        For example, a command action to perform is to change the sorting
+        methodbased upon the mailbox being read:
+      </para>
+      
+      <para>
+        
+        <screen>
+folder-hook mutt set sort=threads</screen>
+        
+      </para>
+      
+      <para>
+        However, the sorting method is not restored to its previous value when
+        reading a different mailbox.  To specify a <emphasis>default</emphasis>
+        command, use the
+        pattern ``.'':
+      </para>
+      
+      <para>
+        
+        <screen>
+folder-hook . set sort=date-sent</screen>
+        
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="macro">
+      <title>Keyboard macros  </title>
+      
+      <para>
+        Usage: <literal>macro</literal> <emphasis>menu</emphasis> <emphasis>key</emphasis> <emphasis>
+          sequence
+        </emphasis>
+        &lsqb; <emphasis>description</emphasis> &rsqb;
+      </para>
+      
+      <para>
+        Macros are useful when you would like a single key to perform a series
+        of
+        actions.  When you press <emphasis>key</emphasis> in menu <emphasis>
+          menu
+        </emphasis>
+        ,Mutt-ng will behave as if
+        you had typed <emphasis>sequence</emphasis>.  So if you have a common
+        sequence of commands
+        you type, you can create a macro to execute those commands with a
+        singlekey.
+      </para>
+      
+      <para>
+        <emphasis>menu</emphasis> is the <link linkend="maps">maps</link> which
+        the macro will be bound.
+        Multiple maps may be specified by separating multiple menu arguments by
+        commas. Whitespace may not be used in between the menu arguments and
+        thecommas separating them.
+      </para>
+      
+      <para>
+        <emphasis>key</emphasis> and <emphasis>sequence</emphasis> are expanded
+        by the same rules as the <link linkend="bind">bind</link>.  There are
+        some additions however.  The
+        first is that control characters in <emphasis>sequence</emphasis> can
+        also be specified
+        as <emphasis>&circ;x</emphasis>.  In order to get a caret (`&circ;'')
+        you need to use
+        <emphasis>&circ;&circ;</emphasis>.  Secondly, to specify a certain key
+        such as <emphasis>up</emphasis>
+        or to invoke a function directly, you can use the format
+        <emphasis>&lt;key name&gt;</emphasis> and <emphasis>&lt;function
+          name&gt;
+        </emphasis>
+        .For a listing of key
+        names see the section on <link linkend="bind">bind</link>.  Functions
+        are listed in the <link linkend="functions">functions</link>.
+      </para>
+      
+      <para>
+        The advantage with using function names directly is that the macros
+        willwork regardless of the current key bindings, so they are not
+        dependent on
+        the user having particular key definitions.  This makes them more
+        robustand portable, and also facilitates defining of macros in files
+        used by more
+        than one user (eg. the system Muttngrc).
+      </para>
+      
+      <para>
+        Optionally you can specify a descriptive text after <emphasis>sequence</emphasis>,
+        which is shown in the help screens.
+      </para>
+      
+      <para>
+        <emphasis role="bold">Note:</emphasis> Macro definitions (if any)
+        listed in the help screen(s), are
+        silently truncated at the screen width, and are not wrapped.   
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="color">
+      <title>Using color and mono video attributes  </title>
+      
+      <para>
+        Usage: <literal>color</literal> <emphasis>object</emphasis> <emphasis>
+          foreground
+        </emphasis>
+        <emphasis>background</emphasis> &lsqb; <emphasis>regexp</emphasis>
+        &rsqb;
+        
+        Usage: <literal>color</literal> index <emphasis>foreground</emphasis> <emphasis>
+          background
+        </emphasis>
+        <emphasis>pattern</emphasis>
+        
+        Usage: <literal>uncolor</literal> index <emphasis>pattern</emphasis>
+        &lsqb; <emphasis>pattern</emphasis> ...  &rsqb;
+        
+      </para>
+      
+      <para>
+        If your terminal supports color, you can spice up Mutt-ng by creating
+        your own
+        color scheme.  To define the color of an object (type of information),
+        you
+        must specify both a foreground color <emphasis role="bold">and</emphasis> a background color (it is not
+        possible to only specify one or the other).
+      </para>
+      
+      <para>
+        <emphasis>object</emphasis> can be one of:
+      </para>
+      
+      <para>
+        
+        <itemizedlist>
+          <listitem>
+            
+            <para>
+              attachment
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              body (match <emphasis>regexp</emphasis> in the body of messages)
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              bold (highlighting bold patterns in the body of messages)
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              error (error messages printed by Mutt-ng)
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              header (match <emphasis>regexp</emphasis> in the message header)
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              hdrdefault (default color of the message header in the pager)
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              index (match <emphasis>pattern</emphasis> in the message index)
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              indicator (arrow or bar used to indicate the current item in a
+              menu)
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              markers (the ``+'' markers at the beginning of wrapped lines in
+              the pager)
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              message (informational messages)
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              normal
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              quoted (text matching <link linkend="quote-regexp">quote-regexp</link> in the body of a message)
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              quoted1, quoted2, ..., quoted<emphasis role="bold">N</emphasis>
+              (higher levels of quoting)
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              search (highlighting of words in the pager)
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              signature
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              status (mode lines used to display info about the mailbox or
+              message)
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              tilde (the ``&tilde;'' used to pad blank lines in the pager)
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              tree (thread tree drawn in the message index and attachment menu)
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              underline (highlighting underlined patterns in the body of
+              messages)
+            </para>
+          </listitem>
+          
+        </itemizedlist>
+        
+      </para>
+      
+      <para>
+        <emphasis>foreground</emphasis> and <emphasis>background</emphasis> can
+        be one of the following:
+      </para>
+      
+      <para>
+        
+        <itemizedlist>
+          <listitem>
+            
+            <para>
+              white
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              black
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              green
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              magenta
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              blue
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              cyan
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              yellow
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              red
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              default
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              color<emphasis>x</emphasis>
+            </para>
+          </listitem>
+          
+        </itemizedlist>
+        
+      </para>
+      
+      <para>
+        <emphasis>foreground</emphasis> can optionally be prefixed with the
+        keyword <literal>bright</literal> to make
+        the foreground color boldfaced (e.g., <literal>brightred</literal>).
+      </para>
+      
+      <para>
+        If your terminal supports it, the special keyword <emphasis>default</emphasis> can be
+        used as a transparent color.  The value <emphasis>brightdefault</emphasis> is also valid.
+        If Mutt-ng is linked against the <emphasis>S-Lang</emphasis> library,
+        you also need to set
+        the <emphasis>COLORFGBG</emphasis> environment variable to the default
+        colors of your
+        terminal for this to work; for example (for Bourne-like shells):
+      </para>
+      
+      <para>
+        
+        <screen>
+set COLORFGBG="green;black"
+export COLORFGBG</screen>
+        
+      </para>
+      
+      <para>
+        <emphasis role="bold">Note:</emphasis> The <emphasis>S-Lang</emphasis>
+        library requires you to use the <emphasis>lightgray</emphasis>
+        and <emphasis>brown</emphasis> keywords instead of <emphasis>white</emphasis> and <emphasis>
+          yellow
+        </emphasis>
+        when
+        setting this variable.
+      </para>
+      
+      <para>
+        <emphasis role="bold">Note:</emphasis> The uncolor command can be
+        applied to the index object only.  It
+        removes entries from the list. You <emphasis role="bold">must</emphasis> specify the same pattern
+        specified in the color command for it to be removed.  The pattern ``*''
+        is
+        a special token which means to clear the color index list of all
+        entries.
+      </para>
+      
+      <para>
+        Mutt-ng also recognizes the keywords <emphasis>color0</emphasis>, <emphasis>
+          color1
+        </emphasis>
+        ,&hellip;,
+        <emphasis>color</emphasis><emphasis role="bold">N-1</emphasis> (<emphasis role="bold">
+          N
+        </emphasis>
+        being the number of colors supported
+        by your terminal).  This is useful when you remap the colors for your
+        display (for example by changing the color associated with <emphasis>
+          color2
+        </emphasis>
+        for your xterm), since color names may then lose their normal meaning.
+      </para>
+      
+      <para>
+        If your terminal does not support color, it is still possible change
+        the video
+        attributes through the use of the ``mono'' command:
+      </para>
+      
+      <para>
+        Usage: <literal>mono</literal> <emphasis>&lt;object&gt;
+          &lt;attribute&gt;
+        </emphasis>
+        &lsqb; <emphasis>regexp</emphasis> &rsqb;
+        
+        Usage: <literal>mono</literal> index <emphasis>attribute</emphasis> <emphasis>
+          pattern
+        </emphasis>
+        
+        Usage: <literal>unmono</literal> index <emphasis>pattern</emphasis>
+        &lsqb; <emphasis>pattern</emphasis> ...  &rsqb;
+        
+      </para>
+      
+      <para>
+        where <emphasis>attribute</emphasis> is one of the following:
+      </para>
+      
+      <para>
+        
+        <itemizedlist>
+          <listitem>
+            
+            <para>
+              none
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              bold
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              underline
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              reverse
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              standout
+            </para>
+          </listitem>
+          
+        </itemizedlist>
+        
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="ignore">
+      <title>Ignoring (weeding) unwanted message headers  </title>
+      
+      <para>
+        Usage: <literal>&lsqb;un&rsqb;ignore</literal> <emphasis>pattern</emphasis> &lsqb; <emphasis>
+          pattern
+        </emphasis>
+        ... &rsqb;
+      </para>
+      
+      <para>
+        Messages often have many header fields added by automatic processing
+        systems,
+        or which may not seem useful to display on the screen.  This command
+        allows
+        you to specify header fields which you don't normally want to see.
+      </para>
+      
+      <para>
+        You do not need to specify the full header field name.  For example,
+        ``ignore content-'' will ignore all header fields that begin with the
+        pattern
+        ``content-''. ``ignore *'' will ignore all headers.
+      </para>
+      
+      <para>
+        To remove a previously added token from the list, use the ``unignore''
+        command.
+        The ``unignore'' command will make Mutt-ng display headers with the
+        given pattern.
+        For example, if you do ``ignore x-'' it is possible to ``unignore
+        x-mailer''.
+      </para>
+      
+      <para>
+        ``unignore *'' will remove all tokens from the ignore list.
+      </para>
+      
+      <para>
+        For example:
+        
+        <screen>
+# Sven's draconian header weeding
+ignore *
+unignore from date subject to cc
+unignore organization organisation x-mailer: x-newsreader: x-mailing-list:
+unignore posted-to:</screen>
+        
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="alternates">
+      <title>Alternative addresses  </title>
+      
+      <para>
+        Usage: <literal>&lsqb;un&rsqb;alternates</literal> <emphasis>regexp</emphasis> &lsqb; <emphasis>
+          regexp
+        </emphasis>
+        ... &rsqb;
+        
+      </para>
+      
+      <para>
+        With various functions, mutt will treat messages differently,
+        depending on whether you sent them or whether you received them from
+        someone else.  For instance, when replying to a message that you
+        sent to a different party, mutt will automatically suggest to send
+        the response to the original message's recipients -- responding to
+        yourself won't make much sense in many cases.  (See <link linkend="reply-to">
+          reply-to
+        </link>
+        .)
+      </para>
+      
+      <para>
+        Many users receive e-mail under a number of different addresses. To
+        fully use mutt's features here, the program must be able to
+        recognize what e-mail addresses you receive mail under. That's the
+        purpose of the <literal>alternates</literal> command: It takes a list
+        of regular
+        expressions, each of which can identify an address under which you
+        receive e-mail.
+      </para>
+      
+      <para>
+        The <literal>unalternates</literal> command can be used to write
+        exceptions to
+        <literal>alternates</literal> patterns. If an address matches something
+        in an
+        <literal>alternates</literal> command, but you nonetheless do not think
+        it is
+        from you, you can list a more precise pattern under an <literal>
+          unalternates
+        </literal>
+        command.
+      </para>
+      
+      <para>
+        To remove a regular expression from the <literal>alternates</literal>
+        list, use the
+        <literal>unalternates</literal> command with exactly the same <emphasis>
+          regexp
+        </emphasis>
+        .
+        Likewise, if the <emphasis>regexp</emphasis> for a <literal>alternates</literal> command matches
+        an entry on the <literal>unalternates</literal> list, that <literal>
+          unalternates
+        </literal>
+        entry will be removed. If the <emphasis>regexp</emphasis> for <literal>
+          unalternates
+        </literal>
+        is ``*'', <emphasis>all entries</emphasis> on <literal>alternates</literal> will be removed.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1>
+      <title>Format = Flowed    </title>
+      
+      <sect2>
+        <title>Introduction      </title>
+        
+        <para>
+          Mutt-ng contains support for so-called <literal>format=flowed</literal> messages.
+          In the beginning of email, each message had a fixed line width, and
+          it was enough for displaying them on fixed-size terminals. But times
+          changed, and nowadays hardly anybody still uses fixed-size terminals:
+          more people nowaydays use graphical user interfaces, with dynamically
+          resizable windows. This led to the demand of a new email format that
+          makes it possible for the email client to make the email look nice
+          in a resizable window without breaking quoting levels and creating
+          an incompatible email format that can also be displayed nicely on
+          old fixed-size terminals.
+        </para>
+        
+        <para>
+          For introductory information on <literal>format=flowed</literal>
+          messages, see
+          <ulink URL="http://www.joeclark.org/ffaq.html">&#60;http://www.joeclark.org/ffaq.html&#62;</ulink>.
+        </para>
+        
+      </sect2>
+      
+      <sect2>
+        <title>Receiving: Display Setup      </title>
+        
+        <para>
+          When you receive emails that are marked as <literal>format=flowed</literal>
+          messages, and is formatted correctly, mutt-ng will try to reformat
+          the message to optimally fit on your terminal. If you want a fixed
+          margin on the right side of your terminal, you can set the
+          following:
+        </para>
+        
+        <para>
+          
+          <screen>
+set wrapmargin = 10</screen>
+          
+        </para>
+        
+        <para>
+          The code above makes the line break 10 columns before the right
+          side of the terminal.
+        </para>
+        
+        <para>
+          If your terminal is so wide that the lines are embarrassingly long,
+          you can also set a maximum line length:
+        </para>
+        
+        <para>
+          
+          <screen>
+set max_line_length = 120</screen>
+          
+        </para>
+        
+        <para>
+          The example above will give you lines not longer than 120
+          characters.
+        </para>
+        
+        <para>
+          When you view at <literal>format=flowed</literal> messages, you will
+          often see
+          the quoting hierarchy like in the following example:
+        </para>
+        
+        <para>
+          
+          <screen>
+&gt;Bill, can you please send last month's progress report to Mr. 
+&gt;Morgan? We also urgently need the cost estimation for the new 
+&gt;production server that we want to set up before our customer's 
+&gt;project will go live.</screen>
+          
+        </para>
+        
+        <para>
+          This obviously doesn't look very nice, and it makes it very
+          hard to differentiate between text and quoting character. The
+          solution is to configure mutt-ng to "stuff" the quoting:
+        </para>
+        
+        <para>
+          
+          <screen>
+set stuff_quoted</screen>
+          
+        </para>
+        
+        <para>
+          This will lead to a nicer result that is easier to read:
+        </para>
+        
+        <para>
+          
+          <screen>
 &gt; Bill, can you please send last month's progress report to Mr. 
 &gt; Morgan? We also urgently need the cost estimation for the new 
-&gt; production server that we want to set up before our customer's 
-&gt; project will go live.
+&gt; production server that we want to set up before our customer's
+&gt; project will go live.</screen>
+          
+        </para>
+        
+      </sect2>
+      
+      <sect2>
+        <title>Sending      </title>
+        
+        <para>
+          If you want mutt-ng to send emails with <literal>format=flowed</literal> set, you
+          need to explicitly set it:
+        </para>
+        
+        <para>
+          
+          <screen>
+set text_flowed</screen>
+          
+        </para>
+        
+        <para>
+          Additionally, you have to use an editor which supports writing
+          <literal>format=flowed</literal>-conforming emails. For vim, this is
+          done by
+          adding <literal>w</literal> to the formatoptions (see <literal>:h
+            formatoptions
+          </literal>
+          and
+          <literal>:h fo-table</literal>) when writing emails.
+        </para>
+        
+        <para>
+          Also note that <emphasis>format=flowed</emphasis> knows about
+          ``space-stuffing'',
+          that is, when sending messages, some kinds of lines have to be
+          indented with a single space on the sending side. On the receiving
+          side, the first space (if any) is removed. As a consequence and in
+          addition to the above simple setting, please keep this in mind when
+          making manual formattings within the editor. Also note that mutt-ng
+          currently violates the standard (RfC 3676) as it does not
+          space-stuff lines starting with:
+        </para>
+        
+        <para>
+          
+          <itemizedlist>
+            <listitem>
+              
+              <para>
+                <literal>&gt;</literal> This is <emphasis>not</emphasis> the
+                quote character but a right
+                angle used for other reasons
+                
+              </para>
+            </listitem>
+            <listitem>
+              
+              <para>
+                <literal>From</literal> with a trailing space.
+                
+              </para>
+            </listitem>
+            <listitem>
+              
+              <para>
+                just a space for formatting reasons
+                
+              </para>
+            </listitem>
+            
+          </itemizedlist>
+          
+        </para>
+        
+        <para>
+          Please make sure that you manually prepend a space to each of them.
+        </para>
+        
+      </sect2>
+      
+      <sect2>
+        <title>Additional Notes</title>
+        
+        <para>
+          For completeness, the <link linkend="delete-space">delete-space</link> variable provides the mechanism
+          to generate a <literal>DelSp=yes</literal> parameter on <emphasis>
+            outgoing
+          </emphasis>
+          messages.
+          According to the standard, clients receiving a <literal>format=flowed</literal>
+          messages should delete the last space of a flowed line but still
+          interpret the line as flowed. Because flowed lines usually contain
+          only one space at the end, this parameter would make the receiving
+          client concatenate the last word of the previous with the first of
+          the current line <emphasis>without</emphasis> a space. This makes
+          ordinary text
+          unreadable and is intended for languages rarely using spaces. So
+          please use this setting only if you're sure what you're doing.
+        </para>
+        
+        <para>
+          
+        </para>
+        
+      </sect2>
+      
+    </sect1>
     
-</screen>
-
-</para>
-
-<para>
-Generally, try to keep your attribution short yet
-information-rich. It is <emphasis>not</emphasis> the right place for witty quotes,
-long "attribution" novels or anything like that: the right place
-for such things is - if at all - the email signature at the very
-bottom of the message.
-</para>
-
-<para>
-When you're done with writing your message, save and quit the
-editor. As before, you will return to the compose menu, which is
-used in the same way as before.
-</para>
-
-<para>
-</para>
-
-<!--}}}-->
-</sect3>
-
-<sect3>
-<title>Group Replies      </title> <!--{{{-->
-
-<para>
-In the situation where a group of people uses email as a
-discussion, most of the emails will have one or more recipients,
-and probably several "Cc:" recipients. The group reply functionality
-ensures that when you press <literal>g</literal> instead of <literal>r</literal> to do a reply,
-each and every recipient that is contained in the original message
-will receive a copy of the message, either as normal recipient or
-as "Cc:" recipient.
-</para>
-
-<para>
-</para>
-
-<!--}}}-->
-</sect3>
-
-<sect3>
-<title>List Replies      </title> <!--{{{-->
-
-<para>
-When you use mailing lists, it's generally better to send your
-reply to a message only to the list instead of the list and the
-original author. To make this easy to use, mutt-ng features list
-replies.
-</para>
-
-<para>
-To do a list reply, simply press <literal>L</literal>. If the email contains
-a <literal>Mail-Followup-To:</literal> header, its value will be used as reply
-address. Otherwise, mutt-ng searches through all mail addresses in
-the original message and tries to match them a list of regular
-expressions which can be specified using the <literal>lists</literal> command. 
-If any of the regular expression matches, a mailing
-list address has been found, and it will be used as reply address.
-</para>
-
-<para>
-
-<screen>
-lists linuxevent@luga\.at vuln-dev@ mutt-ng-users@
+    <sect1 id="lists">
+      <title>Mailing lists  </title>
+      
+      <para>
+        Usage: <literal>&lsqb;un&rsqb;lists</literal> <emphasis>regexp</emphasis> &lsqb; <emphasis>
+          regexp
+        </emphasis>
+        ... &rsqb;
+        
+        Usage: <literal>&lsqb;un&rsqb;subscribe</literal> <emphasis>regexp</emphasis> &lsqb; <emphasis>
+          regexp
+        </emphasis>
+        ... &rsqb;
+      </para>
+      
+      <para>
+        Mutt-ng has a few nice features for <link linkend="using-lists">
+          using-lists
+        </link>
+        .In order to take advantage of them, you must
+        specify which addresses belong to mailing lists, and which mailing
+        lists you are subscribed to.  Once you have done this, the <link linkend="func-list-reply">
+          list-reply
+        </link>
+        function will work for all known lists.
+        Additionally, when you send a message to a subscribed list, mutt will
+        add a Mail-Followup-To header to tell other users' mail user agents
+        not to send copies of replies to your personal address.   Note that
+        the Mail-Followup-To header is a non-standard extension which is not
+        supported by all mail user agents.  Adding it is not bullet-proof
+        against
+        receiving personal CCs of list messages.  Also note that the generation
+        of the Mail-Followup-To header is controlled by the <link linkend="followup-to">
+          followup-to
+        </link>
+        configuration variable.
+      </para>
+      
+      <para>
+        More precisely, Mutt-ng maintains lists of patterns for the addresses
+        of known and subscribed mailing lists.  Every subscribed mailing
+        list is known. To mark a mailing list as known, use the ``lists''
+        command.  To mark it as subscribed, use ``subscribe''.
+      </para>
+      
+      <para>
+        You can use regular expressions with both commands.  To mark all
+        messages sent to a specific bug report's address on mutt's bug
+        tracking system as list mail, for instance, you could say
+        ``subscribe &lsqb;0-9]*@bugs.guug.de''.  Often, it's sufficient to just
+        give a portion of the list's e-mail address.
+      </para>
+      
+      <para>
+        Specify as much of the address as you need to to remove ambiguity.  For
+        example, if you've subscribed to the Mutt-ng mailing list, you will
+        receive mail
+        addressed to <emphasis>mutt-users@mutt.org</emphasis>.  So, to tell
+        Mutt-ng that this is a
+        mailing list, you could add ``lists mutt-users'' to your
+        initialization file.  To tell mutt that you are subscribed to it,
+        add ``subscribe mutt-users'' to your initialization file instead.
+        If you also happen to get mail from someone whose address is
+        <emphasis>mutt-users@example.com</emphasis>, you could use ``lists
+        mutt-users@mutt&bsol;&bsol;.org'' 
+        or ``subscribe mutt-users@mutt&bsol;&bsol;.org'' to
+        match only mail from the actual list.
+      </para>
+      
+      <para>
+        The ``unlists'' command is used to remove a token from the list of
+        known and subscribed mailing-lists. Use ``unlists *'' to remove all
+        tokens.
+      </para>
+      
+      <para>
+        To remove a mailing list from the list of subscribed mailing lists,
+        but keep it on the list of known mailing lists, use ``unsubscribe''.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
     
-</screen>
-
-</para>
-
-<para>
-Nowadays, most mailing list software like GNU Mailman adds a
-<literal>Mail-Followup-To:</literal> header to their emails anyway, so setting
-<literal>lists</literal> is hardly ever necessary in practice.
-</para>
-
-<para>
-</para>
-
-<para>
-</para>
-
-<!--}}}-->
-</sect3>
-
-<!--}}}-->
-</sect2>
-
-<sect2>
-<title>Editing the message header  </title>
-
-<para>
-When editing the header of your outgoing message, there are a couple of
-special features available.
-</para>
-
-<para>
-If you specify
-
-<literal>Fcc:</literal> <emphasis>filename</emphasis>
-
-Mutt-ng will pick up <emphasis>filename</emphasis>
-just as if you had used the <emphasis>edit-fcc</emphasis> function in the <emphasis>compose</emphasis> menu.
-</para>
-
-<para>
-You can also attach files to your message by specifying
-
-<literal>Attach:</literal> <emphasis>filename</emphasis>  &lsqb; <emphasis>description</emphasis> &rsqb;
-
-where <emphasis>filename</emphasis> is the file to attach and <emphasis>description</emphasis> is an
-optional string to use as the description of the attached file.
-</para>
-
-<para>
-When replying to messages, if you remove the <emphasis>In-Reply-To:</emphasis> field from
-the header field, Mutt-ng will not generate a <emphasis>References:</emphasis> field, which
-allows you to create a new message thread.
-</para>
-
-<para>
-Also see <link linkend="edit-headers">edit-headers</link>.
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-<sect2>
-<title>Using Mutt-ng with PGP  </title>
-
-<para>
-If you want to use PGP, you can specify 
-</para>
-
-<para>
-<literal>Pgp:</literal> &lsqb; <literal>E</literal> &verbar; <literal>S</literal> &verbar; <literal>S</literal><emphasis>&lt;id&gt;</emphasis> &rsqb; 
-
-</para>
-
-<para>
-``E'' encrypts, ``S'' signs and
-``S&lt;id&gt;'' signs with the given key, setting <link linkend="pgp-sign-as">pgp-sign-as</link> permanently.
-</para>
-
-<para>
-If you have told mutt to PGP encrypt a message, it will guide you
-through a key selection process when you try to send the message.
-Mutt-ng will not ask you any questions about keys which have a
-certified user ID matching one of the message recipients' mail
-addresses.  However, there may be situations in which there are
-several keys, weakly certified user ID fields, or where no matching
-keys can be found.
-</para>
-
-<para>
-In these cases, you are dropped into a menu with a list of keys from
-which you can select one.  When you quit this menu, or mutt can't
-find any matching keys, you are prompted for a user ID.  You can, as
-usually, abort this prompt using <literal>&circ;G</literal>.  When you do so, mutt will
-return to the compose screen.
-</para>
-
-<para>
-Once you have successfully finished the key selection, the message
-will be encrypted using the selected public keys, and sent out.
-</para>
-
-<para>
-Most fields of the entries in the key selection menu (see also <link linkend="pgp-entry-format">pgp-entry-format</link>) 
-have obvious meanings.  But some explanations on the capabilities, flags, 
-and validity fields are in order.
-</para>
-
-<para>
-The flags sequence (&percnt;f) will expand to one of the following flags:
-
-<screen>
-R            The key has been revoked and can't be used.
-X            The key is expired and can't be used.
-d            You have marked the key as disabled.
-c            There are unknown critical self-signature 
-             packets.
-</screen>
-
-</para>
-
-<para>
-The capabilities field (&percnt;c) expands to a two-character sequence
-representing a key's capabilities.  The first character gives
-the key's encryption capabilities: A minus sign (<emphasis role="bold">-</emphasis>) means 
-that the key cannot be used for encryption.  A dot (<emphasis role="bold">.</emphasis>) means that
-it's marked as a signature key in one of the user IDs, but may 
-also be used for encryption.  The letter <emphasis role="bold">e</emphasis> indicates that 
-this key can be used for encryption.
-</para>
-
-<para>
-The second character indicates the key's signing capabilities.  Once 
-again, a ``<emphasis role="bold">-</emphasis>'' implies ``not for signing'', ``<emphasis role="bold">.</emphasis>'' implies
-that the key is marked as an encryption key in one of the user-ids, and
-``<emphasis role="bold">s</emphasis>'' denotes a key which can be used for signing.
-</para>
-
-<para>
-Finally, the validity field (&percnt;t) indicates how well-certified a user-id
-is.  A question mark (<emphasis role="bold">?</emphasis>) indicates undefined validity, a minus 
-character (<emphasis role="bold">-</emphasis>) marks an untrusted association, a space character 
-means a partially trusted association, and a plus character (<emphasis role="bold">+</emphasis>) 
-indicates complete validity.
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-<sect2>
-<title>Sending anonymous messages via mixmaster  </title>
-
-<para>
-You may also have configured mutt to co-operate with Mixmaster, an
-anonymous remailer.  Mixmaster permits you to send your messages
-anonymously using a chain of remailers. Mixmaster support in mutt is for 
-mixmaster version 2.04 (beta 45 appears to be the latest) and 2.03. 
-It does not support earlier versions or the later so-called version 3 betas, 
-of which the latest appears to be called 2.9b23.
-</para>
-
-<para>
-To use it, you'll have to obey certain restrictions.  Most
-important, you cannot use the <literal>Cc</literal> and <literal>Bcc</literal> headers.  To tell
-Mutt-ng to use mixmaster, you have to select a remailer chain, using
-the mix function on the compose menu.  
-</para>
-
-<para>
-The chain selection screen is divided into two parts.  In the
-(larger) upper part, you get a list of remailers you may use.  In
-the lower part, you see the currently selected chain of remailers.
-</para>
-
-<para>
-You can navigate in the chain using the <literal>chain-prev</literal> and
-<literal>chain-next</literal> functions, which are by default bound to the left
-and right arrows and to the <literal>h</literal> and <literal>l</literal> keys (think vi
-keyboard bindings).  To insert a remailer at the current chain
-position, use the <literal>insert</literal> function.  To append a remailer behind
-the current chain position, use <literal>select-entry</literal> or <literal>append</literal>.
-You can also delete entries from the chain, using the corresponding
-function.  Finally, to abandon your changes, leave the menu, or
-<literal>accept</literal> them pressing (by default) the <literal>Return</literal> key.
-</para>
-
-<para>
-Note that different remailers do have different capabilities,
-indicated in the &percnt;c entry of the remailer menu lines (see
-<link linkend="mix-entry-format">mix-entry-format</link>).  Most important is
-the ``middleman'' capability, indicated by a capital ``M'': This
-means that the remailer in question cannot be used as the final
-element of a chain, but will only forward messages to other
-mixmaster remailers.  For details on the other capabilities, please
-have a look at the mixmaster documentation.
-</para>
-
-<para>
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-</sect1>
-
-<sect1 id="forwarding-mail">
-<title>Forwarding and Bouncing Mail  </title>
-
-<para>
-Often, it is necessary to forward mails to other people.
-Therefore, mutt-ng supports forwarding messages in two different
-ways.
-</para>
-
-<para>
-The first one is regular forwarding, as you probably know it from
-other mail clients. You simply press <literal>f</literal>, enter the recipient
-email address, the subject of the forwarded email, and then you can
-edit the message to be forwarded in the editor. The forwarded
-message is separated from the rest of the message via the two
-following markers:
-</para>
-
-<para>
-
-<screen>
------ Forwarded message from Lucas User &#60;luser@example.com&#62; -----
-
-From: Lucas User &#60;luser@example.com&#62;
-Date: Thu, 02 Dec 2004 03:08:34 +0100
-To: Michael Random &#60;mrandom@example.com&#62;
-Subject: Re: blackmail
-
-Pay me EUR 50,000.- cash or your favorite stuffed animal will die
-a horrible death.
-
-
------ End forwarded message -----
-</screen>
-
-</para>
-
-<para>
-When you're done with editing the mail, save and quit the editor,
-and you will return to the compose menu, the same menu you also
-encounter when composing or replying to mails.
-</para>
-
-<para>
-The second mode of forwarding emails with mutt-ng is the
-so-called <emphasis>bouncing</emphasis>: when you bounce an email to another
-address, it will be sent in practically the same format you send it
-(except for headers that are created during transporting the
-message). To bounce a message, press <literal>b</literal> and enter the recipient
-email address. By default, you are then asked whether you really
-want to bounce the message to the specified recipient. If you answer
-with yes, the message will then be bounced.
-</para>
-
-<para>
-To the recipient, the bounced email will look as if he got it
-like a regular email where he was <literal>Bcc:</literal> recipient. The only
-possibility to find out whether it was a bounced email is to
-carefully study the email headers and to find out which host really
-sent the email.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="postponing-mail">
-<title>Postponing Mail  </title>
-
-<para>
-At times it is desirable to delay sending a message that you have
-already begun to compose.  When the <emphasis>postpone-message</emphasis> function is
-used in the <emphasis>compose</emphasis> menu, the body of your message and attachments
-are stored in the mailbox specified by the <link linkend="postponed">postponed</link> variable.  This means that you can recall the
-message even if you exit Mutt-ng and then restart it at a later time.
-</para>
-
-<para>
-Once a message is postponed, there are several ways to resume it.  From the
-command line you can use the ``-p'' option, or if you <emphasis>compose</emphasis> a new
-message from the <emphasis>index</emphasis> or <emphasis>pager</emphasis> you will be prompted if postponed
-messages exist.  If multiple messages are currently postponed, the
-<emphasis>postponed</emphasis> menu will pop up and you can select which message you would
-like to resume.
-</para>
-
-<para>
-<emphasis role="bold">Note:</emphasis> If you postpone a reply to a message, the reply setting of
-the message is only updated when you actually finish the message and
-send it.  Also, you must be in the same folder with the message you
-replied to for the status of the message to be updated.
-</para>
-
-<para>
-See also the <link linkend="postpone">postpone</link> quad-option.
-</para>
-
-<para>
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-</chapter>
-
-<chapter>
-<title>Configuration  </title>
-
-<sect1>
-<title>Locations of Configuration Files  </title>
-
-<para>
-While the default configuration (or ``preferences'') make Mutt-ng usable right out
-of the box, it is often desirable to tailor Mutt-ng to suit your own tastes. When
-Mutt-ng is first invoked, it will attempt to read the ``system'' configuration
-file (defaults set by your local system administrator), unless the ``-n'' <link linkend="commandline">commandline</link> option is specified.  This file is
-typically <literal>/usr/local/share/muttng/Muttngrc</literal> or <literal>/etc/Muttngrc</literal>,
-Mutt-ng users will find this file in <literal>/usr/local/share/muttng/Muttrc</literal> or
-<literal>/etc/Muttngrc</literal>. Mutt will next look for a file named <literal>.muttrc</literal>
-in your home directory, Mutt-ng will look for <literal>.muttngrc</literal>.  If this file
-does not exist and your home directory has a subdirectory named <literal>.mutt</literal>,
-mutt try to load a file named <literal>.muttng/muttngrc</literal>. 
-</para>
-
-<para>
-<literal>.muttrc</literal> (or <literal>.muttngrc</literal> for Mutt-ng) is the file where you will
-usually place your <link linkend="commands">commands</link> to configure Mutt-ng.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="muttrc-syntax">
-<title>Basic Syntax of Initialization Files  </title>
-
-<para>
-An initialization file consists of a series of <link linkend="commands">commands</link>.  Each line of the file may contain one or more commands.
-When multiple commands are used, they must be separated by a semicolon (;).
-
-<screen>
-set realname='Mutt-ng user' ; ignore x-
-</screen>
-
-The hash mark, or pound sign
-(``&num;''), is used as a ``comment'' character. You can use it to
-annotate your initialization file. All text after the comment character
-to the end of the line is ignored. For example,
-</para>
-
-<para>
-
-<screen>
-my_hdr X-Disclaimer: Why are you listening to me? &num; This is a comment
-</screen>
-
-</para>
-
-<para>
-Single quotes (') and double quotes (&quot;) can be used to quote strings
-which contain spaces or other special characters.  The difference between
-the two types of quotes is similar to that of many popular shell programs,
-namely that a single quote is used to specify a literal string (one that is
-not interpreted for shell variables or quoting with a backslash &lsqb;see
-next paragraph&rsqb;), while double quotes indicate a string for which
-should be evaluated.  For example, backtics are evaluated inside of double
-quotes, but <emphasis role="bold">not</emphasis> for single quotes.
-</para>
-
-<para>
-&bsol; quotes the next character, just as in shells such as bash and zsh.
-For example, if want to put quotes ``&quot;'' inside of a string, you can use
-``&bsol;'' to force the next character to be a literal instead of interpreted
-character.
-
-<screen>
-set realname="Michael \"MuttDude\" Elkins"
-</screen>
-
-</para>
-
-<para>
-``&bsol;&bsol;'' means to insert a literal ``&bsol;'' into the line.
-``&bsol;n'' and ``&bsol;r'' have their usual C meanings of linefeed and
-carriage-return, respectively.
-</para>
-
-<para>
-A &bsol; at the end of a line can be used to split commands over
-multiple lines, provided that the split points don't appear in the
-middle of command names.
-</para>
-
-<para>
-Please note that, unlike the various shells, mutt-ng interprets a ``&bsol;''
-at the end of a line also in comments. This allows you to disable a command
-split over multiple lines with only one ``&num;''.
-</para>
-
-<para>
-
-<screen>
-# folder-hook . \
-  set realname="Michael \"MuttDude\" Elkins"
-</screen>
-
-</para>
-
-<para>
-When testing your config files, beware the following caveat. The backslash
-at the end of the commented line extends the current line with the next line
-- then referred to as a ``continuation line''.  As the first line is
-commented with a hash (&num;) all following continuation lines are also
-part of a comment and therefore are ignored, too. So take care of comments
-when continuation lines are involved within your setup files!
-</para>
-
-<para>
-Abstract example:
-</para>
-
-<para>
-
-<screen>
-line1\
-line2a # line2b\
-line3\
-line4
-line5
-</screen>
-
-</para>
-
-<para>
-line1 ``continues'' until line4. however, the part after the &num; is a
-comment which includes line3 and line4. line5 is a new line of its own and
-thus is interpreted again.
-</para>
-
-<para>
-The commands understood by mutt are explained in the next paragraphs.
-For a complete list, see the <link linkend="commands">commands</link>.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1>
-<title>Expansion within variables    </title>
-
-<para>
-Besides just assign static content to variables, there's plenty of
-ways of adding external and more or less dynamic content.
-</para>
-
-<sect2>
-<title>Commands' Output     </title>
-
-<para>
-It is possible to substitute the output of a Unix command in an
-initialization file.  This is accomplished by enclosing the command
-in backquotes (``) as in, for example:
-</para>
-
-<para>
-
-<screen>
-my_hdr X-Operating-System: `uname -a`
-</screen>
-
-</para>
-
-<para>
-The output of the Unix command ``uname -a'' will be substituted
-before the line is parsed. Note that since initialization files are
-line oriented, only the first line of output from the Unix command
-will be substituted.
-</para>
-
-</sect2>
-
-<sect2>
-<title>Environment Variables     </title>
-
-<para>
-UNIX environments can be accessed like the way it is done in
-shells like sh and bash: Prepend the name of the environment by a
-``&dollar;'' sign. For example,
-</para>
-
-<para>
-
-<screen>
-set record=+sent_on_$HOSTNAME
-</screen>
-
-</para>
-
-<para>
-sets the <link linkend="record">record</link> variable to the
-string <emphasis>+sent&lowbar;on&lowbar;</emphasis> and appends the value of the evironment
-variable <literal>&dollar;HOSTNAME</literal>.
-</para>
-
-<para>
-<emphasis role="bold">Note:</emphasis> There will be no warning if an environment variable
-is not defined. The result will of the expansion will then be empty.
-</para>
-
-</sect2>
-
-<sect2>
-<title>Configuration Variables     </title>
-
-<para>
-As for environment variables, the values of all configuration
-variables as string can be used in the same way, too. For example,
-</para>
-
-<para>
-
-<screen>
-set imap_home_namespace = $folder
-</screen>
-
-</para>
-
-<para>
-would set the value of <link linkend="imap-home-namespace">imap-home-namespace</link> to the value to
-which <link linkend="folder">folder</link> is <emphasis>currently</emphasis> set
-to.
-</para>
-
-<para>
-<emphasis role="bold">Note:</emphasis> There're no logical links established in such cases so
-that the the value for <link linkend="imap-home-namespace">imap-home-namespace</link> won't change even
-if <link linkend="folder">folder</link> gets changed.
-</para>
-
-<para>
-<emphasis role="bold">Note:</emphasis> There will be no warning if a configuration variable
-is not defined or is empty. The result will of the expansion will
-then be empty.
-</para>
-
-</sect2>
-
-<sect2>
-<title>Self-Defined Variables     </title>
-
-<para>
-Mutt-ng flexibly allows users to define their own variables. To
-avoid conflicts with the standard set and to prevent misleading
-error messages, there's a reserved namespace for them: all
-user-defined variables must be prefixed with <literal>user&lowbar;</literal> and can be
-used just like any ordinary configuration or environment
-variable.
-</para>
-
-<para>
-For example, to view the manual, users can either define two
-macros like the following
-</para>
-
-<para>
-
-<screen>
-macro generic &lt;F1&gt; "!less -r /path/to/manual" "Show manual"
-macro pager &lt;F1&gt; "!less -r /path/to/manual" "Show manual"
-</screen>
-
-</para>
-
-<para>
-for <literal>generic</literal>, <literal>pager</literal> and <literal>index</literal>. The alternative is to
-define a custom variable like so:
-</para>
-
-<para>
-
-<screen>
-set user_manualcmd = "!less -r /path/to_manual"
-macro generic &lt;F1&gt; "$user_manualcmd&lt;enter&gt;" "Show manual"
-macro pager &lt;F1&gt; "$user_manualcmd&lt;enter&gt;" "Show manual"
-macro index &lt;F1&gt; "$user_manualcmd&lt;enter&gt;" "Show manual"
-</screen>
-
-</para>
-
-<para>
-to re-use the command sequence as in:
-</para>
-
-<para>
-
-<screen>
-macro index &lt;F2&gt; "$user_manualcmd | grep '\^[ ]\\+~. '" "Show Patterns"
-</screen>
-
-</para>
-
-<para>
-Using this feature, arbitrary sequences can be defined once and
-recalled and reused where necessary. More advanced scenarios could
-include to save a variable's value at the beginning of macro
-sequence and restore it at end.
-</para>
-
-<para>
-When the variable is first defined, the first value it gets
-assigned is also the initial value to which it can be reset using
-the <literal>reset</literal> command.
-</para>
-
-<para>
-The complete removal is done via the <literal>unset</literal> keyword.
-</para>
-
-<para>
-After the following sequence:
-</para>
-
-<para>
-
-<screen>
-set user_foo = 42
-set user_foo = 666
-</screen>
-
-</para>
-
-<para>
-the variable <literal>$user&lowbar;foo</literal> has a current value of 666 and an
-initial of 42. The query
-</para>
-
-<para>
-
-<screen>
-set ?user_foo
-</screen>
-
-</para>
-
-<para>
-will show 666. After doing the reset via
-</para>
-
-<para>
-
-<screen>
-reset user_foo
-</screen>
-
-</para>
-
-<para>
-a following query will give 42 as the result. After unsetting it
-via
-</para>
-
-<para>
-
-<screen>
-unset user_foo
-</screen>
-
-</para>
-
-<para>
-any query or operation (except the noted expansion within other
-statements) will lead to an error message.
-</para>
-
-</sect2>
-
-<sect2>
-<title>Pre-Defined Variables     </title>
-
-<para>
-In order to allow users to share one setup over a number of
-different machines without having to change its contents, there's a
-number of pre-defined variables. These are prefixed with
-<literal>muttng&lowbar;</literal> and are read-only, i.e. they cannot be set, unset or
-reset. The reference chapter lists all available variables.
-</para>
-
-<para>
-<emphasis> Please consult the local copy of your manual for their
-values as they may differ from different manual sources.</emphasis> Where
-the manual is installed in can be queried (already using such a
-variable) by running:
-</para>
-
-<para>
-
-<screen>
-muttng -Q muttng_docdir
-</screen>
-
-</para>
-
-<para>
-To extend the example for viewing the manual via self-defined
-variables, it can be made more readable and more portable by
-changing the real path in:
-</para>
-
-<para>
-
-<screen>
-set user_manualcmd = '!less -r /path/to_manual'
-</screen>
-
-</para>
-
-<para>
-to:
-</para>
-
-<para>
-
-<screen>
-set user_manualcmd = "!less -r $muttng_docdir/manual.txt"
-</screen>
-
-</para>
-
-<para>
-which works everywhere if a manual is installed.
-</para>
-
-<para>
-Please note that by the type of quoting, muttng determines when
-to expand these values: when it finds double quotes, the value will
-be expanded during reading the setup files but when it finds single
-quotes, it'll expand it at runtime as needed.
-</para>
-
-<para>
-For example, the statement
-</para>
-
-<para>
-
-<screen>
-folder-hook . "set user_current_folder = $muttng_folder_name"
-</screen>
-
-</para>
-
-<para>
-will be already be translated to the following when reading the
-startup files:
-</para>
-
-<para>
-
-<screen>
-folder-hook . "set user_current_folder = some_folder"
-</screen>
-
-</para>
-
-<para>
-with <literal>some&lowbar;folder</literal> being the name of the first folder muttng
-opens. On the contrary,
-</para>
-
-<para>
-
-<screen>
-folder-hook . 'set user_current_folder = $muttng_folder_name'
-</screen>
-
-</para>
-
-<para>
-will be executed at runtime because of the single quotes so that
-<literal>user&lowbar;current&lowbar;folder</literal> will always have the value of the currently
-opened folder.
-</para>
-
-<para>
-A more practical example is:
-</para>
-
-<para>
-
-<screen>
-folder-hook . 'source ~/.mutt/score-$muttng_folder_name'
-</screen>
-
-</para>
-
-<para>
-which can be used to source files containing score commands
-depending on the folder the user enters.
-</para>
-
-</sect2>
-
-<sect2>
-<title>Type Conversions     </title>
-
-<para>
-A note about variable's types during conversion: internally
-values are stored in internal types but for any dump/query or set
-operation they're converted to and from string. That means that
-there's no need to worry about types when referencing any variable.
-As an example, the following can be used without harm (besides
-makeing muttng very likely behave strange):
-</para>
-
-<para>
-
-<screen>
-set read_inc = 100
-set folder = $read_inc
-set read_inc = $folder
-set user_magic_number = 42
-set folder = $user_magic_number
-</screen>
-
-</para>
-
-</sect2>
-
-</sect1>
-
-<sect1 id="alias">
-<title>Defining/Using aliases  </title>
-
-<para>
-Usage: <literal>alias</literal> <emphasis>key</emphasis> <emphasis>address</emphasis> &lsqb; , <emphasis>address</emphasis>, ... &rsqb;
-</para>
-
-<para>
-It's usually very cumbersome to remember or type out the address of someone
-you are communicating with.  Mutt-ng allows you to create ``aliases'' which map
-a short string to a full address.
-</para>
-
-<para>
-<emphasis role="bold">Note:</emphasis> if you want to create an alias for a group (by specifying more than
-one address), you <emphasis role="bold">must</emphasis> separate the addresses with a comma (``,'').
-</para>
-
-<para>
-To remove an alias or aliases (``*'' means all aliases):
-</para>
-
-<para>
-<literal>unalias</literal> &lsqb; * &verbar; <emphasis>key</emphasis> <emphasis>...</emphasis> &rsqb;
-</para>
-
-<para>
-
-<screen>
-alias muttdude me@cs.hmc.edu (Michael Elkins)
-alias theguys manny, moe, jack
-</screen>
-
-</para>
-
-<para>
-Unlike other mailers, Mutt-ng doesn't require aliases to be defined
-in a special file.  The <literal>alias</literal> command can appear anywhere in
-a configuration file, as long as this file is <link linkend="source">source</link>.  Consequently, you can have multiple alias files, or
-you can have all aliases defined in your muttrc.
-</para>
-
-<para>
-On the other hand, the <link linkend="create-alias">create-alias</link>
-function can use only one file, the one pointed to by the <link linkend="alias-file">alias-file</link> variable (which is
-<literal>&tilde;/.muttrc</literal> by default). This file is not special either,
-in the sense that Mutt-ng will happily append aliases to any file, but in
-order for the new aliases to take effect you need to explicitly <link linkend="source">source</link> this file too.
-</para>
-
-<para>
-For example:
-</para>
-
-<para>
-
-<screen>
-source /usr/local/share/Mutt-ng.aliases
-source ~/.mail_aliases
-set alias_file=~/.mail_aliases
-</screen>
-
-</para>
-
-<para>
-To use aliases, you merely use the alias at any place in mutt where mutt
-prompts for addresses, such as the <emphasis>To:</emphasis> or <emphasis>Cc:</emphasis> prompt.  You can
-also enter aliases in your editor at the appropriate headers if you have the
-<link linkend="edit-headers">edit-headers</link> variable set.
-</para>
-
-<para>
-In addition, at the various address prompts, you can use the tab character
-to expand a partial alias to the full alias.  If there are multiple matches,
-mutt will bring up a menu with the matching aliases.  In order to be
-presented with the full list of aliases, you must hit tab with out a partial
-alias, such as at the beginning of the prompt or after a comma denoting
-multiple addresses.
-</para>
-
-<para>
-In the alias menu, you can select as many aliases as you want with the
-<emphasis>select-entry</emphasis> key (default: RET), and use the <emphasis>exit</emphasis> key
-(default: q) to return to the address prompt.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="bind">
-<title>Changing the default key bindings  </title>
-
-<para>
-Usage: <literal>bind</literal> <emphasis>map</emphasis> <emphasis>key</emphasis> <emphasis>function</emphasis>
-</para>
-
-<para>
-This command allows you to change the default key bindings (operation
-invoked when pressing a key).
-</para>
-
-<para>
-<emphasis>map</emphasis> specifies in which menu the binding belongs.  Multiple maps may
-be specified by separating them with commas (no additional whitespace is
-allowed). The currently defined maps are:
-</para>
-
-<para>
-<anchor id="maps"/>
-<variablelist>
-
-<varlistentry>
-<term>generic</term>
-<listitem>
-<para>
-This is not a real menu, but is used as a fallback for all of the other
-menus except for the pager and editor modes.  If a key is not defined in
-another menu, Mutt-ng will look for a binding to use in this menu.  This allows
-you to bind a key to a certain function in multiple menus instead of having
-multiple bind statements to accomplish the same task.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>alias</term>
-<listitem>
-<para>
-The alias menu is the list of your personal aliases as defined in your
-muttrc.  It is the mapping from a short alias name to the full email
-address(es) of the recipient(s).
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>attach</term>
-<listitem>
-<para>
-The attachment menu is used to access the attachments on received messages.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>browser</term>
-<listitem>
-<para>
-The browser is used for both browsing the local directory structure, and for
-listing all of your incoming mailboxes.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>editor</term>
-<listitem>
-<para>
-The editor is the line-based editor the user enters text data.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>index</term>
-<listitem>
-<para>
-The index is the list of messages contained in a mailbox.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>compose</term>
-<listitem>
-<para>
-The compose menu is the screen used when sending a new message.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>pager</term>
-<listitem>
-<para>
-The pager is the mode used to display message/attachment data, and help
-listings.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>pgp</term>
-<listitem>
-<para>
-The pgp menu is used to select the OpenPGP keys used for encrypting outgoing
-messages.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>postpone</term>
-<listitem>
-<para>
-The postpone menu is similar to the index menu, except is used when
-recalling a message the user was composing, but saved until later.
-</para>
-</listitem></varlistentry>
-</variablelist>
-</para>
-
-<para>
-<emphasis>key</emphasis> is the key (or key sequence) you wish to bind.  To specify a
-control character, use the sequence <emphasis>&bsol;Cx</emphasis>, where <emphasis>x</emphasis> is the
-letter of the control character (for example, to specify control-A use
-``&bsol;Ca'').  Note that the case of <emphasis>x</emphasis> as well as <emphasis>&bsol;C</emphasis> is
-ignored, so that <emphasis>&bsol;CA</emphasis>, <emphasis>&bsol;Ca</emphasis>, <emphasis>&bsol;cA</emphasis> and <emphasis>&bsol;ca</emphasis> are all
-equivalent.  An alternative form is to specify the key as a three digit
-octal number prefixed with a ``&bsol;'' (for example <emphasis>&bsol;177</emphasis> is
-equivalent to <emphasis>&bsol;c?</emphasis>).
-</para>
-
-<para>
-In addition, <emphasis>key</emphasis> may consist of:
-</para>
-
-<para>
-
-<screen>
-\t              tab
-&#60;tab&#62;           tab
-&#60;backtab&#62;       backtab / shift-tab
-\r              carriage return
-\n              newline
-\e              escape
-&#60;esc&#62;           escape
-&#60;up&#62;            up arrow
-&#60;down&#62;          down arrow
-&#60;left&#62;          left arrow
-&#60;right&#62;         right arrow
-&#60;pageup&#62;        Page Up
-&#60;pagedown&#62;      Page Down
-&#60;backspace&#62;     Backspace
-&#60;delete&#62;        Delete
-&#60;insert&#62;        Insert
-&#60;enter&#62;         Enter
-&#60;return&#62;        Return
-&#60;home&#62;          Home
-&#60;end&#62;           End
-&#60;space&#62;         Space bar
-&#60;f1&#62;            function key 1
-&#60;f10&#62;           function key 10
-</screen>
-
-</para>
-
-<para>
-<emphasis>key</emphasis> does not need to be enclosed in quotes unless it contains a
-space (`` '').
-</para>
-
-<para>
-<emphasis>function</emphasis> specifies which action to take when <emphasis>key</emphasis> is pressed.
-For a complete list of functions, see the <link linkend="functions">functions</link>.  The special function <literal>noop</literal> unbinds the specified key
-sequence.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="charset-hook">
-<title>Defining aliases for character sets   </title>
-
-<para>
-Usage: <literal>charset-hook</literal> <emphasis>alias</emphasis> <emphasis>charset</emphasis>
-
-Usage: <literal>iconv-hook</literal> <emphasis>charset</emphasis> <emphasis>local-charset</emphasis>
-</para>
-
-<para>
-The <literal>charset-hook</literal> command defines an alias for a character set.
-This is useful to properly display messages which are tagged with a
-character set name not known to mutt.
-</para>
-
-<para>
-The <literal>iconv-hook</literal> command defines a system-specific name for a
-character set.  This is helpful when your systems character
-conversion library insists on using strange, system-specific names
-for character sets.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="folder-hook">
-<title>Setting variables based upon mailbox  </title>
-
-<para>
-Usage: <literal>folder-hook</literal> &lsqb;!&rsqb;<emphasis>regexp</emphasis> <emphasis>command</emphasis>
-</para>
-
-<para>
-It is often desirable to change settings based on which mailbox you are
-reading.  The folder-hook command provides a method by which you can execute
-any configuration command.  <emphasis>regexp</emphasis> is a regular expression specifying
-in which mailboxes to execute <emphasis>command</emphasis> before loading.  If a mailbox
-matches multiple folder-hook's, they are executed in the order given in the
-muttrc.
-</para>
-
-<para>
-<emphasis role="bold">Note:</emphasis> if you use the ``!'' shortcut for <link linkend="spoolfile">spoolfile</link> at the beginning of the pattern, you must place it
-inside of double or single quotes in order to distinguish it from the
-logical <emphasis>not</emphasis> operator for the expression.
-</para>
-
-<para>
-Note that the settings are <emphasis>not</emphasis> restored when you leave the mailbox.
-For example, a command action to perform is to change the sorting method
-based upon the mailbox being read:
-</para>
-
-<para>
-
-<screen>
-folder-hook mutt set sort=threads
-</screen>
-
-</para>
-
-<para>
-However, the sorting method is not restored to its previous value when
-reading a different mailbox.  To specify a <emphasis>default</emphasis> command, use the
-pattern ``.'':
-</para>
-
-<para>
-
-<screen>
-folder-hook . set sort=date-sent
-</screen>
-
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="macro">
-<title>Keyboard macros  </title>
-
-<para>
-Usage: <literal>macro</literal> <emphasis>menu</emphasis> <emphasis>key</emphasis> <emphasis>sequence</emphasis> &lsqb; <emphasis>description</emphasis> &rsqb;
-</para>
-
-<para>
-Macros are useful when you would like a single key to perform a series of
-actions.  When you press <emphasis>key</emphasis> in menu <emphasis>menu</emphasis>, Mutt-ng will behave as if
-you had typed <emphasis>sequence</emphasis>.  So if you have a common sequence of commands
-you type, you can create a macro to execute those commands with a single
-key.
-</para>
-
-<para>
-<emphasis>menu</emphasis> is the <link linkend="maps">maps</link> which the macro will be bound.
-Multiple maps may be specified by separating multiple menu arguments by
-commas. Whitespace may not be used in between the menu arguments and the
-commas separating them.
-</para>
-
-<para>
-<emphasis>key</emphasis> and <emphasis>sequence</emphasis> are expanded by the same rules as the <link linkend="bind">bind</link>.  There are some additions however.  The
-first is that control characters in <emphasis>sequence</emphasis> can also be specified
-as <emphasis>&circ;x</emphasis>.  In order to get a caret (`&circ;'') you need to use
-<emphasis>&circ;&circ;</emphasis>.  Secondly, to specify a certain key such as <emphasis>up</emphasis>
-or to invoke a function directly, you can use the format
-<emphasis>&lt;key name&gt;</emphasis> and <emphasis>&lt;function name&gt;</emphasis>.  For a listing of key
-names see the section on <link linkend="bind">bind</link>.  Functions
-are listed in the <link linkend="functions">functions</link>.
-</para>
-
-<para>
-The advantage with using function names directly is that the macros will
-work regardless of the current key bindings, so they are not dependent on
-the user having particular key definitions.  This makes them more robust
-and portable, and also facilitates defining of macros in files used by more
-than one user (eg. the system Muttngrc).
-</para>
-
-<para>
-Optionally you can specify a descriptive text after <emphasis>sequence</emphasis>,
-which is shown in the help screens.
-</para>
-
-<para>
-<emphasis role="bold">Note:</emphasis> Macro definitions (if any) listed in the help screen(s), are
-silently truncated at the screen width, and are not wrapped.   
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="color">
-<title>Using color and mono video attributes  </title>
-
-<para>
-Usage: <literal>color</literal> <emphasis>object</emphasis> <emphasis>foreground</emphasis> <emphasis>background</emphasis> &lsqb; <emphasis>regexp</emphasis> &rsqb;
-
-Usage: <literal>color</literal> index <emphasis>foreground</emphasis> <emphasis>background</emphasis> <emphasis>pattern</emphasis>
-
-Usage: <literal>uncolor</literal> index <emphasis>pattern</emphasis> &lsqb; <emphasis>pattern</emphasis> ...  &rsqb;
-
-</para>
-
-<para>
-If your terminal supports color, you can spice up Mutt-ng by creating your own
-color scheme.  To define the color of an object (type of information), you
-must specify both a foreground color <emphasis role="bold">and</emphasis> a background color (it is not
-possible to only specify one or the other).
-</para>
-
-<para>
-<emphasis>object</emphasis> can be one of:
-</para>
-
-<para>
-
-<itemizedlist>
-<listitem>
-
-<para>
-attachment
-</para>
-</listitem>
-<listitem>
-
-<para>
-body (match <emphasis>regexp</emphasis> in the body of messages)
-</para>
-</listitem>
-<listitem>
-
-<para>
-bold (highlighting bold patterns in the body of messages)
-</para>
-</listitem>
-<listitem>
-
-<para>
-error (error messages printed by Mutt-ng)
-</para>
-</listitem>
-<listitem>
-
-<para>
-header (match <emphasis>regexp</emphasis> in the message header)
-</para>
-</listitem>
-<listitem>
-
-<para>
-hdrdefault (default color of the message header in the pager)
-</para>
-</listitem>
-<listitem>
-
-<para>
-index (match <emphasis>pattern</emphasis> in the message index)
-</para>
-</listitem>
-<listitem>
-
-<para>
-indicator (arrow or bar used to indicate the current item in a menu)
-</para>
-</listitem>
-<listitem>
-
-<para>
-markers (the ``+'' markers at the beginning of wrapped lines in the pager)
-</para>
-</listitem>
-<listitem>
-
-<para>
-message (informational messages)
-</para>
-</listitem>
-<listitem>
-
-<para>
-normal
-</para>
-</listitem>
-<listitem>
-
-<para>
-quoted (text matching <link linkend="quote-regexp">quote-regexp</link> in the body of a message)
-</para>
-</listitem>
-<listitem>
-
-<para>
-quoted1, quoted2, ..., quoted<emphasis role="bold">N</emphasis> (higher levels of quoting)
-</para>
-</listitem>
-<listitem>
-
-<para>
-search (highlighting of words in the pager)
-</para>
-</listitem>
-<listitem>
-
-<para>
-signature
-</para>
-</listitem>
-<listitem>
-
-<para>
-status (mode lines used to display info about the mailbox or message)
-</para>
-</listitem>
-<listitem>
-
-<para>
-tilde (the ``&tilde;'' used to pad blank lines in the pager)
-</para>
-</listitem>
-<listitem>
-
-<para>
-tree (thread tree drawn in the message index and attachment menu)
-</para>
-</listitem>
-<listitem>
-
-<para>
-underline (highlighting underlined patterns in the body of messages)
-</para>
-</listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>
-<emphasis>foreground</emphasis> and <emphasis>background</emphasis> can be one of the following:
-</para>
-
-<para>
-
-<itemizedlist>
-<listitem>
-
-<para>
-white
-</para>
-</listitem>
-<listitem>
-
-<para>
-black
-</para>
-</listitem>
-<listitem>
-
-<para>
-green
-</para>
-</listitem>
-<listitem>
-
-<para>
-magenta
-</para>
-</listitem>
-<listitem>
-
-<para>
-blue
-</para>
-</listitem>
-<listitem>
-
-<para>
-cyan
-</para>
-</listitem>
-<listitem>
-
-<para>
-yellow
-</para>
-</listitem>
-<listitem>
-
-<para>
-red
-</para>
-</listitem>
-<listitem>
-
-<para>
-default
-</para>
-</listitem>
-<listitem>
-
-<para>
-color<emphasis>x</emphasis>
-</para>
-</listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>
-<emphasis>foreground</emphasis> can optionally be prefixed with the keyword <literal>bright</literal> to make
-the foreground color boldfaced (e.g., <literal>brightred</literal>).
-</para>
-
-<para>
-If your terminal supports it, the special keyword <emphasis>default</emphasis> can be
-used as a transparent color.  The value <emphasis>brightdefault</emphasis> is also valid.
-If Mutt-ng is linked against the <emphasis>S-Lang</emphasis> library, you also need to set
-the <emphasis>COLORFGBG</emphasis> environment variable to the default colors of your
-terminal for this to work; for example (for Bourne-like shells):
-</para>
-
-<para>
-
-<screen>
-set COLORFGBG="green;black"
-export COLORFGBG
-</screen>
-
-</para>
-
-<para>
-<emphasis role="bold">Note:</emphasis> The <emphasis>S-Lang</emphasis> library requires you to use the <emphasis>lightgray</emphasis>
-and <emphasis>brown</emphasis> keywords instead of <emphasis>white</emphasis> and <emphasis>yellow</emphasis> when
-setting this variable.
-</para>
-
-<para>
-<emphasis role="bold">Note:</emphasis> The uncolor command can be applied to the index object only.  It
-removes entries from the list. You <emphasis role="bold">must</emphasis> specify the same pattern
-specified in the color command for it to be removed.  The pattern ``*'' is
-a special token which means to clear the color index list of all entries.
-</para>
-
-<para>
-Mutt-ng also recognizes the keywords <emphasis>color0</emphasis>, <emphasis>color1</emphasis>, &hellip;,
-<emphasis>color</emphasis><emphasis role="bold">N-1</emphasis> (<emphasis role="bold">N</emphasis> being the number of colors supported
-by your terminal).  This is useful when you remap the colors for your
-display (for example by changing the color associated with <emphasis>color2</emphasis>
-for your xterm), since color names may then lose their normal meaning.
-</para>
-
-<para>
-If your terminal does not support color, it is still possible change the video
-attributes through the use of the ``mono'' command:
-</para>
-
-<para>
-Usage: <literal>mono</literal> <emphasis>&lt;object&gt; &lt;attribute&gt;</emphasis> &lsqb; <emphasis>regexp</emphasis> &rsqb;
-
-Usage: <literal>mono</literal> index <emphasis>attribute</emphasis> <emphasis>pattern</emphasis>
-
-Usage: <literal>unmono</literal> index <emphasis>pattern</emphasis> &lsqb; <emphasis>pattern</emphasis> ...  &rsqb;
-
-</para>
-
-<para>
-where <emphasis>attribute</emphasis> is one of the following:
-</para>
-
-<para>
-
-<itemizedlist>
-<listitem>
-
-<para>
-none
-</para>
-</listitem>
-<listitem>
-
-<para>
-bold
-</para>
-</listitem>
-<listitem>
-
-<para>
-underline
-</para>
-</listitem>
-<listitem>
-
-<para>
-reverse
-</para>
-</listitem>
-<listitem>
-
-<para>
-standout
-</para>
-</listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="ignore">
-<title>Ignoring (weeding) unwanted message headers  </title>
-
-<para>
-Usage: <literal>&lsqb;un&rsqb;ignore</literal> <emphasis>pattern</emphasis> &lsqb; <emphasis>pattern</emphasis> ... &rsqb;
-</para>
-
-<para>
-Messages often have many header fields added by automatic processing systems,
-or which may not seem useful to display on the screen.  This command allows
-you to specify header fields which you don't normally want to see.
-</para>
-
-<para>
-You do not need to specify the full header field name.  For example,
-``ignore content-'' will ignore all header fields that begin with the pattern
-``content-''. ``ignore *'' will ignore all headers.
-</para>
-
-<para>
-To remove a previously added token from the list, use the ``unignore'' command.
-The ``unignore'' command will make Mutt-ng display headers with the given pattern.
-For example, if you do ``ignore x-'' it is possible to ``unignore x-mailer''.
-</para>
-
-<para>
-``unignore *'' will remove all tokens from the ignore list.
-</para>
-
-<para>
-For example:
-
-<screen>
-# Sven's draconian header weeding
-ignore *
-unignore from date subject to cc
-unignore organization organisation x-mailer: x-newsreader: x-mailing-list:
-unignore posted-to:
-</screen>
-
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="alternates">
-<title>Alternative addresses  </title>
-
-<para>
-Usage: <literal>&lsqb;un&rsqb;alternates</literal> <emphasis>regexp</emphasis> &lsqb; <emphasis>regexp</emphasis> ... &rsqb;
-
-</para>
-
-<para>
-With various functions, mutt will treat messages differently,
-depending on whether you sent them or whether you received them from
-someone else.  For instance, when replying to a message that you
-sent to a different party, mutt will automatically suggest to send
-the response to the original message's recipients -- responding to
-yourself won't make much sense in many cases.  (See <link linkend="reply-to">reply-to</link>.)
-</para>
-
-<para>
-Many users receive e-mail under a number of different addresses. To
-fully use mutt's features here, the program must be able to
-recognize what e-mail addresses you receive mail under. That's the
-purpose of the <literal>alternates</literal> command: It takes a list of regular
-expressions, each of which can identify an address under which you
-receive e-mail.
-</para>
-
-<para>
-The <literal>unalternates</literal> command can be used to write exceptions to
-<literal>alternates</literal> patterns. If an address matches something in an
-<literal>alternates</literal> command, but you nonetheless do not think it is
-from you, you can list a more precise pattern under an <literal>unalternates</literal>
-command.
-</para>
-
-<para>
-To remove a regular expression from the <literal>alternates</literal> list, use the
-<literal>unalternates</literal> command with exactly the same <emphasis>regexp</emphasis>.
-Likewise, if the <emphasis>regexp</emphasis> for a <literal>alternates</literal> command matches
-an entry on the <literal>unalternates</literal> list, that <literal>unalternates</literal>
-entry will be removed. If the <emphasis>regexp</emphasis> for <literal>unalternates</literal>
-is ``*'', <emphasis>all entries</emphasis> on <literal>alternates</literal> will be removed.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1>
-<title>Format = Flowed    </title>
-
-<sect2>
-<title>Introduction      </title>
-
-<para>
-Mutt-ng contains support for so-called <literal>format=flowed</literal> messages.
-In the beginning of email, each message had a fixed line width, and
-it was enough for displaying them on fixed-size terminals. But times
-changed, and nowadays hardly anybody still uses fixed-size terminals:
-more people nowaydays use graphical user interfaces, with dynamically
-resizable windows. This led to the demand of a new email format that
-makes it possible for the email client to make the email look nice
-in a resizable window without breaking quoting levels and creating
-an incompatible email format that can also be displayed nicely on
-old fixed-size terminals.
-</para>
-
-<para>
-For introductory information on <literal>format=flowed</literal> messages, see
-<ulink
-URL="http://www.joeclark.org/ffaq.html"
->&#60;http://www.joeclark.org/ffaq.html&#62;</ulink
->.
-</para>
-
-</sect2>
-
-<sect2>
-<title>Receiving: Display Setup      </title>
-
-<para>
-When you receive emails that are marked as <literal>format=flowed</literal>
-messages, and is formatted correctly, mutt-ng will try to reformat
-the message to optimally fit on your terminal. If you want a fixed
-margin on the right side of your terminal, you can set the
-following:
-</para>
-
-<para>
-
-<screen>
-    set wrapmargin = 10
-    
-</screen>
-
-</para>
-
-<para>
-The code above makes the line break 10 columns before the right
-side of the terminal.
-</para>
-
-<para>
-If your terminal is so wide that the lines are embarrassingly long,
-you can also set a maximum line length:
-</para>
-
-<para>
-
-<screen>
-    set max_line_length = 120
-    
-</screen>
-
-</para>
-
-<para>
-The example above will give you lines not longer than 120
-characters.
-</para>
-
-<para>
-When you view at <literal>format=flowed</literal> messages, you will often see
-the quoting hierarchy like in the following example:
-</para>
-
-<para>
-
-<screen>
-    &gt;Bill, can you please send last month's progress report to Mr. 
-    &gt;Morgan? We also urgently need the cost estimation for the new 
-    &gt;production server that we want to set up before our customer's 
-    &gt;project will go live.
-    
-</screen>
-
-</para>
-
-<para>
-This obviously doesn't look very nice, and it makes it very
-hard to differentiate between text and quoting character. The
-solution is to configure mutt-ng to "stuff" the quoting:
-</para>
-
-<para>
-
-<screen>
-    set stuff_quoted
-    
-</screen>
-
-</para>
-
-<para>
-This will lead to a nicer result that is easier to read:
-</para>
-
-<para>
-
-<screen>
-    &gt; Bill, can you please send last month's progress report to Mr. 
-    &gt; Morgan? We also urgently need the cost estimation for the new 
-    &gt; production server that we want to set up before our customer's 
-    &gt; project will go live.
-    
-</screen>
-
-</para>
-
-</sect2>
-
-<sect2>
-<title>Sending      </title>
-
-<para>
-If you want mutt-ng to send emails with <literal>format=flowed</literal> set, you
-need to explicitly set it:
-</para>
-
-<para>
-
-<screen>
-    set text_flowed
-    
-</screen>
-
-</para>
-
-<para>
-Additionally, you have to use an editor which supports writing
-<literal>format=flowed</literal>-conforming emails. For vim, this is done by
-adding <literal>w</literal> to the formatoptions (see <literal>:h formatoptions</literal> and
-<literal>:h fo-table</literal>) when writing emails.
-</para>
-
-<para>
-Also note that <emphasis>format=flowed</emphasis> knows about ``space-stuffing'',
-that is, when sending messages, some kinds of lines have to be
-indented with a single space on the sending side. On the receiving
-side, the first space (if any) is removed. As a consequence and in
-addition to the above simple setting, please keep this in mind when
-making manual formattings within the editor. Also note that mutt-ng
-currently violates the standard (RfC 3676) as it does not
-space-stuff lines starting with:
-</para>
-
-<para>
-
-<itemizedlist>
-<listitem>
-
-<para>
-<literal>&gt;</literal> This is <emphasis>not</emphasis> the quote character but a right
-angle used for other reasons
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal>From</literal> with a trailing space.
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-just a space for formatting reasons
-
-</para>
-</listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>
-Please make sure that you manually prepend a space to each of them.
-</para>
-
-</sect2>
-
-<sect2>
-<title>Additional Notes</title>
-
-<para>
- For completeness, the <link linkend="delete-space">delete-space</link> variable provides the mechanism
-to generate a <literal>DelSp=yes</literal> parameter on <emphasis>outgoing</emphasis> messages.
-According to the standard, clients receiving a <literal>format=flowed</literal>
-messages should delete the last space of a flowed line but still
-interpret the line as flowed. Because flowed lines usually contain
-only one space at the end, this parameter would make the receiving
-client concatenate the last word of the previous with the first of
-the current line <emphasis>without</emphasis> a space. This makes ordinary text
-unreadable and is intended for languages rarely using spaces. So
-please use this setting only if you're sure what you're doing.
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-</sect1>
-
-<sect1 id="lists">
-<title>Mailing lists  </title>
-
-<para>
-Usage: <literal>&lsqb;un&rsqb;lists</literal> <emphasis>regexp</emphasis> &lsqb; <emphasis>regexp</emphasis> ... &rsqb;
-
-Usage: <literal>&lsqb;un&rsqb;subscribe</literal> <emphasis>regexp</emphasis> &lsqb; <emphasis>regexp</emphasis> ... &rsqb;
-</para>
-
-<para>
-Mutt-ng has a few nice features for <link linkend="using-lists">using-lists</link>.  In order to take advantage of them, you must
-specify which addresses belong to mailing lists, and which mailing
-lists you are subscribed to.  Once you have done this, the <link linkend="func-list-reply">list-reply</link> function will work for all known lists.
-Additionally, when you send a message to a subscribed list, mutt will
-add a Mail-Followup-To header to tell other users' mail user agents
-not to send copies of replies to your personal address.   Note that
-the Mail-Followup-To header is a non-standard extension which is not
-supported by all mail user agents.  Adding it is not bullet-proof against
-receiving personal CCs of list messages.  Also note that the generation
-of the Mail-Followup-To header is controlled by the <link linkend="followup-to">followup-to</link> configuration variable.
-</para>
-
-<para>
-More precisely, Mutt-ng maintains lists of patterns for the addresses
-of known and subscribed mailing lists.  Every subscribed mailing
-list is known. To mark a mailing list as known, use the ``lists''
-command.  To mark it as subscribed, use ``subscribe''.
-</para>
-
-<para>
-You can use regular expressions with both commands.  To mark all
-messages sent to a specific bug report's address on mutt's bug
-tracking system as list mail, for instance, you could say
-``subscribe &lsqb;0-9]*@bugs.guug.de''.  Often, it's sufficient to just
-give a portion of the list's e-mail address.
-</para>
-
-<para>
-Specify as much of the address as you need to to remove ambiguity.  For
-example, if you've subscribed to the Mutt-ng mailing list, you will receive mail
-addressed to <emphasis>mutt-users@mutt.org</emphasis>.  So, to tell Mutt-ng that this is a
-mailing list, you could add ``lists mutt-users'' to your
-initialization file.  To tell mutt that you are subscribed to it,
-add ``subscribe mutt-users'' to your initialization file instead.
-If you also happen to get mail from someone whose address is
-<emphasis>mutt-users@example.com</emphasis>, you could use ``lists mutt-users@mutt&bsol;&bsol;.org'' 
-or ``subscribe mutt-users@mutt&bsol;&bsol;.org'' to
-match only mail from the actual list.
-</para>
-
-<para>
-The ``unlists'' command is used to remove a token from the list of
-known and subscribed mailing-lists. Use ``unlists *'' to remove all
-tokens.
-</para>
-
-<para>
-To remove a mailing list from the list of subscribed mailing lists,
-but keep it on the list of known mailing lists, use ``unsubscribe''.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="mbox-hook">
-<title>Using Multiple spool mailboxes  </title>
-
-<para>
-Usage: <literal>mbox-hook</literal> &lsqb;!&rsqb;<emphasis>pattern</emphasis> <emphasis>mailbox</emphasis>
-</para>
-
-<para>
-This command is used to move read messages from a specified mailbox to a
-different mailbox automatically when you quit or change folders.
-<emphasis>pattern</emphasis> is a regular expression specifying the mailbox to treat as a
-``spool'' mailbox and <emphasis>mailbox</emphasis> specifies where mail should be saved when
-read.
-</para>
-
-<para>
-Unlike some of the other <emphasis>hook</emphasis> commands, only the <emphasis>first</emphasis> matching
-pattern is used (it is not possible to save read mail in more than a single
-mailbox).
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="mailboxes">
-<title>Defining mailboxes which receive mail  </title>
-
-<para>
-Usage: <literal>&lsqb;un&rsqb;mailboxes</literal> &lsqb;!&rsqb;<emphasis>filename</emphasis> &lsqb; <emphasis>filename</emphasis> ... &rsqb;
-</para>
-
-<para>
-This command specifies folders which can receive mail and
-which will be checked for new messages.  By default, the
-main menu status bar displays how many of these folders have
-new messages.
-</para>
-
-<para>
-When changing folders, pressing <emphasis>space</emphasis> will cycle
-through folders with new mail.
-</para>
-
-<para>
-Pressing TAB in the directory browser will bring up a menu showing the files
-specified by the <literal>mailboxes</literal> command, and indicate which contain new
-messages.  Mutt-ng will automatically enter this mode when invoked from the
-command line with the <literal>-y</literal> option.
-</para>
-
-<para>
-The ``unmailboxes'' command is used to remove a token from the list
-of folders which receive mail. Use ``unmailboxes *'' to remove all
-tokens.
-</para>
-
-<para>
-<emphasis role="bold">Note:</emphasis> new mail is detected by comparing the last modification time to
-the last access time.  Utilities like <literal>biff</literal> or <literal>frm</literal> or any other
-program which accesses the mailbox might cause Mutt-ng to never detect new mail
-for that mailbox if they do not properly reset the access time.  Backup
-tools are another common reason for updated access times.
-</para>
-
-<para>
-<emphasis role="bold">Note:</emphasis> the filenames in the <literal>mailboxes</literal> command are resolved when
-the command is executed, so if these names contain <link linkend="shortcuts">shortcuts</link> (such as ``='' and ``!''), any variable
-definition that affect these characters (like <link linkend="folder">folder</link> and <link linkend="spoolfile">spoolfile</link>)
-should be executed before the <literal>mailboxes</literal> command.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="my-hdr">
-<title>User defined headers  </title>
-
-<para>
-Usage:
-
-<literal>my&lowbar;hdr</literal> <emphasis>string</emphasis>
-
-<literal>unmy&lowbar;hdr</literal> <emphasis>field</emphasis> &lsqb; <emphasis>field</emphasis> ... &rsqb;
-</para>
-
-<para>
-The ``my&lowbar;hdr'' command allows you to create your own header
-fields which will be added to every message you send.
-</para>
-
-<para>
-For example, if you would like to add an ``Organization:'' header field to
-all of your outgoing messages, you can put the command
-</para>
-
-<para>
-<screen>
-my&lowbar;hdr Organization: A Really Big Company, Anytown, USA
-</screen>
-</para>
-
-<para>
-in your <literal>.muttrc</literal>.
-</para>
-
-<para>
-<emphasis role="bold">Note:</emphasis>  space characters are <emphasis>not</emphasis> allowed between the keyword and
-the colon (``:'').  The standard for electronic mail (RFC822) says that
-space is illegal there, so Mutt-ng enforces the rule.
-</para>
-
-<para>
-If you would like to add a header field to a single message, you should
-either set the <link linkend="edit-headers">edit-headers</link> variable,
-or use the <emphasis>edit-headers</emphasis> function (default: ``E'') in the send-menu so
-that you can edit the header of your message along with the body.
-</para>
-
-<para>
-To remove user defined header fields, use the ``unmy&lowbar;hdr''
-command.  You may specify an asterisk (``*'') to remove all header
-fields, or the fields to remove.  For example, to remove all ``To'' and
-``Cc'' header fields, you could use:
-</para>
-
-<para>
-<screen>
-unmy&lowbar;hdr to cc
-</screen>
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="hdr-order">
-<title>Defining the order of headers when viewing messages  </title>
-
-<para>
-Usage: <literal>hdr&lowbar;order</literal> <emphasis>header1</emphasis> <emphasis>header2</emphasis> <emphasis>header3</emphasis>
-</para>
-
-<para>
-With this command, you can specify an order in which mutt will attempt
-to present headers to you when viewing messages.
-</para>
-
-<para>
-``unhdr&lowbar;order *'' will clear all previous headers from the order list,
-thus removing the header order effects set by the system-wide startup
-file.
-</para>
-
-<para>
-
-<screen>
-hdr&lowbar;order From Date: From: To: Cc: Subject:
-</screen>
-
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="save-hook">
-<title>Specify default save filename  </title>
-
-<para>
-Usage: <literal>save-hook</literal> &lsqb;!&rsqb;<emphasis>pattern</emphasis> <emphasis>filename</emphasis>
-</para>
-
-<para>
-This command is used to override the default filename used when saving
-messages.  <emphasis>filename</emphasis> will be used as the default filename if the message is
-<emphasis>From:</emphasis> an address matching <emphasis>regexp</emphasis> or if you are the author and the
-message is addressed <emphasis>to:</emphasis> something matching <emphasis>regexp</emphasis>.
-</para>
-
-<para>
-See <link linkend="pattern-hook">pattern-hook</link> for information on the exact format of <emphasis>pattern</emphasis>.
-</para>
-
-<para>
-Examples:
-</para>
-
-<para>
-
-<screen>
-save-hook me@(turing\\.)?cs\\.hmc\\.edu$ +elkins
-save-hook aol\\.com$ +spam
-</screen>
-
-</para>
-
-<para>
-Also see the <link linkend="fcc-save-hook">fcc-save-hook</link> command.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="fcc-hook">
-<title>Specify default Fcc: mailbox when composing  </title>
-
-<para>
-Usage: <literal>fcc-hook</literal> &lsqb;!&rsqb;<emphasis>pattern</emphasis> <emphasis>mailbox</emphasis>
-</para>
-
-<para>
-This command is used to save outgoing mail in a mailbox other than
-<link linkend="record">record</link>.  Mutt-ng searches the initial list of
-message recipients for the first matching <emphasis>regexp</emphasis> and uses <emphasis>mailbox</emphasis>
-as the default Fcc: mailbox.  If no match is found the message will be saved
-to <link linkend="record">record</link> mailbox.
-</para>
-
-<para>
-See <link linkend="pattern-hook">pattern-hook</link> for information on the exact format of <emphasis>pattern</emphasis>.
-</para>
-
-<para>
-Example: <literal>fcc-hook &lsqb;@.&rsqb;aol&bsol;&bsol;.com&dollar; +spammers</literal>
-</para>
-
-<para>
-The above will save a copy of all messages going to the aol.com domain to
-the `+spammers' mailbox by default.  Also see the <link linkend="fcc-save-hook">fcc-save-hook</link> command.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="fcc-save-hook">
-<title>Specify default save filename and default Fcc: mailbox at once  </title>
-
-<para>
-Usage: <literal>fcc-save-hook</literal> &lsqb;!&rsqb;<emphasis>pattern</emphasis> <emphasis>mailbox</emphasis>
-</para>
-
-<para>
-This command is a shortcut, equivalent to doing both a <link linkend="fcc-hook">fcc-hook</link>
-and a <link linkend="save-hook">save-hook</link> with its arguments.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="send-hook">
-<title>Change settings based upon message recipients  </title>
-
-<para>
-Usage: <literal>reply-hook</literal> &lsqb;!&rsqb;<emphasis>pattern</emphasis> <emphasis>command</emphasis>
-
-Usage: <literal>send-hook</literal> &lsqb;!&rsqb;<emphasis>pattern</emphasis> <emphasis>command</emphasis>
-
-Usage: <literal>send2-hook</literal> &lsqb;!&rsqb;<emphasis>pattern</emphasis> <emphasis>command</emphasis>
-</para>
-
-<para>
-These commands can be used to execute arbitrary configuration commands based
-upon recipients of the message.  <emphasis>pattern</emphasis> is a regular expression
-matching the desired address.  <emphasis>command</emphasis> is executed when <emphasis>regexp</emphasis>
-matches recipients of the message.
-</para>
-
-<para>
-<literal>reply-hook</literal> is matched against the message you are <emphasis>replying</emphasis>
-<emphasis role="bold">to</emphasis>, instead of the message you are <emphasis>sending</emphasis>.  <literal>send-hook</literal> is
-matched against all messages, both <emphasis>new</emphasis> and <emphasis>replies</emphasis>.  <emphasis role="bold">Note:</emphasis>
-<literal>reply-hook</literal>s are matched <emphasis role="bold">before</emphasis> the <literal>send-hook</literal>, <emphasis role="bold">regardless</emphasis>
-of the order specified in the users's configuration file.
-</para>
-
-<para>
-<literal>send2-hook</literal> is matched every time a message is changed, either
-by editing it, or by using the compose menu to change its recipients
-or subject.  <literal>send2-hook</literal> is executed after <literal>send-hook</literal>, and
-can, e.g., be used to set parameters such as the <link linkend="sendmail">sendmail</link> variable depending on the message's sender
-address.
-</para>
-
-<para>
-For each type of <literal>send-hook</literal> or <literal>reply-hook</literal>, when multiple matches
-occur, commands are executed in the order they are specified in the muttrc
-(for that type of hook).
-</para>
-
-<para>
-See <link linkend="pattern-hook">pattern-hook</link> for information on the exact format of <emphasis>pattern</emphasis>.
-</para>
-
-<para>
-Example: <literal>send-hook mutt &quot;set mime&lowbar;forward signature=''&quot;</literal>
-</para>
-
-<para>
-Another typical use for this command is to change the values of the
-<link linkend="attribution">attribution</link>, <link linkend="signature">signature</link> and <link linkend="locale">locale</link>
-variables in order to change the language of the attributions and
-signatures based upon the recipients.
-</para>
-
-<para>
-<emphasis role="bold">Note:</emphasis> the send-hook's are only executed ONCE after getting the initial
-list of recipients.  Adding a recipient after replying or editing the
-message will NOT cause any send-hook to be executed.  Also note that
-my&lowbar;hdr commands which modify recipient headers, or the message's
-subject, don't have any effect on the current message when executed
-from a send-hook.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="message-hook">
-<title>Change settings before formatting a message  </title>
-
-<para>
-Usage: <literal>message-hook</literal> &lsqb;!&rsqb;<emphasis>pattern</emphasis> <emphasis>command</emphasis>
-</para>
-
-<para>
-This command can be used to execute arbitrary configuration commands
-before viewing or formatting a message based upon information about the message.
-<emphasis>command</emphasis> is executed if the <emphasis>pattern</emphasis> matches the message to be
-displayed. When multiple matches occur, commands are executed in the order
-they are specified in the muttrc.
-</para>
-
-<para>
-See <link linkend="pattern-hook">pattern-hook</link> for
-information on the exact format of <emphasis>pattern</emphasis>.
-</para>
-
-<para>
-Example:
-
-<screen>
-message-hook ~A 'set pager=builtin'
-message-hook '~f freshmeat-news' 'set pager="less \"+/^  subject: .*\""'
-</screen>
-
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="crypt-hook">
-<title>Choosing the cryptographic key of the recipient  </title>
-
-<para>
-Usage: <literal>crypt-hook</literal> <emphasis>pattern</emphasis> <emphasis>keyid</emphasis>
-</para>
-
-<para>
-When encrypting messages with PGP or OpenSSL, you may want to associate a certain
-key with a given e-mail address automatically, either because the
-recipient's public key can't be deduced from the destination address,
-or because, for some reasons, you need to override the key Mutt-ng would
-normally use.  The crypt-hook command provides a method by which you can
-specify the ID of the public key to be used when encrypting messages to
-a certain recipient.
-</para>
-
-<para>
-The meaning of "key id" is to be taken broadly in this context:  You
-can either put a numerical key ID here, an e-mail address, or even
-just a real name.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="push">
-<title>Adding key sequences to the keyboard buffer  </title>
-
-<para>
-Usage: <literal>push</literal> <emphasis>string</emphasis>
-</para>
-
-<para>
-This command adds the named string to the keyboard buffer. The string may
-contain control characters, key names and function names like the sequence
-string in the <link linkend="macro">macro</link> command. You may use it to
-automatically run a sequence of commands at startup, or when entering
-certain folders.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="exec">
-<title>Executing functions  </title>
-
-<para>
-Usage: <literal>exec</literal> <emphasis>function</emphasis> &lsqb; <emphasis>function</emphasis> ... &rsqb;
-</para>
-
-<para>
-This command can be used to execute any function. Functions are
-listed in the <link linkend="functions">functions</link>.
-``exec function'' is equivalent to ``push &lt;function&gt;''.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="score-command">
-<title>Message Scoring  </title>
-
-<para>
-Usage: <literal>score</literal> <emphasis>pattern</emphasis> <emphasis>value</emphasis>
-
-Usage: <literal>unscore</literal> <emphasis>pattern</emphasis> &lsqb; <emphasis>pattern</emphasis> ... &rsqb;
-</para>
-
-<para>
-In situations where you have to cope with a lot of emails, e.g.
-when you read many different mailing lists, and take part in
-discussions, it is always useful to have the important messages
-marked and the annoying messages or the ones that you aren't
-interested in deleted. For this purpose, mutt-ng features a
-mechanism called ``scoring''.
-</para>
-
-<para>
-When you use scoring, every message has a base score of 0. You
-can then use the <literal>score</literal> command to define patterns and a
-positive or negative value associated with it. When a pattern
-matches a message, the message's score will be raised or lowered by
-the amount of the value associated with the pattern.
-</para>
-
-<para>
-
-<screen>
-score "~f nion@muttng\.org" 50
-score "~f @sco\.com" -100
-</screen>
-
-</para>
-
-<para>
-If the pattern matches, it is also possible to set the score
-value of the current message to a certain value and then stop
-evaluation:
-</para>
-
-<para>
-
-<screen>
-score "~f santaclaus@northpole\.int" =666
-</screen>
-
-</para>
-
-<para>
-What is important to note is that negative score values will be
-rounded up to 0.
-</para>
-
-<para>
-To make scoring actually useful, the score must be applied in
-some way.  That's what the <emphasis>score thresholds</emphasis> are for. Currently,
-there are three score thresholds:
-</para>
-
-<para>
-
-<itemizedlist>
-<listitem>
-
-<para>
-flag threshold: when a message has a score value equal or higher
-than the flag threshold, it will be flagged.
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-read threshold: when a message has a score value equal or lower
-than the read threshold, it will be marked as read.
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-delete threshold: when a message has a score value equal or
-lower than the delete threshold, it will be marked as deleted.
-
-</para>
-</listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>
-These three thresholds can be set via the variables <link linkend="score-threshold-flag">score-threshold-flag</link>, <link linkend="score-threshold-read">score-threshold-read</link>, <link linkend="score-threshold-delete">score-threshold-delete</link> and.  By
-default, <link linkend="score-threshold-read">score-threshold-read</link> and <link linkend="score-threshold-delete">score-threshold-delete</link> are set to
-<literal>-1</literal>, which means that in the default threshold configuration no
-message will ever get marked as read or deleted.
-</para>
-
-<para>
-Scoring gets especially interesting when combined with the <literal>color</literal> command
-and the <literal>&tilde;n</literal> pattern:
-</para>
-
-<para>
-
-<screen>
-color index  black   yellow  "~n 10-"
-color index  red     yellow  "~n 100-"
-</screen>
-
-</para>
-
-<para>
-The rules above mark all messages with a score between 10 and 99
-with black and yellow, and messages with a score greater or equal
-100 with red and yellow. This might be unusual to you if you're used
-to e.g. slrn's scoring mechanism, but it is more flexible, as it
-visually marks different scores.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="spam">
-<title>Spam detection  </title>
-
-<para>
-Usage: <literal>spam</literal> <emphasis>pattern</emphasis> <emphasis>format</emphasis>
-
-Usage: <literal>nospam</literal> <emphasis>pattern</emphasis>
-</para>
-
-<para>
-Mutt-ng has generalized support for external spam-scoring filters.
-By defining your spam patterns with the <literal>spam</literal> and <literal>nospam</literal>
-commands, you can <emphasis>limit</emphasis>, <emphasis>search</emphasis>, and <emphasis>sort</emphasis> your
-mail based on its spam attributes, as determined by the external
-filter. You also can display the spam attributes in your index
-display using the <literal>&percnt;H</literal> selector in the <link linkend="index-format">index-format</link> variable. (Tip: try <literal>&percnt;?H?[&percnt;H] ?</literal>
-to display spam tags only when they are defined for a given message.)
-</para>
-
-<para>
-Your first step is to define your external filter's spam patterns using
-the <literal>spam</literal> command. <emphasis>pattern</emphasis> should be a regular expression
-that matches a header in a mail message. If any message in the mailbox
-matches this regular expression, it will receive a ``spam tag'' or
-``spam attribute'' (unless it also matches a <literal>nospam</literal> pattern -- see
-below.) The appearance of this attribute is entirely up to you, and is
-governed by the <emphasis>format</emphasis> parameter. <emphasis>format</emphasis> can be any static
-text, but it also can include back-references from the <emphasis>pattern</emphasis>
-expression. (A regular expression ``back-reference'' refers to a
-sub-expression contained within parentheses.) <literal>&percnt;1</literal> is replaced with
-the first back-reference in the regex, <literal>&percnt;2</literal> with the second, etc.
-</para>
-
-<para>
-If you're using multiple spam filters, a message can have more than
-one spam-related header. You can define <literal>spam</literal> patterns for each
-filter you use. If a message matches two or more of these patterns, and
-the &dollar;spam&lowbar;separator variable is set to a string, then the
-message's spam tag will consist of all the <emphasis>format</emphasis> strings joined
-together, with the value of &dollar;spam&lowbar;separator separating
-them.
-</para>
-
-<para>
-For example, suppose I use DCC, SpamAssassin, and PureMessage. I might
-define these spam settings:
-
-<screen>
-spam "X-DCC-.*-Metrics:.*(....)=many"         "90+/DCC-%1"
-spam "X-Spam-Status: Yes"                     "90+/SA"
-spam "X-PerlMX-Spam: .*Probability=([0-9]+)%" "%1/PM"
-set spam_separator=", "
-</screen>
-
-</para>
-
-<para>
-If I then received a message that DCC registered with ``many'' hits
-under the ``Fuz2'' checksum, and that PureMessage registered with a
-97&percnt; probability of being spam, that message's spam tag would read
-<literal>90+/DCC-Fuz2, 97/PM</literal>. (The four characters before ``=many'' in a
-DCC report indicate the checksum used -- in this case, ``Fuz2''.)
-</para>
-
-<para>
-If the &dollar;spam&lowbar;separator variable is unset, then each
-spam pattern match supersedes the previous one. Instead of getting
-joined <emphasis>format</emphasis> strings, you'll get only the last one to match.
-</para>
-
-<para>
-The spam tag is what will be displayed in the index when you use
-<literal>&percnt;H</literal> in the <literal>&dollar;index&lowbar;format</literal> variable. It's also the
-string that the <literal>&tilde;H</literal> pattern-matching expression matches against for
-<emphasis>search</emphasis> and <emphasis>limit</emphasis> functions. And it's what sorting by spam
-attribute will use as a sort key.
-</para>
-
-<para>
-That's a pretty complicated example, and most people's actual
-environments will have only one spam filter. The simpler your
-configuration, the more effective mutt can be, especially when it comes
-to sorting.
-</para>
-
-<para>
-Generally, when you sort by spam tag, mutt will sort <emphasis>lexically</emphasis> --
-that is, by ordering strings alphnumerically. However, if a spam tag
-begins with a number, mutt will sort numerically first, and lexically
-only when two numbers are equal in value. (This is like UNIX's
-<literal>sort -n</literal>.) A message with no spam attributes at all -- that is, one
-that didn't match <emphasis>any</emphasis> of your <literal>spam</literal> patterns -- is sorted at
-lowest priority. Numbers are sorted next, beginning with 0 and ranging
-upward. Finally, non-numeric strings are sorted, with ``a'' taking lower
-priority than ``z''. Clearly, in general, sorting by spam tags is most
-effective when you can coerce your filter to give you a raw number. But
-in case you can't, mutt can still do something useful.
-</para>
-
-<para>
-The <literal>nospam</literal> command can be used to write exceptions to <literal>spam</literal>
-patterns. If a header pattern matches something in a <literal>spam</literal> command,
-but you nonetheless do not want it to receive a spam tag, you can list a
-more precise pattern under a <literal>nospam</literal> command.
-</para>
-
-<para>
-If the <emphasis>pattern</emphasis> given to <literal>nospam</literal> is exactly the same as the
-<emphasis>pattern</emphasis> on an existing <literal>spam</literal> list entry, the effect will be to
-remove the entry from the spam list, instead of adding an exception.
-Likewise, if the <emphasis>pattern</emphasis> for a <literal>spam</literal> command matches an entry
-on the <literal>nospam</literal> list, that <literal>nospam</literal> entry will be removed. If the
-<emphasis>pattern</emphasis> for <literal>nospam</literal> is ``*'', <emphasis>all entries on both lists</emphasis>
-will be removed. This might be the default action if you use <literal>spam</literal>
-and <literal>nospam</literal> in conjunction with a <literal>folder-hook</literal>.
-</para>
-
-<para>
-You can have as many <literal>spam</literal> or <literal>nospam</literal> commands as you like.
-You can even do your own primitive spam detection within mutt -- for
-example, if you consider all mail from <literal>MAILER-DAEMON</literal> to be spam,
-you can use a <literal>spam</literal> command like this:
-</para>
-
-<para>
-
-<screen>
-spam "^From: .*MAILER-DAEMON"       "999"
-</screen>
-
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="set">
-<title>Setting variables  </title>
-
-<para>
-Usage: <literal>set</literal> &lsqb;no&verbar;inv&rsqb;<emphasis>variable</emphasis>&lsqb;=<emphasis>value</emphasis>&rsqb; &lsqb; <emphasis>variable</emphasis> ... &rsqb;
-
-Usage: <literal>toggle</literal> <emphasis>variable</emphasis> &lsqb;<emphasis>variable</emphasis> ... &rsqb;
-
-Usage: <literal>unset</literal> <emphasis>variable</emphasis> &lsqb;<emphasis>variable</emphasis> ... &rsqb;
-
-Usage: <literal>reset</literal> <emphasis>variable</emphasis> &lsqb;<emphasis>variable</emphasis> ... &rsqb;
-</para>
-
-<para>
-This command is used to set (and unset) <link linkend="variables">variables</link>.  There are four basic types of variables:
-boolean, number, string and quadoption.  <emphasis>boolean</emphasis> variables can be
-<emphasis>set</emphasis> (true) or <emphasis>unset</emphasis> (false).  <emphasis>number</emphasis> variables can be
-assigned a positive integer value.
-</para>
-
-<para>
-<emphasis>string</emphasis> variables consist of any number of printable characters.
-<emphasis>strings</emphasis> must be enclosed in quotes if they contain spaces or tabs.  You
-may also use the ``C'' escape sequences <emphasis role="bold">&bsol;n</emphasis> and <emphasis role="bold">&bsol;t</emphasis> for
-newline and tab, respectively.
-</para>
-
-<para>
-<emphasis>quadoption</emphasis> variables are used to control whether or not to be prompted
-for certain actions, or to specify a default action.  A value of <emphasis>yes</emphasis>
-will cause the action to be carried out automatically as if you had answered
-yes to the question.  Similarly, a value of <emphasis>no</emphasis> will cause the the
-action to be carried out as if you had answered ``no.''  A value of
-<emphasis>ask-yes</emphasis> will cause a prompt with a default answer of ``yes'' and
-<emphasis>ask-no</emphasis> will provide a default answer of ``no.''
-</para>
-
-<para>
-Prefixing a variable with ``no'' will unset it.  Example: <literal>set noaskbcc</literal>.
-</para>
-
-<para>
-For <emphasis>boolean</emphasis> variables, you may optionally prefix the variable name with
-<literal>inv</literal> to toggle the value (on or off).  This is useful when writing
-macros.  Example: <literal>set invsmart&lowbar;wrap</literal>.
-</para>
-
-<para>
-The <literal>toggle</literal> command automatically prepends the <literal>inv</literal> prefix to all
-specified variables.
-</para>
-
-<para>
-The <literal>unset</literal> command automatically prepends the <literal>no</literal> prefix to all
-specified variables.
-</para>
-
-<para>
-Using the enter-command function in the <emphasis>index</emphasis> menu, you can query the
-value of a variable by prefixing the name of the variable with a question
-mark:
-</para>
-
-<para>
-
-<screen>
-set ?allow_8bit
-</screen>
-
-</para>
-
-<para>
-The question mark is actually only required for boolean and quadoption 
-variables.
-</para>
-
-<para>
-The <literal>reset</literal> command resets all given variables to the compile time
-defaults (hopefully mentioned in this manual). If you use the command
-<literal>set</literal> and prefix the variable with ``&amp;'' this has the same
-behavior as the reset command.
-</para>
-
-<para>
-With the <literal>reset</literal> command there exists the special variable ``all'',
-which allows you to reset all variables to their system defaults.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="source">
-<title>Reading initialization commands from another file  </title>
-
-<para>
-Usage: <literal>source</literal> <emphasis>filename</emphasis> &lsqb; <emphasis>filename</emphasis> ... &rsqb;
-</para>
-
-<para>
-This command allows the inclusion of initialization commands
-from other files.  For example, I place all of my aliases in
-<literal>&tilde;/.mail&lowbar;aliases</literal> so that I can make my
-<literal>&tilde;/.muttrc</literal> readable and keep my aliases private.
-</para>
-
-<para>
-If the filename begins with a tilde (``&tilde;''), it will be expanded to the
-path of your home directory.
-</para>
-
-<para>
-If the filename ends with a vertical bar (&verbar;), then <emphasis>filename</emphasis> is
-considered to be an executable program from which to read input (eg.
-<literal>source &tilde;/bin/myscript&verbar;</literal>).
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="unhook">
-<title>Removing hooks  </title>
-
-<para>
-Usage: <literal>unhook</literal> &lsqb; * &verbar; <emphasis>hook-type</emphasis> &rsqb;
-</para>
-
-<para>
-This command permits you to flush hooks you have previously defined.
-You can either remove all hooks by giving the ``*'' character as an
-argument, or you can remove all hooks of a specific type by saying
-something like <literal>unhook send-hook</literal>.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="sect:sharingsetups">
-<title>Sharing Setups      </title>
-
-<sect2>
-<title>Character Sets      </title>
-
-<para>
-As users may run mutt-ng on different systems, the configuration
-must be maintained because it's likely that people want to use the
-setup everywhere they use mutt-ng. And mutt-ng tries to help where it
-can.
-</para>
-
-<para>
-To not produce conflicts with different character sets, mutt-ng
-allows users to specify in which character set their configuration
-files are encoded. Please note that while reading the configuration
-files, this is only respected after the corresponding declaration
-appears. It's advised to put the following at the very beginning of a
-users muttngrc:
-</para>
-
-<para>
-
-<screen>
-set config_charset = "..."
-</screen>
-
-</para>
-
-<para>
-and replacing the dots with the actual character set. To avoid
-problems while maintaining the setup, vim user's may want to use
-modelines as show in:
-</para>
-
-<para>
-
-<screen>
-# vim:fileencoding=...:
-</screen>
-
-</para>
-
-<para>
-while, again, replacing the dots with the appropriate name. This
-tells vim as which character set to read and save the file.
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-<sect2>
-<title>Modularization        </title>
-
-<para>
-``Modularization'' means to divide the setup into several files
-while sorting the options or commands by topic. Especially for
-longer setups (e.g. with many hooks), this helps maintaining it
-and solving trouble.
-</para>
-
-<para>
-When using separation, setups may be, as a whole or in
-fractions, shared over different systems.
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-<sect2>
-<title>Conditional parts      </title>
-
-<para>
-When using a configuration on different systems, the user may not
-always have influence on how mutt-ng is installed and which features
-it includes.
-</para>
-
-<para>
-To solve this, mutt-ng contain a feature based on the ``ifdef''
-patch written for mutt. Its basic syntax is:
-</para>
-
-<para>
-
-<screen>
-ifdef &lt;item&gt; &lt;command&gt;
-ifndef &lt;item&gt; &lt;command&gt;
-</screen>
-
-</para>
-
-<para>
-...whereby <literal>&lt;item&gt;</literal> can be one of:
-</para>
-
-<para>
-
-<itemizedlist>
-<listitem>
-
-<para>
-a function name
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-a variable name
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-a menu name
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-a feature name
-
-</para>
-</listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>
-All available functions, variables and menus are documented
-elsewhere in this manual but ``features'' is specific to these two
-commands. To test for one, prefix one of the following keywords with
-<literal>feature&lowbar;</literal>:
-</para>
-
-<para>
-
-<screen>
-ncurses, slang, iconv, idn, dotlock, standalone, pop, nntp, imap, ssl,
-gnutls, sasl, sasl2, libesmtp, compressed, color, classic_pgp,
-classic_smime, gpgme, header_cache
-</screen>
-
-</para>
-
-<para>
-As an example, one can use the following in
-<literal>&tilde;/.muttngrc</literal>:
-</para>
-
-<para>
-
-<screen>
-ifdef feature_imap 'source ~/.mutt-ng/setup-imap'
-ifdef feature_pop  'source ~/.mutt-ng/setup-pop'
-ifdef feature_nntp 'source ~/.mutt-ng/setup-nntp'
-</screen>
-
-</para>
-
-<para>
-...to only source <literal>&tilde;/.mutt-ng/setup-imap</literal> if IMAP
-support is built in, only source <literal>&tilde;/.mutt-ng/setup-pop</literal>
-if POP support is built in and only source
-<literal>&tilde;/.mutt-ng/setup-nntp</literal> if NNTP support is built in.
-</para>
-
-<para>
-An example for testing for variable names can be used if users
-use different revisions of mutt-ng whereby the older one may not
-have a certain variable. To test for the availability of <link linkend="imap-mail-check">imap-mail-check</link>,
-use:
-</para>
-
-<para>
-
-<screen>
-ifdef imap_mail_check 'set imap_mail_check = 300'
-</screen>
-
-</para>
-
-<para>
-Provided for completeness is the test for menu names. To set <link linkend="pager-index-lines">pager-index-lines</link> only if the pager
-menu is available, use:
-</para>
-
-<para>
-
-<screen>
-ifdef pager 'set pager_index_lines = 10'
-</screen>
-
-</para>
-
-<para>
-For completeness, too, the opposite of <literal>ifdef</literal> is provided:
-<literal>ifndef</literal> which only executes the command if the test fails. For
-example, the following two examples are equivalent:
-</para>
-
-<para>
-
-<screen>
-ifdef feature_ncurses 'source ~/.mutt-ng/setup-ncurses'
-ifndef feature_ncurses 'source ~/.mutt-ng/setup-slang'
-</screen>
-
-</para>
-
-<para>
-...and...
-</para>
-
-<para>
-
-<screen>
-ifdef feature_slang 'source ~/.mutt-ng/setup-slang'
-ifndef feature_slang 'source ~/.mutt-ng/setup-ncurses'
-</screen>
-
-</para>
-
-<para>
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-</sect1>
-
-<sect1>
-<title>Obsolete Variables  </title>
-
-<para>
-In the process of ensuring and creating more consistency, many
-variables have been renamed and some of the old names were already
-removed. Please see <link linkend="sect-obsolete">sect-obsolete</link>
-for a complete list.
-</para>
-
-<para>
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-</chapter>
-
-<chapter>
-<title>Advanced Usage  </title>
-
-<sect1 id="regexp">
-<title>Regular Expressions  </title>
-
-<para>
-All string patterns in Mutt-ng including those in more complex
-<link linkend="patterns">patterns</link> must be specified
-using regular expressions (regexp) in the ``POSIX extended'' syntax (which
-is more or less the syntax used by egrep and GNU awk).  For your
-convenience, we have included below a brief description of this syntax.
-</para>
-
-<para>
-The search is case sensitive if the pattern contains at least one upper
-case letter, and case insensitive otherwise. Note that ``&bsol;''
-must be quoted if used for a regular expression in an initialization
-command: ``&bsol;&bsol;''.
-</para>
-
-<para>
-A regular expression is a pattern that describes a set of strings.
-Regular expressions are constructed analogously to arithmetic
-expressions, by using various operators to combine smaller expressions.
-</para>
-
-<para>
-Note that the regular expression can be enclosed/delimited by either &quot;
-or ' which is useful if the regular expression includes a white-space
-character.  See <link linkend="muttrc-syntax">muttrc-syntax</link>
-for more information on &quot; and ' delimiter processing.  To match a
-literal &quot; or ' you must preface it with \ (backslash).
-</para>
-
-<para>
-The fundamental building blocks are the regular expressions that match
-a single character.  Most characters, including all letters and digits,
-are regular expressions that match themselves.  Any metacharacter with
-special meaning may be quoted by preceding it with a backslash.
-</para>
-
-<para>
-The period ``.'' matches any single character.  The caret ``&circ;'' and
-the dollar sign ``&dollar;'' are metacharacters that respectively match
-the empty string at the beginning and end of a line.
-</para>
-
-<para>
-A list of characters enclosed by ``&lsqb;'' and ``&rsqb;'' matches any
-single character in that list; if the first character of the list
-is a caret ``&circ;'' then it matches any character <emphasis role="bold">not</emphasis> in the
-list.  For example, the regular expression <emphasis role="bold">&lsqb;0123456789&rsqb;</emphasis>
-matches any single digit.  A range of ASCII characters may be specified
-by giving the first and last characters, separated by a hyphen
-``-''.  Most metacharacters lose their special meaning inside
-lists.  To include a literal ``&rsqb;'' place it first in the list.
-Similarly, to include a literal ``&circ;'' place it anywhere but first.
-Finally, to include a literal hyphen ``-'' place it last.
-</para>
-
-<para>
-Certain named classes of characters are predefined.  Character classes
-consist of ``&lsqb;:'', a keyword denoting the class, and ``:&rsqb;''.
-The following classes are defined by the POSIX standard:
-</para>
-
-<para>
-<variablelist>
-
-<varlistentry>
-<term>&lsqb;:alnum:&rsqb;</term>
-<listitem>
-<para>
-Alphanumeric characters.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&lsqb;:alpha:&rsqb;</term>
-<listitem>
-<para>
-Alphabetic characters.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&lsqb;:blank:&rsqb;</term>
-<listitem>
-<para>
-Space or tab characters.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&lsqb;:cntrl:&rsqb;</term>
-<listitem>
-<para>
-Control characters.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&lsqb;:digit:&rsqb;</term>
-<listitem>
-<para>
-Numeric characters.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&lsqb;:graph:&rsqb;</term>
-<listitem>
-<para>
-Characters that are both printable and visible.  (A space is printable,
-but not visible, while an ``a'' is both.)
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&lsqb;:lower:&rsqb;</term>
-<listitem>
-<para>
-Lower-case alphabetic characters.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&lsqb;:print:&rsqb;</term>
-<listitem>
-<para>
-Printable characters (characters that are not control characters.)
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&lsqb;:punct:&rsqb;</term>
-<listitem>
-<para>
-Punctuation characters (characters that are not letter, digits, control
-characters, or space characters).
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&lsqb;:space:&rsqb;</term>
-<listitem>
-<para>
-Space characters (such as space, tab and formfeed, to name a few).
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&lsqb;:upper:&rsqb;</term>
-<listitem>
-<para>
-Upper-case alphabetic characters.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&lsqb;:xdigit:&rsqb;</term>
-<listitem>
-<para>
-Characters that are hexadecimal digits.
-</para>
-</listitem></varlistentry>
-</variablelist>
-</para>
-
-<para>
-A character class is only valid in a regular expression inside the
-brackets of a character list.  Note that the brackets in these
-class names are part of the symbolic names, and must be included
-in addition to the brackets delimiting the bracket list.  For
-example, <emphasis role="bold">&lsqb;&lsqb;:digit:&rsqb;&rsqb;</emphasis> is equivalent to
-<emphasis role="bold">&lsqb;0-9&rsqb;</emphasis>.
-</para>
-
-<para>
-Two additional special sequences can appear in character lists.  These
-apply to non-ASCII character sets, which can have single symbols (called
-collating elements) that are represented with more than one character,
-as well as several characters that are equivalent for collating or
-sorting purposes:
-</para>
-
-<para>
-<variablelist>
-
-<varlistentry>
-<term>Collating Symbols</term>
-<listitem>
-<para>
-A collating symbol is a multi-character collating element enclosed in
-``&lsqb;.'' and ``.&rsqb;''.  For example, if ``ch'' is a collating
-element, then <emphasis role="bold">&lsqb;&lsqb;.ch.&rsqb;&rsqb;</emphasis> is a regexp that matches
-this collating element, while <emphasis role="bold">&lsqb;ch&rsqb;</emphasis> is a regexp that
-matches either ``c'' or ``h''.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>Equivalence Classes</term>
-<listitem>
-<para>
-An equivalence class is a locale-specific name for a list of
-characters that are equivalent. The name is enclosed in ``&lsqb;=''
-and ``=&rsqb;''.  For example, the name ``e'' might be used to
-represent all of ``&egrave;'' ``&eacute;'' and ``e''.  In this case,
-<emphasis role="bold">&lsqb;&lsqb;=e=&rsqb;&rsqb;</emphasis> is a regexp that matches any of
-``&egrave;'', ``&eacute;'' and ``e''.
-</para>
-</listitem></varlistentry>
-</variablelist>
-</para>
-
-<para>
-A regular expression matching a single character may be followed by one
-of several repetition operators:
-</para>
-
-<para>
-<variablelist>
-
-<varlistentry>
-<term>?</term>
-<listitem>
-<para>
-The preceding item is optional and matched at most once.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>*</term>
-<listitem>
-<para>
-The preceding item will be matched zero or more times.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>+</term>
-<listitem>
-<para>
-The preceding item will be matched one or more times.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&lcub;n&rcub;</term>
-<listitem>
-<para>
-The preceding item is matched exactly <emphasis>n</emphasis> times.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&lcub;n,&rcub;</term>
-<listitem>
-<para>
-The preceding item is matched <emphasis>n</emphasis> or more times.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&lcub;,m&rcub;</term>
-<listitem>
-<para>
-The preceding item is matched at most <emphasis>m</emphasis> times.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&lcub;n,m&rcub;</term>
-<listitem>
-<para>
-The preceding item is matched at least <emphasis>n</emphasis> times, but no more than
-<emphasis>m</emphasis> times.
-</para>
-</listitem></varlistentry>
-</variablelist>
-</para>
-
-<para>
-Two regular expressions may be concatenated; the resulting regular
-expression matches any string formed by concatenating two substrings
-that respectively match the concatenated subexpressions.
-</para>
-
-<para>
-Two regular expressions may be joined by the infix operator ``&verbar;'';
-the resulting regular expression matches any string matching either
-subexpression.
-</para>
-
-<para>
-Repetition takes precedence over concatenation, which in turn takes
-precedence over alternation.  A whole subexpression may be enclosed in
-parentheses to override these precedence rules.
-</para>
-
-<para>
-<emphasis role="bold">Note:</emphasis> If you compile Mutt-ng with the GNU <emphasis>rx</emphasis> package, the
-following operators may also be used in regular expressions:
-</para>
-
-<para>
-<variablelist>
-
-<varlistentry>
-<term>&bsol;&bsol;y</term>
-<listitem>
-<para>
-Matches the empty string at either the beginning or the end of a word.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&bsol;&bsol;B</term>
-<listitem>
-<para>
-Matches the empty string within a word.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&bsol;&bsol;&lt;</term>
-<listitem>
-<para>
-Matches the empty string at the beginning of a word.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&bsol;&bsol;&gt;</term>
-<listitem>
-<para>
-Matches the empty string at the end of a word.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&bsol;&bsol;w</term>
-<listitem>
-<para>
-Matches any word-constituent character (letter, digit, or underscore).
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&bsol;&bsol;W</term>
-<listitem>
-<para>
-Matches any character that is not word-constituent.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&bsol;&bsol;`</term>
-<listitem>
-<para>
-Matches the empty string at the beginning of a buffer (string).
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&bsol;&bsol;'</term>
-<listitem>
-<para>
-Matches the empty string at the end of a buffer.
-</para>
-</listitem></varlistentry>
-</variablelist>
-</para>
-
-<para>
-Please note however that these operators are not defined by POSIX, so
-they may or may not be available in stock libraries on various systems.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1>
-<title>Patterns  </title>
-
-<para>
-Mutt-ng's pattern language provides a simple yet effective way to
-set up rules to match messages, e.g. for operations like tagging and
-scoring. A pattern consists of one or more sub-pattern, which can be
-logically grouped, ORed, and negated. For a complete listing of
-these patterns, please refer to table <link linkend="patterns">patterns</link> in the Reference chapter.
-</para>
-
-<para>
-It must be noted that in this table, <literal>EXPR</literal>, <literal>USER</literal>,
-<literal>ID</literal> and <literal>SUBJECT</literal> are regular expressions. For ranges, the
-forms <literal>&lt;[MAX]</literal>, <literal>&gt;&#62;[MIN]</literal>, <literal>[MIN]-</literal> and <literal>-[MAX]</literal>
-are also possible.
-</para>
-
-<sect2>
-<title>Complex Patterns </title>
-
-<para>
-It is possible to combine several sub-patterns to a more complex
-pattern. The most simple possibility is to logically AND several
-patterns by stringing them together:
-</para>
-
-<para>
-
-<screen>
-~s 'SPAM' ~U
-</screen>
-
-</para>
-
-<para>
-The pattern above matches all messages that contain ``SPAM'' in
-the subject and are unread.
-</para>
-
-<para>
-To logical OR patterns, simply use the <literal>&verbar;</literal> operator. This one
-especially useful when using local groups:
-</para>
-
-<para>
-
-<screen>
-~f ("nion@muttng\.org"|"ak@muttng\.org"|"pdmef@muttng\.org")
-(~b mutt-ng|~s Mutt-ng)
-!~x '@synflood\.at'
-</screen>
-
-</para>
-
-<para>
-The first pattern matches all messages that were sent by one of
-the mutt-ng maintainers, while the seconds pattern matches all
-messages that contain ``mutt-ng'' in the message body or ``Mutt-ng''
-in the subject. The third pattern matches all messages that do not
-contain ``@synflood\.at'' in the <literal>References:</literal> header, i.e.
-messages that are not an (indirect) reply to one of my messages. A
-pattern can be logicall negated using the <literal>!</literal> operator.
-</para>
-
-</sect2>
-
-<sect2>
-<title>Patterns and Dates </title>
-
-<para>
-When using dates in patterns, the dates must be specified in a
-special format, i.e.  <literal>DD/MM/YYYY</literal>. If you don't specify
-month or year, they default to the current month or year. When using
-date ranges, and you specify only the minimum or the maximum, the
-specified date will be excluded, e.g. <literal>01/06/2005-</literal> matches
-against all messages <emphasis>after</emphasis> Juni 1st, 2005.
-</para>
-
-<para>
-It is also possible to use so-called ``error margins'' when
-specifying date ranges.  You simply specify a date, and then the
-error margin. This margin needs to contain the information whether
-it goes ``forth'' or ``back'' in time, by using <literal>+</literal> and <literal>-</literal>.
-Then follows a number and a unit, i.e. <literal>y</literal> for years, <literal>m</literal> for
-months, <literal>w</literal> for weeks and <literal>d</literal> for days. If you use the special
-<literal>*</literal> sign, it means that the error margin goes to both
-``directions'' in time.
-</para>
-
-<para>
-
-<screen>
-~d 01/01/2005+1y
-~d 18/10/2004-2w
-~d 28/12/2004*1d
-</screen>
-
-</para>
-
-<para>
-The first pattern matches all dates between January 1st, 2005 and
-January 1st 2006.  The second pattern matches all dates between
-October 18th, 2004 and October 4th 2004 (2 weeks before 18/10/2004),
-while the third pattern matches all dates 1 day around December
-28th, 2004 (i.e. Dec 27th, 28th and 29th).
-</para>
-
-<para>
-Relative dates are also very important, as they make it possible
-to specify date ranges between a fixed number of units and the
-current date. How this works can be seen in the following example:
-</para>
-
-<para>
-
-<screen>
-~d &gt;2w # messages older than two weeks
-~d &lt;3d # messages newer than 3 days
-~d =1m # messages that are exactly one month old
-</screen>
-
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-</sect1>
-
-<sect1>
-<title>Format Strings      </title>
-
-<sect2>
-<title>Introduction        </title>
-
-<para>
-The so called <emphasis>Format Strings</emphasis> offer great flexibility when
-configuring mutt-ng. In short, they describe what items to print
-out how in menus and status messages.
-</para>
-
-<para>
-Basically, they work as this: for different menus and bars,
-there's a variable specifying the layout. For every item
-available, there is a so called <emphasis>expando</emphasis>.
-</para>
-
-<para>
-For example, when running mutt-ng on different machines or
-different versions for testing purposes, it may be interesting to
-have the following information always printed on screen when one
-is in the index:
-</para>
-
-<para>
-
-<itemizedlist>
-<listitem>
-
-<para>
-the current hostname
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-the current mutt-ng version number
-
-</para>
-</listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>
-The setting for the status bar of the index is controlled via the
-<link linkend="status-format">status-format</link>
-variable. For the hostname and version string, there's an expando
-for <literal>&dollar;status&lowbar;format</literal>: <literal>&percnt;h</literal> expands to the
-hostname and <literal>&percnt;v</literal> to the version string. When just configuring:
-</para>
-
-<para>
-
-<screen>
-set status_format = "%v on %h: ..."
-</screen>
-
-</para>
-
-<para>
-mutt-ng will replace the sequence <literal>&percnt;v</literal> with the version string
-and <literal>&percnt;h</literal> with the host's name. When you are, for example, running
-mutt-ng version <literal>1.5.9i</literal> on host <literal>mailhost</literal>, you'll see the
-following when you're in the index:
-</para>
-
-<para>
-
-<screen>
-Mutt-ng 1.5.9i on mailhost: ...
-</screen>
-
-</para>
-
-<para>
-In the index, there're more useful information one could want to 
-see:
-</para>
-
-<para>
-
-<itemizedlist>
-<listitem>
-
-<para>
-which mailbox is open
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-how man new, flagged or postponed messages
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-...
-
-</para>
-</listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>
-To include the mailbox' name is as easy as:
-</para>
-
-<para>
-
-<screen>
-set status_format = "%v on %h: %B: ...
-</screen>
-
-</para>
-
-<para>
-When the currently opened mailbox is <literal>Inbox</literal>, this will be expanded
-to:
-</para>
-
-<para>
-
-<screen>
-Mutt-ng 1.5.9i on mailhost: Inbox: ...
-</screen>
-
-</para>
-
-<para>
-For the number of certain types of messages, one more feature of the format
-strings is extremely useful. If there aren't messages of a certain type, it
-may not be desired to print just that there aren't any but instead only
-print something if there are any.
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-<sect2>
-<title>Conditional Expansion        </title>
-
-<para>
-To only print the number of messages if there are new messages in
-the current mailbox, further extend
-<literal>&dollar;status&lowbar;format</literal> to:
-</para>
-
-<para>
-
-<screen>
-set status_format = "%v on %h: %B %?n?%n new? ...
-</screen>
-
-</para>
-
-<para>
-This feature is called <emphasis>nonzero-printing</emphasis> and works as this:
-some expandos may be optionally printed nonzero, i.e.  a portion
-of the format string is only evaluated if the value of the expando
-is different from zero. The basic syntax is:
-</para>
-
-<para>
-
-<screen>
-%?&#60;item&#62;?&#60;string if nonzero&#62;?
-</screen>
-
-</para>
-
-<para>
-which tells mutt-ng to only look at <literal>&lt;string if
-nonzero&gt;</literal> if the value of the <literal>&percnt;&lt;item&percnt;gt;</literal>
-expando is different from zero. In our example, we used <literal>n</literal> as
-the expando to check for and <literal>&percnt;n new</literal> as the optional nonzero
-string.
-</para>
-
-<para>
-But this is not all: this feature only offers one alternative: 
-``print something if not zero.'' Mutt-ng does, as you might guess, 
-also provide a logically complete version: ``if zero, print 
-something and else print something else.'' This is achieved by the 
-following syntax for those expandos which may be printed nonzero:
-</para>
-
-<para>
-
-<screen>
-%?&#60;item&#62;?&#60;string if nonzero&#62;&#38;&#60;string if zero&#62;?
-</screen>
-
-</para>
-
-<para>
-Using this we can make mutt-ng to do the following:
-</para>
-
-<para>
-
-<itemizedlist>
-<listitem>
-
-<para>
- make it print ``<emphasis>n</emphasis> new messages'' whereby <emphasis>n</emphasis> is the
-count but only if there new ones
-
-</para>
-</listitem>
-<listitem>
-
-<para>
- and make it print ``no new messages'' if there aren't any
-
-</para>
-</listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>
-The corresponding configuration is:
-</para>
-
-<para>
-
-<screen>
-set status_format = "%v on %h: %B: %?n?%n new messages&amp;no new messages? ...
-</screen>
-
-</para>
-
-<para>
-This doubles the use of the ``new messages'' string because it'll get
-always printed. Thus, it can be shortened to:
-</para>
-
-<para>
-
-<screen>
-set status_format = "%v on %h: %B: %?n?%n&amp;no? new messages ...
-</screen>
-
-</para>
-
-<para>
-As you might see from this rather simple example, one can create
-very complex but fancy status messages. Please see the reference
-chapter for expandos and those which may be printed nonzero.
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-<sect2>
-<title>Modifications and Padding        </title>
-
-<para>
-Besides the information given so far, there're even more features of
-format strings:
-</para>
-
-<para>
-
-<itemizedlist>
-<listitem>
-
-<para>
-When specifying <literal>&percnt;&lowbar;&lt;item&gt;</literal> instead of
-just <literal>&percnt;&lt;item&gt;</literal>, mutt-ng will convert all
-characters in the expansion of <literal>&lt;item&gt;</literal> to
-lowercase.
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-When specifying <literal>&percnt;:&lt;item&gt;</literal> instead of just
-<literal>&percnt;&lt;item&gt;</literal>, mutt-ng will convert all dots in the
-expansion of <literal>&lt;item&gt;</literal> to underscores
-(<literal>&lowbar;</literal>).
-
-</para>
-</listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>
-Also, there's a feature called <emphasis>Padding</emphasis> supplied by the
-following two expandos: <literal>&percnt;&verbar;X</literal> and <literal>&percnt;&gt;X</literal>.
-</para>
-
-<para>
-<variablelist>
-
-<varlistentry>
-<term><literal>&percnt;&verbar;X</literal></term>
-<listitem>
-<para>
-When this occurs, mutt-ng will fill the
-rest of the line with the character <literal>X</literal>. In our example,
-filling the rest of the line with dashes is done by setting:
-</para>
-
-<para>
-
-<screen>
-set status_format = "%v on %h: %B: %?n?%n&amp;no? new messages %|-"
-</screen>
-
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term><literal>&percnt;&gt;X</literal></term>
-<listitem>
-<para>
-Since the previous expando stops at
-the end of line, there must be a way to fill the gap between
-two items via the <literal>&percnt;&gt;X</literal> expando: it puts as many
-characters <literal>X</literal> in between two items so that the rest of
-the line will be right-justified. For example, to not put the
-version string and hostname of our example on the left but on
-the right and fill the gap with spaces, one might use (note
-the space after <literal>&percnt;&gt;</literal>):
-</para>
-
-<para>
-
-<screen>
-set status_format = "%B: %?n?%n&amp;no? new messages %&#62; (%v on %h)"
-</screen>
-
-</para>
-</listitem></varlistentry>
-</variablelist>
-</para>
-
-<para>
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-</sect1>
-
-<sect1>
-<title>Using Tags  </title>
-
-<para>
-Sometimes it is desirable to perform an operation on a group of
-messages all at once rather than one at a time.  An example might be
-to save messages to a mailing list to a separate folder, or to
-delete all messages with a given subject.  To tag all messages
-matching a pattern, use the tag-pattern function, which is bound to
-``shift-T'' by default.  Or you can select individual messages by
-hand using the ``tag-message'' function, which is bound to ``t'' by
-default.  See <link linkend="patterns">patterns</link> for Mutt-ng's pattern
-matching syntax.
-</para>
-
-<para>
-Once you have tagged the desired messages, you can use the
-``tag-prefix'' operator, which is the ``;'' (semicolon) key by default.
-When the ``tag-prefix'' operator is used, the <emphasis role="bold">next</emphasis> operation will
-be applied to all tagged messages if that operation can be used in that
-manner.  If the <link linkend="auto-tag">auto-tag</link>
-variable is set, the next operation applies to the tagged messages
-automatically, without requiring the ``tag-prefix''.
-</para>
-
-<para>
-In <link linkend="macro">macro</link> or <link linkend="push">push</link> commands,
-you can use the ``tag-prefix-cond'' operator.  If there are no tagged
-messages, mutt will "eat" the rest of the macro to abort it's execution.
-Mutt-ng will stop "eating" the macro when it encounters the ``end-cond''
-operator;  after this operator the rest of the macro will be executed as
-normal.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="hooks">
-<title>Using Hooks  </title>
-
-<para>
-A <emphasis>hook</emphasis> is a concept borrowed from the EMACS editor which allows you to
-execute arbitrary commands before performing some operation.  For example,
-you may wish to tailor your configuration based upon which mailbox you are
-reading, or to whom you are sending mail.  In the Mutt-ng world, a <emphasis>hook</emphasis>
-consists of a <link linkend="regexp">regexp</link> or
-<link linkend="patterns">patterns</link> along with a
-configuration option/command.  See
-
-<itemizedlist>
-<listitem>
-
-<para>
-<link linkend="folder-hook">folder-hook</link>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<link linkend="send-hook">send-hook</link>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<link linkend="message-hook">message-hook</link>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<link linkend="save-hook">save-hook</link>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<link linkend="mbox-hook">mbox-hook</link>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<link linkend="fcc-hook">fcc-hook</link>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<link linkend="fcc-save-hook">fcc-save-hook</link>
-</para>
-</listitem>
-
-</itemizedlist>
-
-for specific details on each type of <emphasis>hook</emphasis> available.
-</para>
-
-<para>
-<emphasis role="bold">Note:</emphasis> if a hook changes configuration settings, these changes remain
-effective until the end of the current mutt session. As this is generally
-not desired, a default hook needs to be added before all other hooks to
-restore configuration defaults. Here is an example with send-hook and the
-my&lowbar;hdr directive:
-</para>
-
-<para>
-
-<screen>
-send-hook . 'unmy_hdr From:'
-send-hook ~C'^b@b\.b$' my_hdr from: c@c.c
-</screen>
-
-</para>
-
-<sect2 id="pattern-hook">
-<title>Message Matching in Hooks</title>
-
-<para>
-Hooks that act upon messages (<literal>send-hook, save-hook, fcc-hook,
-message-hook</literal>) are evaluated in a slightly different manner.  For the other
-types of hooks, a <link linkend="regexp">regexp</link> is
-sufficient.  But in dealing with messages a finer grain of control is
-needed for matching since for different purposes you want to match
-different criteria.
-</para>
-
-<para>
-Mutt-ng allows the use of the <link linkend="patterns">patterns</link>
-language for matching messages in hook commands.  This works in
-exactly the same way as it would when <emphasis>limiting</emphasis> or
-<emphasis>searching</emphasis> the mailbox, except that you are restricted to those
-operators which match information mutt extracts from the header of
-the message (i.e.  from, to, cc, date, subject, etc.).
-</para>
-
-<para>
-For example, if you wanted to set your return address based upon sending
-mail to a specific address, you could do something like:
-
-<screen>
-send-hook '~t ^me@cs\.hmc\.edu$' 'my_hdr From: Mutt-ng User &#60;user@host&#62;'
-</screen>
-
-which would execute the given command when sending mail to
-<emphasis>me@cs.hmc.edu</emphasis>.
-</para>
-
-<para>
-However, it is not required that you write the pattern to match using the
-full searching language.  You can still specify a simple <emphasis>regular
-expression</emphasis> like the other hooks, in which case Mutt-ng will translate your
-pattern into the full language, using the translation specified by the 
-<link linkend="default-hook">default-hook</link> variable.  The
-pattern is translated at the time the hook is declared, so the value of 
-<link linkend="default-hook">default-hook</link> that is in effect
-at that time will be used.
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-</sect1>
-
-<sect1 id="sidebar">
-<title>Using the sidebar  </title>
-
-<para>
-The sidebar, a feature specific to Mutt-ng, allows you to use a mailbox listing 
-which looks very similar to the ones you probably know from GUI mail clients.
-The sidebar lists all specified mailboxes, shows the number in each
-and highlights the ones with new email
-Use the following configuration commands:
-
-<screen>
-set sidebar_visible="yes"
-set sidebar_width=25
-</screen>
-
-</para>
-
-<para>
-If you want to specify the mailboxes you can do so with:
-
-<screen>
-set mbox='=INBOX'
-mailboxes INBOX \
-          MBOX1 \
-          MBOX2 \
-          ...
-</screen>
-
-</para>
-
-<para>
-You can also specify the colors for mailboxes with new mails by using:
-
-<screen>
-color sidebar_new red black
-color sidebar white black
-</screen>
-
-</para>
-
-<para>
-The available functions are:
-
-<screen>
-sidebar-scroll-up      Scrolls the mailbox list up 1 page
-sidebar-scroll-down    Scrolls the mailbox list down 1 page
-sidebar-next           Highlights the next mailbox
-sidebar-next-new       Highlights the next mailbox with new mail
-sidebar-previous       Highlights the previous mailbox
-sidebar-open           Opens the currently highlighted mailbox
-</screen>
-
-</para>
-
-<para>
-Reasonable key bindings look e.g. like this:
-
-<screen>
-bind index \Cp sidebar-prev
-bind index \Cn sidebar-next
-bind index \Cb sidebar-open
-bind pager \Cp sidebar-prev
-bind pager \Cn sidebar-next
-bind pager \Cb sidebar-open
-
-macro index B ':toggle sidebar_visible^M'
-macro pager B ':toggle sidebar_visible^M'
-</screen>
-
-</para>
-
-<para>
-You can then go up and down by pressing Ctrl-P and Ctrl-N, and 
-switch on and off the sidebar simply by pressing 'B'.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="query">
-<title>External Address Queries  </title>
-
-<para>
-Mutt-ng supports connecting to external directory databases such as LDAP,
-ph/qi, bbdb, or NIS through a wrapper script which connects to mutt
-using a simple interface.  Using the <link linkend="query-command">query-command</link> variable, you specify the wrapper
-command to use.  For example:
-</para>
-
-<para>
-
-<screen>
-set query_command = "mutt_ldap_query.pl '%s'"
-</screen>
-
-</para>
-
-<para>
-The wrapper script should accept the query on the command-line.  It
-should return a one line message, then each matching response on a
-single line, each line containing a tab separated address then name then
-some other optional information.  On error, or if there are no matching
-addresses, return a non-zero exit code and a one line error message.
-</para>
-
-<para>
-An example multiple response output:
-
-<screen>
-Searching database ... 20 entries ... 3 matching:
-me@cs.hmc.edu           Michael Elkins  mutt dude
-blong@fiction.net       Brandon Long    mutt and more
-roessler@guug.de        Thomas Roessler mutt pgp
-</screen>
-
-</para>
-
-<para>
-There are two mechanisms for accessing the query function of mutt.  One
-is to do a query from the index menu using the query function (default: Q).
-This will prompt for a query, then bring up the query menu which will
-list the matching responses.  From the query menu, you can select
-addresses to create aliases, or to mail.  You can tag multiple addresses
-to mail, start a new query, or have a new query appended to the current
-responses.
-</para>
-
-<para>
-The other mechanism for accessing the query function is for address
-completion, similar to the alias completion.  In any prompt for address
-entry, you can use the complete-query function (default: &circ;T) to run a
-query based on the current address you have typed.  Like aliases, mutt
-will look for what you have typed back to the last space or comma.  If
-there is a single response for that query, mutt will expand the address
-in place.  If there are multiple responses, mutt will activate the query
-menu.  At the query menu, you can select one or more addresses to be
-added to the prompt.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1>
-<title>Mailbox Formats  </title>
-
-<para>
-Mutt-ng supports reading and writing of four different mailbox formats:
-mbox, MMDF, MH and Maildir.  The mailbox type is autodetected, so there
-is no need to use a flag for different mailbox types.  When creating new
-mailboxes, Mutt-ng uses the default specified with the <link linkend="mbox-type">mbox-type</link> variable.
-</para>
-
-<para>
-<emphasis role="bold">mbox</emphasis>.  This is the most widely used mailbox format for UNIX.  All
-messages are stored in a single file.  Each message has a line of the form:
-</para>
-
-<para>
-
-<screen>
-From me@cs.hmc.edu Fri, 11 Apr 1997 11:44:56 PST
-</screen>
-
-</para>
-
-<para>
-to denote the start of a new message (this is often referred to as the
-``From&lowbar;'' line).
-</para>
-
-<para>
-<emphasis role="bold">MMDF</emphasis>.  This is a variant of the <emphasis>mbox</emphasis> format.  Each message is
-surrounded by lines containing ``&circ;A&circ;A&circ;A&circ;A'' (four control-A's).
-</para>
-
-<para>
-<emphasis role="bold">MH</emphasis>. A radical departure from <emphasis>mbox</emphasis> and <emphasis>MMDF</emphasis>, a mailbox
-consists of a directory and each message is stored in a separate file.
-The filename indicates the message number (however, this is may not
-correspond to the message number Mutt-ng displays). Deleted messages are
-renamed with a comma (,) prepended to the filename. <emphasis role="bold">Note:</emphasis> Mutt
-detects this type of mailbox by looking for either <literal>.mh&lowbar;sequences</literal>
-or <literal>.xmhcache</literal> (needed to distinguish normal directories from MH
-mailboxes).
-</para>
-
-<para>
-<emphasis role="bold">Maildir</emphasis>.  The newest of the mailbox formats, used by the Qmail MTA (a
-replacement for sendmail).  Similar to <emphasis>MH</emphasis>, except that it adds three
-subdirectories of the mailbox: <emphasis>tmp</emphasis>, <emphasis>new</emphasis> and <emphasis>cur</emphasis>.  Filenames
-for the messages are chosen in such a way they are unique, even when two
-programs are writing the mailbox over NFS, which means that no file locking
-is needed.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="shortcuts">
-<title>Mailbox Shortcuts  </title>
-
-<para>
-There are a number of built in shortcuts which refer to specific mailboxes.
-These shortcuts can be used anywhere you are prompted for a file or mailbox
-path.
-</para>
-
-<para>
-
-<itemizedlist>
-<listitem>
-
-<para>
-! -- refers to your <link linkend="spoolfile">spoolfile</link> (incoming) mailbox
-</para>
-</listitem>
-<listitem>
-
-<para>
-&gt; -- refers to your <link linkend="mbox">mbox</link> file
-</para>
-</listitem>
-<listitem>
-
-<para>
-&lt; -- refers to your <link linkend="record">record</link> file
-</para>
-</listitem>
-<listitem>
-
-<para>
-&circ; -- refers to the current mailbox
-</para>
-</listitem>
-<listitem>
-
-<para>
-- or !! -- refers to the file you've last visited
-</para>
-</listitem>
-<listitem>
-
-<para>
-&tilde; -- refers to your home directory
-</para>
-</listitem>
-<listitem>
-
-<para>
-= or + -- refers to your <link linkend="folder">folder</link> directory
-</para>
-</listitem>
-<listitem>
-
-<para>
-@<emphasis>alias</emphasis> -- refers to the <link linkend="save-hook">save-hook</link> as determined by the address of the alias
-</para>
-</listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="using-lists">
-<title>Handling Mailing Lists  </title>
-
-<para>
-Mutt-ng has a few configuration options that make dealing with large
-amounts of mail easier.  The first thing you must do is to let Mutt
-know what addresses you consider to be mailing lists (technically
-this does not have to be a mailing list, but that is what it is most
-often used for), and what lists you are subscribed to.  This is
-accomplished through the use of the <link linkend="lists">lists</link> commands in your muttrc.
-</para>
-
-<para>
-Now that Mutt-ng knows what your mailing lists are, it can do several
-things, the first of which is the ability to show the name of a list
-through which you received a message (i.e., of a subscribed list) in
-the <emphasis>index</emphasis> menu display.  This is useful to distinguish between
-personal and list mail in the same mailbox.  In the <link linkend="index-format">index-format</link> variable, the escape ``&percnt;L''
-will return the string ``To &lt;list&gt;'' when ``list'' appears in the
-``To'' field, and ``Cc &lt;list&gt;'' when it appears in the ``Cc''
-field (otherwise it returns the name of the author).
-</para>
-
-<para>
-Often times the ``To'' and ``Cc'' fields in mailing list messages
-tend to get quite large. Most people do not bother to remove the
-author of the message they are reply to from the list, resulting in
-two or more copies being sent to that person.  The ``list-reply''
-function, which by default is bound to ``L'' in the <emphasis>index</emphasis> menu
-and <emphasis>pager</emphasis>, helps reduce the clutter by only replying to the
-known mailing list addresses instead of all recipients (except as
-specified by <literal>Mail-Followup-To</literal>, see below).
-</para>
-
-<para>
-Mutt-ng also supports the <literal>Mail-Followup-To</literal> header.  When you send
-a message to a list of recipients which includes one or several
-subscribed mailing lists, and if the <link linkend="followup-to">followup-to</link> option is set, mutt will generate
-a Mail-Followup-To header which contains all the recipients to whom
-you send this message, but not your address. This indicates that
-group-replies or list-replies (also known as ``followups'') to this
-message should only be sent to the original recipients of the
-message, and not separately to you - you'll receive your copy through
-one of the mailing lists you are subscribed to.
-</para>
-
-<para>
-Conversely, when group-replying or list-replying to a message which
-has a <literal>Mail-Followup-To</literal> header, mutt will respect this header if
-the <link linkend="honor-followup-to">honor-followup-to</link> 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 <literal>Mail-Followup-To</literal>.
-</para>
-
-<para>
-Note that, when header editing is enabled, you can create a
-<literal>Mail-Followup-To</literal> header manually.  Mutt-ng will only auto-generate
-this header if it doesn't exist when you send the message.
-</para>
-
-<para>
-The other method some mailing list admins use is to generate a
-``Reply-To'' field which points back to the mailing list address rather
-than the author of the message.  This can create problems when trying
-to reply directly to the author in private, since most mail clients
-will automatically reply to the address given in the ``Reply-To''
-field.  Mutt-ng uses the <link linkend="reply-to">reply-to</link>
-variable to help decide which address to use.  If set to <emphasis>ask-yes</emphasis> or
-<emphasis>ask-no</emphasis>, you will be
-prompted as to whether or not you would like to use the address given in
-the ``Reply-To'' field, or reply directly to the address given in the
-``From'' field.  When set to <emphasis>yes</emphasis>, the ``Reply-To'' field will be used when
-present.
-</para>
-
-<para>
-The ``X-Label:'' header field can be used to further identify mailing
-lists or list subject matter (or just to annotate messages
-individually).  The <link linkend="index-format">index-format</link> variable's ``&percnt;y'' and
-``&percnt;Y'' escapes can be used to expand ``X-Label:'' fields in the
-index, and Mutt-ng's pattern-matcher can match regular expressions to
-``X-Label:'' fields with the ``&tilde;y'' selector.  ``X-Label:'' is not a
-standard message header field, but it can easily be inserted by procmail
-and other mail filtering agents.
-</para>
-
-<para>
-Lastly, Mutt-ng has the ability to <link linkend="sort">sort</link> the mailbox into
-<link linkend="threads">threads</link>.  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 graphically.  If you've ever
-used a threaded news client, this is the same concept.  It makes dealing
-with large volume mailing lists easier because you can easily delete
-uninteresting threads and quickly find topics of value.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1>
-<title>Editing threads  </title>
-
-<para>
-Mutt-ng has the ability to dynamically restructure threads that are broken
-either by misconfigured software or bad behavior from some
-correspondents. This allows to clean your mailboxes formats) from these
-annoyances which make it hard to follow a discussion.
-</para>
-
-<sect2>
-<title>Linking threads</title>
-
-<para>
-Some mailers tend to "forget" to correctly set the "In-Reply-To:" and
-"References:" headers when replying to a message. This results in broken
-discussions because Mutt-ng has not enough information to guess the correct
-threading.
-You can fix this by tagging the reply, then moving to the parent message
-and using the ``link-threads'' function (bound to &#38; by default). The
-reply will then be connected to this "parent" message.
-</para>
-
-<para>
-You can also connect multiple children at once, tagging them and using the
-tag-prefix command (';') or the auto&lowbar;tag option.
-</para>
-
-</sect2>
-
-<sect2>
-<title>Breaking threads</title>
-
-<para>
-On mailing lists, some people are in the bad habit of starting a new
-discussion by hitting "reply" to any message from the list and changing
-the subject to a totally unrelated one.
-You can fix such threads by using the ``break-thread'' function (bound
-by default to &num;), which will turn the subthread starting from the
-current message into a whole different thread.
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-</sect1>
-
-<sect1 id="dsn">
-<title>Delivery Status Notification (DSN) Support  </title>
-
-<para>
-RFC1894 defines a set of MIME content types for relaying information
-about the status of electronic mail messages.  These can be thought of as
-``return receipts.''
-</para>
-
-<para>
-Users can make use of it in one of the following two ways:
-</para>
-
-<para>
-
-<itemizedlist>
-<listitem>
-
-<para>
-Berkeley sendmail 8.8.x currently has some command line options
-in which the mail client can make requests as to what type of status
-messages should be returned.
-</para>
-</listitem>
-<listitem>
-
-<para>
-The SMTP support via libESMTP supports it, too.
-</para>
-</listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>
-To support this, there are two variables:
-</para>
-
-<para>
-
-<itemizedlist>
-<listitem>
-
-<para>
-<link linkend="dsn-notify">dsn-notify</link> is used
-to request receipts for different results (such as failed message,
-message delivered, etc.).
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-<link linkend="dsn-return">dsn-return</link> requests
-how much of your message should be returned with the receipt
-(headers or full message).
-
-</para>
-</listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>
-Please see the reference chapter for possible values.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1>
-<title>POP3 Support (OPTIONAL)  </title>
-
-<para>
-If Mutt-ng was compiled with POP3 support (by running the <emphasis>configure</emphasis>
-script with the <emphasis>--enable-pop</emphasis> flag), it has the ability to work
-with mailboxes located on a remote POP3 server and fetch mail for local
-browsing.
-</para>
-
-<para>
-You can access the remote POP3 mailbox by selecting the folder
-<literal>pop://popserver/</literal>.
-</para>
-
-<para>
-You can select an alternative port by specifying it with the server, i.e.:
-<literal>pop://popserver:port/</literal>.
-</para>
-
-<para>
-You can also specify different username for each folder, i.e.:
-<literal>pop://username@popserver[:port]/</literal>.
-</para>
-
-<para>
-Polling for new mail is more expensive over POP3 than locally. For this
-reason the frequency at which Mutt-ng will check for mail remotely can be
-controlled by the
-<link linkend="pop-mail-check">pop-mail-check</link>
-variable, which defaults to every 60 seconds.
-</para>
-
-<para>
-If Mutt-ng was compiled with SSL support (by running the <emphasis>configure</emphasis>
-script with the <emphasis>--with-ssl</emphasis> flag), connections to POP3 servers
-can be encrypted. This naturally requires that the server supports
-SSL encrypted connections. To access a folder with POP3/SSL, you should
-use pops: prefix, ie:
-<literal>pops://[username@]popserver[:port]/</literal>.
-</para>
-
-<para>
-Another way to access your POP3 mail is the <emphasis>fetch-mail</emphasis> function
-(default: G).  It allows to connect to <link linkend="pop-host">pop-host</link>, fetch all your new mail and place it in the
-local <link linkend="spoolfile">spoolfile</link>.  After this
-point, Mutt-ng runs exactly as if the mail had always been local.
-</para>
-
-<para>
-<emphasis role="bold">Note:</emphasis> If you only need to fetch all messages to local mailbox
-you should consider using a specialized program, such as <ulink
-URL="http://www.ccil.org/~esr/fetchmail"
->fetchmail</ulink
->
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1>
-<title>IMAP Support (OPTIONAL)  </title>
-
-<para>
-If Mutt-ng was compiled with IMAP support (by running the <emphasis>configure</emphasis>
-script with the <emphasis>--enable-imap</emphasis> flag), it has the ability to work
-with folders located on a remote IMAP server.
-</para>
-
-<para>
-You can access the remote inbox by selecting the folder
-<literal>imap://imapserver/INBOX</literal>, where <literal>imapserver</literal> is the name of the
-IMAP server and <literal>INBOX</literal> is the special name for your spool mailbox on
-the IMAP server. If you want to access another mail folder at the IMAP
-server, you should use <literal>imap://imapserver/path/to/folder</literal> where
-<literal>path/to/folder</literal> is the path of the folder you want to access.
-</para>
-
-<para>
-You can select an alternative port by specifying it with the server, i.e.:
-<literal>imap://imapserver:port/INBOX</literal>.
-</para>
-
-<para>
-You can also specify different username for each folder, i.e.:
-<literal>imap://username@imapserver[:port]/INBOX</literal>.
-</para>
-
-<para>
-If Mutt-ng was compiled with SSL support (by running the <emphasis>configure</emphasis>
-script with the <emphasis>--with-ssl</emphasis> flag), connections to IMAP servers
-can be encrypted. This naturally requires that the server supports
-SSL encrypted connections. To access a folder with IMAP/SSL, you should
-use <literal>imaps://[username@]imapserver[:port]/path/to/folder</literal> as your 
-folder path.
-</para>
-
-<para>
-Pine-compatible notation is also supported, i.e.
-<literal>&lcub;[username@]imapserver[:port][/ssl]&rcub;path/to/folder</literal>
-</para>
-
-<para>
-Note that not all servers use / as the hierarchy separator.  Mutt-ng should
-correctly notice which separator is being used by the server and convert
-paths accordingly.
-</para>
-
-<para>
-When browsing folders on an IMAP server, you can toggle whether to look
-at only the folders you are subscribed to, or all folders with the
-<emphasis>toggle-subscribed</emphasis> command.  See also the 
-<link linkend="imap-list-subscribed">imap-list-subscribed</link> variable.
-</para>
-
-<para>
-Polling for new mail on an IMAP server can cause noticeable delays. So, you'll
-want to carefully tune the
-<link linkend="imap-mail-check">imap-mail-check</link>
-and
-<link linkend="timeout">timeout</link>
-variables.
-</para>
-
-<para>
-Note that if you are using mbox as the mail store on UW servers prior to
-v12.250, the server has been reported to disconnect a client if another client
-selects the same folder.
-</para>
-
-<sect2>
-<title>The Folder Browser</title>
-
-<para>
-As of version 1.2, mutt supports browsing mailboxes on an IMAP
-server. This is mostly the same as the local file browser, with the
-following differences:
-
-<itemizedlist>
-<listitem>
-
-<para>
-Instead of file permissions, mutt displays the string "IMAP",
-possibly followed by the symbol "+", indicating
-that the entry contains both messages and subfolders. On
-Cyrus-like servers folders will often contain both messages and
-subfolders. 
-</para>
-</listitem>
-<listitem>
-
-<para>
-For the case where an entry can contain both messages and
-subfolders, the selection key (bound to <literal>enter</literal> by default)
-will choose to descend into the subfolder view. If you wish to view
-the messages in that folder, you must use <literal>view-file</literal> instead
-(bound to <literal>space</literal> by default).
-</para>
-</listitem>
-<listitem>
-
-<para>
-You can create, delete and rename mailboxes with the
-<literal>create-mailbox</literal>, <literal>delete-mailbox</literal>, and
-<literal>rename-mailbox</literal> commands (default bindings: <literal>C</literal>,
-<literal>d</literal> and <literal>r</literal>, respectively). You may also
-<literal>subscribe</literal> and <literal>unsubscribe</literal> to mailboxes (normally
-these are bound to <literal>s</literal> and <literal>u</literal>, respectively).
-</para>
-</listitem>
-
-</itemizedlist>
-
-</para>
-
-</sect2>
-
-<sect2>
-<title>Authentication</title>
-
-<para>
-Mutt-ng supports four authentication methods with IMAP servers: SASL,
-GSSAPI, CRAM-MD5, and LOGIN (there is a patch by Grant Edwards to add
-NTLM authentication for you poor exchange users out there, but it has
-yet to be integrated into the main tree). There is also support for
-the pseudo-protocol ANONYMOUS, which allows you to log in to a public
-IMAP server without having an account. To use ANONYMOUS, simply make
-your username blank or "anonymous".
-</para>
-
-<para>
-SASL is a special super-authenticator, which selects among several protocols
-(including GSSAPI, CRAM-MD5, ANONYMOUS, and DIGEST-MD5) the most secure
-method available on your host and the server. Using some of these methods
-(including DIGEST-MD5 and possibly GSSAPI), your entire session will be
-encrypted and invisible to those teeming network snoops. It is the best
-option if you have it. To use it, you must have the Cyrus SASL library
-installed on your system and compile mutt with the <emphasis>--with-sasl</emphasis> flag.
-</para>
-
-<para>
-Mutt-ng will try whichever methods are compiled in and available on the server,
-in the following order: SASL, ANONYMOUS, GSSAPI, CRAM-MD5, LOGIN.
-</para>
-
-<para>
-There are a few variables which control authentication: 
-
-<itemizedlist>
-<listitem>
-
-<para>
-<link linkend="imap-user">imap-user</link> - controls
-the username under which you request authentication on the IMAP server,
-for all authenticators. This is overridden by an explicit username in
-the mailbox path (i.e. by using a mailbox name of the form
-<literal>&lcub;user@host&rcub;</literal>).
-</para>
-</listitem>
-<listitem>
-
-<para>
-<link linkend="imap-pass">imap-pass</link> - a
-password which you may preset, used by all authentication methods where
-a password is needed.
-</para>
-</listitem>
-<listitem>
-
-<para>
-<link linkend="imap-authenticators">imap-authenticators</link> - a colon-delimited list of IMAP
-authentication methods to try, in the order you wish to try them. If
-specified, this overrides mutt's default (attempt everything, in the order
-listed above).
-</para>
-</listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-</sect1>
-
-<sect1 id="reading-news">
-<title>NNTP Support (OPTIONAL)  </title>
-
-<para>
-If compiled with ``--enable-nntp'' option, Mutt-ng can read news from
-a newsserver via NNTP.  You can open a newsgroup with the
-``change-newsgroup'' function from the index/pager which is by default
-bound to <literal>i</literal>.
-</para>
-
-<para>
-The Default newsserver can be obtained from the
-<literal>&dollar;NNTPSERVER</literal> environment variable. Like other news readers,
-info about subscribed newsgroups is saved in a file as specified by the
-<link linkend="nntp-newsrc">nntp-newsrc</link> variable.
-Article headers are cached and can be loaded from a file when a
-newsgroup is entered instead loading from newsserver; currently, this
-caching mechanism still is different from the header caching for
-maildir/IMAP.
-</para>
-
-<sect2>
-<title>Again: Scoring    </title>
-
-<para>
-Especially for Usenet, people often ask for advanced filtering
-and scoring functionality. Of course, mutt-ng has scoring and
-allows a killfile, too. How to use a killfile has been discussed
-in <link linkend="score-command">score-command</link>.
-</para>
-
-<para>
-What has not been discusses in detail is mutt-ng's built-in
-realname filter. For may newsreaders including those for
-``advanced users'' like <emphasis>slrn</emphasis> or <emphasis>tin</emphasis>, there are frequent
-request for such functionality. The solutions offered often are
-complicated regular expressions.
-</para>
-
-<para>
-In mutt-ng this is as easy as
-</para>
-
-<para>
-
-<screen>
-score ~* =42
-  
-</screen>
-
-</para>
-
-<para>
-This tells mutt-ng to apply a score of 42 to all messages whose
-sender specified a valid realname and a valid email address. Using
-</para>
-
-<para>
-
-<screen>
-score !~* =42
+    <sect1 id="mbox-hook">
+      <title>Using Multiple spool mailboxes  </title>
+      
+      <para>
+        Usage: <literal>mbox-hook</literal> &lsqb;!&rsqb;<emphasis>pattern</emphasis> <emphasis>
+          mailbox
+        </emphasis>
+      </para>
+      
+      <para>
+        This command is used to move read messages from a specified mailbox to
+        adifferent mailbox automatically when you quit or change folders.
+        <emphasis>pattern</emphasis> is a regular expression specifying the
+        mailbox to treat as a
+        ``spool'' mailbox and <emphasis>mailbox</emphasis> specifies where mail
+        should be saved when
+        read.
+      </para>
+      
+      <para>
+        Unlike some of the other <emphasis>hook</emphasis> commands, only the <emphasis>
+          first
+        </emphasis>
+        matching
+        pattern is used (it is not possible to save read mail in more than a
+        single
+        mailbox).
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="mailboxes">
+      <title>Defining mailboxes which receive mail  </title>
+      
+      <para>
+        Usage: <literal>&lsqb;un&rsqb;mailboxes</literal> &lsqb;!&rsqb;<emphasis>
+          filename
+        </emphasis>
+        &lsqb; <emphasis>filename</emphasis> ... &rsqb;
+      </para>
+      
+      <para>
+        This command specifies folders which can receive mail and
+        which will be checked for new messages.  By default, the
+        main menu status bar displays how many of these folders have
+        new messages.
+      </para>
+      
+      <para>
+        When changing folders, pressing <emphasis>space</emphasis> will cycle
+        through folders with new mail.
+      </para>
+      
+      <para>
+        Pressing TAB in the directory browser will bring up a menu showing the
+        files
+        specified by the <literal>mailboxes</literal> command, and indicate
+        which contain new
+        messages.  Mutt-ng will automatically enter this mode when invoked from
+        the
+        command line with the <literal>-y</literal> option.
+      </para>
+      
+      <para>
+        The ``unmailboxes'' command is used to remove a token from the list
+        of folders which receive mail. Use ``unmailboxes *'' to remove all
+        tokens.
+      </para>
+      
+      <para>
+        <emphasis role="bold">Note:</emphasis> new mail is detected by
+        comparing the last modification time to
+        the last access time.  Utilities like <literal>biff</literal> or <literal>
+          frm
+        </literal>
+        or any other
+        program which accesses the mailbox might cause Mutt-ng to never detect
+        new mail
+        for that mailbox if they do not properly reset the access time.  Backup
+        tools are another common reason for updated access times.
+      </para>
+      
+      <para>
+        <emphasis role="bold">Note:</emphasis> the filenames in the <literal>
+          mailboxes
+        </literal>
+        command are resolved when
+        the command is executed, so if these names contain <link linkend="shortcuts">
+          shortcuts
+        </link>
+        (such as ``='' and ``!''), any variable
+        definition that affect these characters (like <link linkend="folder">
+          folder
+        </link>
+        and <link linkend="spoolfile">spoolfile</link>)
+        should be executed before the <literal>mailboxes</literal> command.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="my-hdr">
+      <title>User defined headers  </title>
+      
+      <para>
+        Usage:
+        
+        <literal>my&lowbar;hdr</literal> <emphasis>string</emphasis>
+        
+        <literal>unmy&lowbar;hdr</literal> <emphasis>field</emphasis> &lsqb; <emphasis>
+          field
+        </emphasis>
+        ... &rsqb;
+      </para>
+      
+      <para>
+        The ``my&lowbar;hdr'' command allows you to create your own header
+        fields which will be added to every message you send.
+      </para>
+      
+      <para>
+        For example, if you would like to add an ``Organization:'' header field
+        to
+        all of your outgoing messages, you can put the command
+      </para>
+      
+      <para>
+        <screen>
+my&lowbar;hdr Organization: A Really Big Company, Anytown, USA</screen>
+      </para>
+      
+      <para>
+        in your <literal>.muttrc</literal>.
+      </para>
+      
+      <para>
+        <emphasis role="bold">Note:</emphasis>  space characters are <emphasis>
+          not
+        </emphasis>
+        allowed between the keyword and
+        the colon (``:'').  The standard for electronic mail (RFC822) says that
+        space is illegal there, so Mutt-ng enforces the rule.
+      </para>
+      
+      <para>
+        If you would like to add a header field to a single message, you should
+        either set the <link linkend="edit-headers">edit-headers</link>
+        variable,
+        or use the <emphasis>edit-headers</emphasis> function (default: ``E'')
+        in the send-menu so
+        that you can edit the header of your message along with the body.
+      </para>
+      
+      <para>
+        To remove user defined header fields, use the ``unmy&lowbar;hdr''
+        command.  You may specify an asterisk (``*'') to remove all header
+        fields, or the fields to remove.  For example, to remove all ``To'' and
+        ``Cc'' header fields, you could use:
+      </para>
+      
+      <para>
+        <screen>
+unmy&lowbar;hdr to cc</screen>
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="hdr-order">
+      <title>Defining the order of headers when viewing messages  </title>
+      
+      <para>
+        Usage: <literal>hdr&lowbar;order</literal> <emphasis>header1</emphasis>
+        <emphasis>header2</emphasis> <emphasis>header3</emphasis>
+      </para>
+      
+      <para>
+        With this command, you can specify an order in which mutt will attempt
+        to present headers to you when viewing messages.
+      </para>
+      
+      <para>
+        ``unhdr&lowbar;order *'' will clear all previous headers from the order
+        list,
+        thus removing the header order effects set by the system-wide startup
+        file.
+      </para>
+      
+      <para>
+        
+        <screen>
+hdr&lowbar;order From Date: From: To: Cc: Subject:</screen>
+        
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="save-hook">
+      <title>Specify default save filename  </title>
+      
+      <para>
+        Usage: <literal>save-hook</literal> &lsqb;!&rsqb;<emphasis>pattern</emphasis> <emphasis>
+          filename
+        </emphasis>
+      </para>
+      
+      <para>
+        This command is used to override the default filename used when saving
+        messages.  <emphasis>filename</emphasis> will be used as the default
+        filename if the message is
+        <emphasis>From:</emphasis> an address matching <emphasis>regexp</emphasis> or if you are the author and the
+        message is addressed <emphasis>to:</emphasis> something matching <emphasis>
+          regexp
+        </emphasis>
+        .
+      </para>
+      
+      <para>
+        See <link linkend="pattern-hook">pattern-hook</link> for information on
+        the exact format of <emphasis>pattern</emphasis>.
+      </para>
+      
+      <para>
+        Examples:
+      </para>
+      
+      <para>
+        
+        <screen>
+save-hook me@(turing\\.)?cs\\.hmc\\.edu$ +elkins
+save-hook aol\\.com$ +spam</screen>
+        
+      </para>
+      
+      <para>
+        Also see the <link linkend="fcc-save-hook">fcc-save-hook</link>
+        command.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="fcc-hook">
+      <title>Specify default Fcc: mailbox when composing  </title>
+      
+      <para>
+        Usage: <literal>fcc-hook</literal> &lsqb;!&rsqb;<emphasis>pattern</emphasis> <emphasis>
+          mailbox
+        </emphasis>
+      </para>
+      
+      <para>
+        This command is used to save outgoing mail in a mailbox other than
+        <link linkend="record">record</link>.  Mutt-ng searches the initial
+        list of
+        message recipients for the first matching <emphasis>regexp</emphasis>
+        and uses <emphasis>mailbox</emphasis>
+        as the default Fcc: mailbox.  If no match is found the message will be
+        saved
+        to <link linkend="record">record</link> mailbox.
+      </para>
+      
+      <para>
+        See <link linkend="pattern-hook">pattern-hook</link> for information on
+        the exact format of <emphasis>pattern</emphasis>.
+      </para>
+      
+      <para>
+        Example: <literal>fcc-hook &lsqb;@.&rsqb;aol&bsol;&bsol;.com&dollar;
+          +spammers
+        </literal>
+      </para>
+      
+      <para>
+        The above will save a copy of all messages going to the aol.com domain
+        to
+        the `+spammers' mailbox by default.  Also see the <link linkend="fcc-save-hook">
+          fcc-save-hook
+        </link>
+        command.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="fcc-save-hook">
+      <title>Specify default save filename and default Fcc: mailbox at once  </title>
+      
+      <para>
+        Usage: <literal>fcc-save-hook</literal> &lsqb;!&rsqb;<emphasis>pattern</emphasis> <emphasis>
+          mailbox
+        </emphasis>
+      </para>
+      
+      <para>
+        This command is a shortcut, equivalent to doing both a <link linkend="fcc-hook">
+          fcc-hook
+        </link>
+        and a <link linkend="save-hook">save-hook</link> with its arguments.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="send-hook">
+      <title>Change settings based upon message recipients  </title>
+      
+      <para>
+        Usage: <literal>reply-hook</literal> &lsqb;!&rsqb;<emphasis>pattern</emphasis> <emphasis>
+          command
+        </emphasis>
+        
+        Usage: <literal>send-hook</literal> &lsqb;!&rsqb;<emphasis>pattern</emphasis> <emphasis>
+          command
+        </emphasis>
+        
+        Usage: <literal>send2-hook</literal> &lsqb;!&rsqb;<emphasis>pattern</emphasis> <emphasis>
+          command
+        </emphasis>
+      </para>
+      
+      <para>
+        These commands can be used to execute arbitrary configuration commands
+        based
+        upon recipients of the message.  <emphasis>pattern</emphasis> is a
+        regular expression
+        matching the desired address.  <emphasis>command</emphasis> is executed
+        when <emphasis>regexp</emphasis>
+        matches recipients of the message.
+      </para>
+      
+      <para>
+        <literal>reply-hook</literal> is matched against the message you are <emphasis>
+          replying
+        </emphasis>
+        <emphasis role="bold">to</emphasis>, instead of the message you are <emphasis>
+          sending
+        </emphasis>
+        .<literal>send-hook</literal> is
+        matched against all messages, both <emphasis>new</emphasis> and <emphasis>
+          replies
+        </emphasis>
+        .<emphasis role="bold">Note:</emphasis>
+        <literal>reply-hook</literal>s are matched <emphasis role="bold">before</emphasis> the <literal>
+          send-hook
+        </literal>
+        ,<emphasis role="bold">regardless</emphasis>
+        of the order specified in the users's configuration file.
+      </para>
+      
+      <para>
+        <literal>send2-hook</literal> is matched every time a message is
+        changed, either
+        by editing it, or by using the compose menu to change its recipients
+        or subject.  <literal>send2-hook</literal> is executed after <literal>
+          send-hook
+        </literal>
+        ,and
+        can, e.g., be used to set parameters such as the <link linkend="sendmail">
+          sendmail
+        </link>
+        variable depending on the message's sender
+        address.
+      </para>
+      
+      <para>
+        For each type of <literal>send-hook</literal> or <literal>reply-hook</literal>, when multiple matches
+        occur, commands are executed in the order they are specified in the
+        muttrc
+        (for that type of hook).
+      </para>
+      
+      <para>
+        See <link linkend="pattern-hook">pattern-hook</link> for information on
+        the exact format of <emphasis>pattern</emphasis>.
+      </para>
+      
+      <para>
+        Example: <literal>send-hook mutt &quot;set mime&lowbar;forward
+          signature=''&quot;
+        </literal>
+      </para>
+      
+      <para>
+        Another typical use for this command is to change the values of the
+        <link linkend="attribution">attribution</link>, <link linkend="signature">
+          signature
+        </link>
+        and <link linkend="locale">locale</link>
+        variables in order to change the language of the attributions and
+        signatures based upon the recipients.
+      </para>
+      
+      <para>
+        <emphasis role="bold">Note:</emphasis> the send-hook's are only
+        executed ONCE after getting the initial
+        list of recipients.  Adding a recipient after replying or editing the
+        message will NOT cause any send-hook to be executed.  Also note that
+        my&lowbar;hdr commands which modify recipient headers, or the message's
+        subject, don't have any effect on the current message when executed
+        from a send-hook.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="message-hook">
+      <title>Change settings before formatting a message  </title>
+      
+      <para>
+        Usage: <literal>message-hook</literal> &lsqb;!&rsqb;<emphasis>pattern</emphasis> <emphasis>
+          command
+        </emphasis>
+      </para>
+      
+      <para>
+        This command can be used to execute arbitrary configuration commands
+        before viewing or formatting a message based upon information about the
+        message.
+        <emphasis>command</emphasis> is executed if the <emphasis>pattern</emphasis> matches the message to be
+        displayed. When multiple matches occur, commands are executed in the
+        order
+        they are specified in the muttrc.
+      </para>
+      
+      <para>
+        See <link linkend="pattern-hook">pattern-hook</link> for
+        information on the exact format of <emphasis>pattern</emphasis>.
+      </para>
+      
+      <para>
+        Example:
+        
+        <screen>
+message-hook ~A 'set pager=builtin'
+message-hook '~f freshmeat-news' 'set pager="less \"+/^  subject:.*\""'</screen>
+        
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="crypt-hook">
+      <title>Choosing the cryptographic key of the recipient  </title>
+      
+      <para>
+        Usage: <literal>crypt-hook</literal> <emphasis>pattern</emphasis> <emphasis>
+          keyid
+        </emphasis>
+      </para>
+      
+      <para>
+        When encrypting messages with PGP or OpenSSL, you may want to associate
+        a certain
+        key with a given e-mail address automatically, either because the
+        recipient's public key can't be deduced from the destination address,
+        or because, for some reasons, you need to override the key Mutt-ng
+        wouldnormally use.  The crypt-hook command provides a method by which
+        you can
+        specify the ID of the public key to be used when encrypting messages to
+        a certain recipient.
+      </para>
+      
+      <para>
+        The meaning of "key id" is to be taken broadly in this context:  You
+        can either put a numerical key ID here, an e-mail address, or even
+        just a real name.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="push">
+      <title>Adding key sequences to the keyboard buffer  </title>
+      
+      <para>
+        Usage: <literal>push</literal> <emphasis>string</emphasis>
+      </para>
+      
+      <para>
+        This command adds the named string to the keyboard buffer. The string
+        may
+        contain control characters, key names and function names like the
+        sequence
+        string in the <link linkend="macro">macro</link> command. You may use
+        it to
+        automatically run a sequence of commands at startup, or when entering
+        certain folders.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="exec">
+      <title>Executing functions  </title>
+      
+      <para>
+        Usage: <literal>exec</literal> <emphasis>function</emphasis> &lsqb; <emphasis>
+          function
+        </emphasis>
+        ... &rsqb;
+      </para>
+      
+      <para>
+        This command can be used to execute any function. Functions are
+        listed in the <link linkend="functions">functions</link>.
+        ``exec function'' is equivalent to ``push &lt;function&gt;''.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="score-command">
+      <title>Message Scoring  </title>
+      
+      <para>
+        Usage: <literal>score</literal> <emphasis>pattern</emphasis> <emphasis>
+          value
+        </emphasis>
+        
+        Usage: <literal>unscore</literal> <emphasis>pattern</emphasis> &lsqb; <emphasis>
+          pattern
+        </emphasis>
+        ... &rsqb;
+      </para>
+      
+      <para>
+        In situations where you have to cope with a lot of emails, e.g.
+        when you read many different mailing lists, and take part in
+        discussions, it is always useful to have the important messages
+        marked and the annoying messages or the ones that you aren't
+        interested in deleted. For this purpose, mutt-ng features a
+        mechanism called ``scoring''.
+      </para>
+      
+      <para>
+        When you use scoring, every message has a base score of 0. You
+        can then use the <literal>score</literal> command to define patterns
+        and a
+        positive or negative value associated with it. When a pattern
+        matches a message, the message's score will be raised or lowered by
+        the amount of the value associated with the pattern.
+      </para>
+      
+      <para>
+        
+        <screen>
+score "~f nion@muttng\.org" 50
+score "~f @sco\.com" -100</screen>
+        
+      </para>
+      
+      <para>
+        If the pattern matches, it is also possible to set the score
+        value of the current message to a certain value and then stop
+        evaluation:
+      </para>
+      
+      <para>
+        
+        <screen>
+score "~f santaclaus@northpole\.int" =666</screen>
+        
+      </para>
+      
+      <para>
+        What is important to note is that negative score values will be
+        rounded up to 0.
+      </para>
+      
+      <para>
+        To make scoring actually useful, the score must be applied in
+        some way.  That's what the <emphasis>score thresholds</emphasis> are
+        for. Currently,
+        there are three score thresholds:
+      </para>
+      
+      <para>
+        
+        <itemizedlist>
+          <listitem>
+            
+            <para>
+              flag threshold: when a message has a score value equal or higher
+              than the flag threshold, it will be flagged.
+              
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              read threshold: when a message has a score value equal or lower
+              than the read threshold, it will be marked as read.
+              
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              delete threshold: when a message has a score value equal or
+              lower than the delete threshold, it will be marked as deleted.
+              
+            </para>
+          </listitem>
+          
+        </itemizedlist>
+        
+      </para>
+      
+      <para>
+        These three thresholds can be set via the variables <link linkend="score-threshold-flag">
+          score-threshold-flag
+        </link>
+        ,<link linkend="score-threshold-read">score-threshold-read</link>, <link linkend="score-threshold-delete">
+          score-threshold-delete
+        </link>
+        and.  By
+        default, <link linkend="score-threshold-read">score-threshold-read</link> and <link linkend="score-threshold-delete">
+          score-threshold-delete
+        </link>
+        are set to
+        <literal>-1</literal>, which means that in the default threshold
+        configuration no
+        message will ever get marked as read or deleted.
+      </para>
+      
+      <para>
+        Scoring gets especially interesting when combined with the <literal>
+          color
+        </literal>
+        command
+        and the <literal>&tilde;n</literal> pattern:
+      </para>
+      
+      <para>
+        
+        <screen>
+color index  black   yellow  "~n 10-"
+color index  red     yellow  "~n 100-"</screen>
+        
+      </para>
+      
+      <para>
+        The rules above mark all messages with a score between 10 and 99
+        with black and yellow, and messages with a score greater or equal
+        100 with red and yellow. This might be unusual to you if you're used
+        to e.g. slrn's scoring mechanism, but it is more flexible, as it
+        visually marks different scores.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="spam">
+      <title>Spam detection  </title>
+      
+      <para>
+        Usage: <literal>spam</literal> <emphasis>pattern</emphasis> <emphasis>
+          format
+        </emphasis>
+        
+        Usage: <literal>nospam</literal> <emphasis>pattern</emphasis>
+      </para>
+      
+      <para>
+        Mutt-ng has generalized support for external spam-scoring filters.
+        By defining your spam patterns with the <literal>spam</literal> and <literal>
+          nospam
+        </literal>
+        commands, you can <emphasis>limit</emphasis>, <emphasis>search</emphasis>, and <emphasis>
+          sort
+        </emphasis>
+        your
+        mail based on its spam attributes, as determined by the external
+        filter. You also can display the spam attributes in your index
+        display using the <literal>&percnt;H</literal> selector in the <link linkend="index-format">
+          index-format
+        </link>
+        variable. (Tip: try <literal>&percnt;?H?[&percnt;H] ?</literal>
+        to display spam tags only when they are defined for a given message.)
+      </para>
+      
+      <para>
+        Your first step is to define your external filter's spam patterns using
+        the <literal>spam</literal> command. <emphasis>pattern</emphasis>
+        should be a regular expression
+        that matches a header in a mail message. If any message in the mailbox
+        matches this regular expression, it will receive a ``spam tag'' or
+        ``spam attribute'' (unless it also matches a <literal>nospam</literal>
+        pattern -- see
+        below.) The appearance of this attribute is entirely up to you, and is
+        governed by the <emphasis>format</emphasis> parameter. <emphasis>format</emphasis> can be any static
+        text, but it also can include back-references from the <emphasis>
+          pattern
+        </emphasis>
+        expression. (A regular expression ``back-reference'' refers to a
+        sub-expression contained within parentheses.) <literal>&percnt;1</literal> is replaced with
+        the first back-reference in the regex, <literal>&percnt;2</literal>
+        with the second, etc.
+      </para>
+      
+      <para>
+        If you're using multiple spam filters, a message can have more than
+        one spam-related header. You can define <literal>spam</literal>
+        patterns for each
+        filter you use. If a message matches two or more of these patterns, and
+        the &dollar;spam&lowbar;separator variable is set to a string, then the
+        message's spam tag will consist of all the <emphasis>format</emphasis>
+        strings joined
+        together, with the value of &dollar;spam&lowbar;separator separating
+        them.
+      </para>
+      
+      <para>
+        For example, suppose I use DCC, SpamAssassin, and PureMessage. I might
+        define these spam settings:
+        
+        <screen>
+spam "X-DCC-.*-Metrics:.*(....)=many"         "90+/DCC-%1"
+spam "X-Spam-Status: Yes"                     "90+/SA"
+spam "X-PerlMX-Spam: .*Probability=([0-9]+)%" "%1/PM"
+set spam_separator=", "</screen>
+        
+      </para>
+      
+      <para>
+        If I then received a message that DCC registered with ``many'' hits
+        under the ``Fuz2'' checksum, and that PureMessage registered with a
+        97&percnt; probability of being spam, that message's spam tag would
+        read<literal>90+/DCC-Fuz2, 97/PM</literal>. (The four characters before
+        ``=many'' in a
+        DCC report indicate the checksum used -- in this case, ``Fuz2''.)
+      </para>
+      
+      <para>
+        If the &dollar;spam&lowbar;separator variable is unset, then each
+        spam pattern match supersedes the previous one. Instead of getting
+        joined <emphasis>format</emphasis> strings, you'll get only the last
+        one to match.
+      </para>
+      
+      <para>
+        The spam tag is what will be displayed in the index when you use
+        <literal>&percnt;H</literal> in the <literal>
+          &dollar;index&lowbar;format
+        </literal>
+        variable. It's also the
+        string that the <literal>&tilde;H</literal> pattern-matching expression
+        matches against for
+        <emphasis>search</emphasis> and <emphasis>limit</emphasis> functions.
+        And it's what sorting by spam
+        attribute will use as a sort key.
+      </para>
+      
+      <para>
+        That's a pretty complicated example, and most people's actual
+        environments will have only one spam filter. The simpler your
+        configuration, the more effective mutt can be, especially when it comes
+        to sorting.
+      </para>
+      
+      <para>
+        Generally, when you sort by spam tag, mutt will sort <emphasis>
+          lexically
+        </emphasis>
+        --
+        that is, by ordering strings alphnumerically. However, if a spam tag
+        begins with a number, mutt will sort numerically first, and lexically
+        only when two numbers are equal in value. (This is like UNIX's
+        <literal>sort -n</literal>.) A message with no spam attributes at all
+        -- that is, one
+        that didn't match <emphasis>any</emphasis> of your <literal>spam</literal> patterns -- is sorted at
+        lowest priority. Numbers are sorted next, beginning with 0 and ranging
+        upward. Finally, non-numeric strings are sorted, with ``a'' taking
+        lowerpriority than ``z''. Clearly, in general, sorting by spam tags is
+        most
+        effective when you can coerce your filter to give you a raw number. But
+        in case you can't, mutt can still do something useful.
+      </para>
+      
+      <para>
+        The <literal>nospam</literal> command can be used to write exceptions
+        to <literal>spam</literal>
+        patterns. If a header pattern matches something in a <literal>spam</literal> command,
+        but you nonetheless do not want it to receive a spam tag, you can list
+        amore precise pattern under a <literal>nospam</literal> command.
+      </para>
+      
+      <para>
+        If the <emphasis>pattern</emphasis> given to <literal>nospam</literal>
+        is exactly the same as the
+        <emphasis>pattern</emphasis> on an existing <literal>spam</literal>
+        list entry, the effect will be to
+        remove the entry from the spam list, instead of adding an exception.
+        Likewise, if the <emphasis>pattern</emphasis> for a <literal>spam</literal> command matches an entry
+        on the <literal>nospam</literal> list, that <literal>nospam</literal>
+        entry will be removed. If the
+        <emphasis>pattern</emphasis> for <literal>nospam</literal> is ``*'', <emphasis>
+          all entries on both lists
+        </emphasis>
+        will be removed. This might be the default action if you use <literal>
+          spam
+        </literal>
+        and <literal>nospam</literal> in conjunction with a <literal>
+          folder-hook
+        </literal>
+        .
+      </para>
+      
+      <para>
+        You can have as many <literal>spam</literal> or <literal>nospam</literal> commands as you like.
+        You can even do your own primitive spam detection within mutt -- for
+        example, if you consider all mail from <literal>MAILER-DAEMON</literal>
+        to be spam,
+        you can use a <literal>spam</literal> command like this:
+      </para>
+      
+      <para>
+        
+        <screen>
+spam "^From: .*MAILER-DAEMON"       "999"</screen>
+        
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="set">
+      <title>Setting variables  </title>
+      
+      <para>
+        Usage: <literal>set</literal> &lsqb;no&verbar;inv&rsqb;<emphasis>
+          variable
+        </emphasis>
+        &lsqb;=<emphasis>value</emphasis>&rsqb; &lsqb; <emphasis>variable</emphasis> ... &rsqb;
+        
+        Usage: <literal>toggle</literal> <emphasis>variable</emphasis> &lsqb;<emphasis>
+          variable
+        </emphasis>
+        ... &rsqb;
+        
+        Usage: <literal>unset</literal> <emphasis>variable</emphasis> &lsqb;<emphasis>
+          variable
+        </emphasis>
+        ... &rsqb;
+        
+        Usage: <literal>reset</literal> <emphasis>variable</emphasis> &lsqb;<emphasis>
+          variable
+        </emphasis>
+        ... &rsqb;
+      </para>
+      
+      <para>
+        This command is used to set (and unset) <link linkend="variables">
+          variables
+        </link>
+        .There are four basic types of variables:
+        boolean, number, string and quadoption.  <emphasis>boolean</emphasis>
+        variables can be
+        <emphasis>set</emphasis> (true) or <emphasis>unset</emphasis> (false). 
+        <emphasis>number</emphasis> variables can be
+        assigned a positive integer value.
+      </para>
+      
+      <para>
+        <emphasis>string</emphasis> variables consist of any number of
+        printable characters.
+        <emphasis>strings</emphasis> must be enclosed in quotes if they contain
+        spaces or tabs.  You
+        may also use the ``C'' escape sequences <emphasis role="bold">&bsol;n</emphasis> and <emphasis role="bold">
+          &bsol;t
+        </emphasis>
+        for
+        newline and tab, respectively.
+      </para>
+      
+      <para>
+        <emphasis>quadoption</emphasis> variables are used to control whether
+        or not to be prompted
+        for certain actions, or to specify a default action.  A value of <emphasis>
+          yes
+        </emphasis>
+        will cause the action to be carried out automatically as if you had
+        answered
+        yes to the question.  Similarly, a value of <emphasis>no</emphasis>
+        will cause the the
+        action to be carried out as if you had answered ``no.''  A value of
+        <emphasis>ask-yes</emphasis> will cause a prompt with a default answer
+        of ``yes'' and
+        <emphasis>ask-no</emphasis> will provide a default answer of ``no.''
+      </para>
+      
+      <para>
+        Prefixing a variable with ``no'' will unset it.  Example: <literal>set
+          noaskbcc
+        </literal>
+        .
+      </para>
+      
+      <para>
+        For <emphasis>boolean</emphasis> variables, you may optionally prefix
+        the variable name with
+        <literal>inv</literal> to toggle the value (on or off).  This is useful
+        when writing
+        macros.  Example: <literal>set invsmart&lowbar;wrap</literal>.
+      </para>
+      
+      <para>
+        The <literal>toggle</literal> command automatically prepends the <literal>
+          inv
+        </literal>
+        prefix to all
+        specified variables.
+      </para>
+      
+      <para>
+        The <literal>unset</literal> command automatically prepends the <literal>
+          no
+        </literal>
+        prefix to all
+        specified variables.
+      </para>
+      
+      <para>
+        Using the enter-command function in the <emphasis>index</emphasis>
+        menu, you can query the
+        value of a variable by prefixing the name of the variable with a
+        question
+        mark:
+      </para>
+      
+      <para>
+        
+        <screen>
+set ?allow_8bit</screen>
+        
+      </para>
+      
+      <para>
+        The question mark is actually only required for boolean and quadoption 
+        variables.
+      </para>
+      
+      <para>
+        The <literal>reset</literal> command resets all given variables to the
+        compile time
+        defaults (hopefully mentioned in this manual). If you use the command
+        <literal>set</literal> and prefix the variable with ``&amp;'' this has
+        the same
+        behavior as the reset command.
+      </para>
+      
+      <para>
+        With the <literal>reset</literal> command there exists the special
+        variable ``all'',
+        which allows you to reset all variables to their system defaults.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="source">
+      <title>Reading initialization commands from another file  </title>
+      
+      <para>
+        Usage: <literal>source</literal> <emphasis>filename</emphasis> &lsqb; <emphasis>
+          filename
+        </emphasis>
+        ... &rsqb;
+      </para>
+      
+      <para>
+        This command allows the inclusion of initialization commands
+        from other files.  For example, I place all of my aliases in
+        <literal>&tilde;/.mail&lowbar;aliases</literal> so that I can make my
+        <literal>&tilde;/.muttrc</literal> readable and keep my aliases
+        private.
+      </para>
+      
+      <para>
+        If the filename begins with a tilde (``&tilde;''), it will be expanded
+        to the
+        path of your home directory.
+      </para>
+      
+      <para>
+        If the filename ends with a vertical bar (&verbar;), then <emphasis>
+          filename
+        </emphasis>
+        is
+        considered to be an executable program from which to read input (eg.
+        <literal>source &tilde;/bin/myscript&verbar;</literal>).
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="unhook">
+      <title>Removing hooks  </title>
+      
+      <para>
+        Usage: <literal>unhook</literal> &lsqb; * &verbar; <emphasis>hook-type</emphasis> &rsqb;
+      </para>
+      
+      <para>
+        This command permits you to flush hooks you have previously defined.
+        You can either remove all hooks by giving the ``*'' character as an
+        argument, or you can remove all hooks of a specific type by saying
+        something like <literal>unhook send-hook</literal>.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="sect:sharingsetups">
+      <title>Sharing Setups      </title>
+      
+      <sect2>
+        <title>Character Sets      </title>
+        
+        <para>
+          As users may run mutt-ng on different systems, the configuration
+          must be maintained because it's likely that people want to use the
+          setup everywhere they use mutt-ng. And mutt-ng tries to help where it
+          can.
+        </para>
+        
+        <para>
+          To not produce conflicts with different character sets, mutt-ng
+          allows users to specify in which character set their configuration
+          files are encoded. Please note that while reading the configuration
+          files, this is only respected after the corresponding declaration
+          appears. It's advised to put the following at the very beginning of a
+          users muttngrc:
+        </para>
+        
+        <para>
+          
+          <screen>
+set config_charset = "..."</screen>
+          
+        </para>
+        
+        <para>
+          and replacing the dots with the actual character set. To avoid
+          problems while maintaining the setup, vim user's may want to use
+          modelines as show in:
+        </para>
+        
+        <para>
+          
+          <screen>
+# vim:fileencoding=...:</screen>
+          
+        </para>
+        
+        <para>
+          while, again, replacing the dots with the appropriate name. This
+          tells vim as which character set to read and save the file.
+        </para>
+        
+        <para>
+          
+        </para>
+        
+      </sect2>
+      
+      <sect2>
+        <title>Modularization        </title>
+        
+        <para>
+          ``Modularization'' means to divide the setup into several files
+          while sorting the options or commands by topic. Especially for
+          longer setups (e.g. with many hooks), this helps maintaining it
+          and solving trouble.
+        </para>
+        
+        <para>
+          When using separation, setups may be, as a whole or in
+          fractions, shared over different systems.
+        </para>
+        
+        <para>
+          
+        </para>
+        
+      </sect2>
+      
+      <sect2>
+        <title>Conditional parts      </title>
+        
+        <para>
+          When using a configuration on different systems, the user may not
+          always have influence on how mutt-ng is installed and which features
+          it includes.
+        </para>
+        
+        <para>
+          To solve this, mutt-ng contain a feature based on the ``ifdef''
+          patch written for mutt. Its basic syntax is:
+        </para>
+        
+        <para>
+          
+          <screen>
+ifdef &lt;item&gt; &lt;command&gt;
+ifndef &lt;item&gt; &lt;command&gt;</screen>
+          
+        </para>
+        
+        <para>
+          ...whereby <literal>&lt;item&gt;</literal> can be one of:
+        </para>
+        
+        <para>
+          
+          <itemizedlist>
+            <listitem>
+              
+              <para>
+                a function name
+                
+              </para>
+            </listitem>
+            <listitem>
+              
+              <para>
+                a variable name
+                
+              </para>
+            </listitem>
+            <listitem>
+              
+              <para>
+                a menu name
+                
+              </para>
+            </listitem>
+            <listitem>
+              
+              <para>
+                a feature name
+                
+              </para>
+            </listitem>
+            
+          </itemizedlist>
+          
+        </para>
+        
+        <para>
+          All available functions, variables and menus are documented
+          elsewhere in this manual but ``features'' is specific to these
+          two commands. To test for one, prefix one of the following
+          keywords with <literal>feature&lowbar;</literal>: ncurses,
+          slang, iconv, idn, dotlock, standalone, pop, nntp, imap, ssl,
+          gnutls, sasl, sasl2, libesmtp, compressed, color, classic_pgp,
+          classic_smime, gpgme, header_cache
+        </para>
+        
+        <para>
+          As an example, one can use the following in
+          <literal>&tilde;/.muttngrc</literal>:
+        </para>
+        
+        <para>
+          
+          <screen>
+ifdef feature_imap 'source ~/.mutt-ng/setup-imap'
+ifdef feature_pop  'source ~/.mutt-ng/setup-pop'
+ifdef feature_nntp 'source ~/.mutt-ng/setup-nntp'</screen>
+          
+        </para>
+        
+        <para>
+          ...to only source <literal>&tilde;/.mutt-ng/setup-imap</literal> if
+          IMAP
+          support is built in, only source <literal>&tilde;/.mutt-ng/setup-pop</literal>
+          if POP support is built in and only source
+          <literal>&tilde;/.mutt-ng/setup-nntp</literal> if NNTP support is
+          built in.
+        </para>
+        
+        <para>
+          An example for testing for variable names can be used if users
+          use different revisions of mutt-ng whereby the older one may not
+          have a certain variable. To test for the availability of <link linkend="imap-mail-check">
+            imap-mail-check
+          </link>
+          ,
+          use:
+        </para>
+        
+        <para>
+          
+          <screen>
+ifdef imap_mail_check 'set imap_mail_check = 300'</screen>
+          
+        </para>
+        
+        <para>
+          Provided for completeness is the test for menu names. To set <link linkend="pager-index-lines">
+            pager-index-lines
+          </link>
+          only if the pager
+          menu is available, use:
+        </para>
+        
+        <para>
+          
+          <screen>
+ifdef pager 'set pager_index_lines = 10'</screen>
+          
+        </para>
+        
+        <para>
+          For completeness, too, the opposite of <literal>ifdef</literal> is
+          provided:
+          <literal>ifndef</literal> which only executes the command if the test
+          fails. For
+          example, the following two examples are equivalent:
+        </para>
+        
+        <para>
+          
+          <screen>
+ifdef feature_ncurses 'source ~/.mutt-ng/setup-ncurses'
+ifndef feature_ncurses 'source ~/.mutt-ng/setup-slang'</screen>
+          
+        </para>
+        
+        <para>
+          ...and...
+        </para>
+        
+        <para>
+          
+          <screen>
+ifdef feature_slang 'source ~/.mutt-ng/setup-slang'
+ifndef feature_slang 'source ~/.mutt-ng/setup-ncurses'</screen>
+          
+        </para>
+        
+        <para>
+          
+        </para>
+        
+        <para>
+          
+        </para>
+        
+      </sect2>
+      
+    </sect1>
+    
+    <sect1>
+      <title>Obsolete Variables  </title>
+      
+      <para>
+        In the process of ensuring and creating more consistency, many
+        variables have been renamed and some of the old names were already
+        removed. Please see <link linkend="sect-obsolete">sect-obsolete</link>
+        for a complete list.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+  </chapter>
   
-</screen>
-
-</para>
-
-<para>
-on the contrary applies a score of 42 to all messages <emphasis>not</emphasis>
-matching those criteria which are very strict:
-</para>
-
-<para>
-
-<itemizedlist>
-<listitem>
-
-<para>
-Email addresses must be valid according to RFC 2822, see
-<ulink
-URL="ftp://ftp.rfc-editor.org/in-notes/rfc2822.txt"
->&#60;ftp://ftp.rfc-editor.org/in-notes/rfc2822.txt&#62;</ulink
->
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-the name must consist of at least 2 fields whereby a field
-must not end in a dot. This means that ``Joe User'' and ``Joe A.
-User'' are valid while ``J. User'' and ``J. A. User'' aren't.
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-it's assumed that users are interested in reading their
-own mail and mail from people who they have defined an alias for
-so that those 2 groups of messages are excluded from the strict
-rules.
-
-</para>
-</listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-</sect1>
-
-<sect1>
-<title>SMTP Support (OPTIONAL)  </title>
-
-<para>
-Mutt-ng can be built using a library called ``libESMTP'' which
-provides SMTP functionality. When <literal>configure</literal> was called with
-<literal>--with-libesmtp</literal> or the output <literal>muttng -v</literal> contains
-<literal>+USE&lowbar;LIBESMTP</literal>, this will be or is the case already. The SMTP
-support includes support for Delivery Status Notification (see <link linkend="dsn">dsn</link> section) as well as
-handling the <literal>8BITMIME</literal> flag controlled via <link linkend="use-8bitmime">use-8bitmime</link>.
-</para>
-
-<para>
-To enable sending mail directly via SMTP without an MTA such as
-Postfix or SSMTP and the like, simply set the <link linkend="smtp-host">smtp-host</link> variable pointing to your SMTP server.
-</para>
-
-<para>
-Authentication mechanisms are available via the <link linkend="smtp-user">smtp-user</link> and <link linkend="smtp-pass">smtp-pass</link> variables.
-</para>
-
-<para>
-Transport Encryption via the StartTLS command is also available. For
-this to work, first of all Mutt-ng must be built with SSL or GNUTLS.
-Secondly, the <link linkend="smtp-use-tls">smtp-use-tls</link> variable must be either set
-to ``enabled'' or ``required.'' In both cases, StartTLS will be used if
-the server supports it: for the second case, the connection will fail if
-it doesn't while switching back to unencrypted communication for the
-first one.
-</para>
-
-<para>
-Some mail providers require user's to set a particular envelope
-sender, i.e. they allow for only one value which may not be what the
-user wants to send as the <literal>From:</literal> header. In this case, the variable
-<link linkend="smtp-envelope">smtp-envelope</link> may be used
-to set the envelope different from the <literal>From:</literal> header.
-</para>
-
-</sect1>
-
-<sect1 id="account-hook">
-<title>Managing multiple IMAP/POP/NNTP accounts (OPTIONAL)  </title>
-
-<para>
-If you happen to have accounts on multiple IMAP and/or POP servers,
-you may find managing all the authentication settings inconvenient and
-error-prone.  The account-hook command may help. This hook works like
-folder-hook but is invoked whenever you access a remote mailbox
-(including inside the folder browser), not just when you open the
-mailbox.
-</para>
-
-<para>
-Some examples:
-</para>
-
-<para>
+  <chapter>
+    <title>Advanced Usage  </title>
+    
+    <sect1 id="regexp">
+      <title>Regular Expressions  </title>
+      
+      <para>
+        All string patterns in Mutt-ng including those in more complex
+        <link linkend="patterns">patterns</link> must be specified
+        using regular expressions (regexp) in the ``POSIX extended'' syntax
+        (which
+        is more or less the syntax used by egrep and GNU awk).  For your
+        convenience, we have included below a brief description of this syntax.
+      </para>
+      
+      <para>
+        The search is case sensitive if the pattern contains at least one upper
+        case letter, and case insensitive otherwise. Note that ``&bsol;''
+        must be quoted if used for a regular expression in an initialization
+        command: ``&bsol;&bsol;''.
+      </para>
+      
+      <para>
+        A regular expression is a pattern that describes a set of strings.
+        Regular expressions are constructed analogously to arithmetic
+        expressions, by using various operators to combine smaller expressions.
+      </para>
+      
+      <para>
+        Note that the regular expression can be enclosed/delimited by either
+        &quot;
+        or ' which is useful if the regular expression includes a white-space
+        character.  See <link linkend="muttrc-syntax">muttrc-syntax</link>
+        for more information on &quot; and ' delimiter processing.  To match a
+        literal &quot; or ' you must preface it with \ (backslash).
+      </para>
+      
+      <para>
+        The fundamental building blocks are the regular expressions that match
+        a single character.  Most characters, including all letters and digits,
+        are regular expressions that match themselves.  Any metacharacter with
+        special meaning may be quoted by preceding it with a backslash.
+      </para>
+      
+      <para>
+        The period ``.'' matches any single character.  The caret ``&circ;''
+        andthe dollar sign ``&dollar;'' are metacharacters that respectively
+        match
+        the empty string at the beginning and end of a line.
+      </para>
+      
+      <para>
+        A list of characters enclosed by ``&lsqb;'' and ``&rsqb;'' matches any
+        single character in that list; if the first character of the list
+        is a caret ``&circ;'' then it matches any character <emphasis role="bold">
+          not
+        </emphasis>
+        in the
+        list.  For example, the regular expression <emphasis role="bold">
+          &lsqb;0123456789&rsqb;
+        </emphasis>
+        matches any single digit.  A range of ASCII characters may be specified
+        by giving the first and last characters, separated by a hyphen
+        ``-''.  Most metacharacters lose their special meaning inside
+        lists.  To include a literal ``&rsqb;'' place it first in the list.
+        Similarly, to include a literal ``&circ;'' place it anywhere but first.
+        Finally, to include a literal hyphen ``-'' place it last.
+      </para>
+      
+      <para>
+        Certain named classes of characters are predefined.  Character classes
+        consist of ``&lsqb;:'', a keyword denoting the class, and ``:&rsqb;''.
+        The following classes are defined by the POSIX standard:
+      </para>
+      
+      <para>
+        <variablelist>
+          
+          <varlistentry>
+            <term>&lsqb;:alnum:&rsqb;</term>
+            <listitem>
+              <para>
+                Alphanumeric characters.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>&lsqb;:alpha:&rsqb;</term>
+            <listitem>
+              <para>
+                Alphabetic characters.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>&lsqb;:blank:&rsqb;</term>
+            <listitem>
+              <para>
+                Space or tab characters.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>&lsqb;:cntrl:&rsqb;</term>
+            <listitem>
+              <para>
+                Control characters.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>&lsqb;:digit:&rsqb;</term>
+            <listitem>
+              <para>
+                Numeric characters.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>&lsqb;:graph:&rsqb;</term>
+            <listitem>
+              <para>
+                Characters that are both printable and visible.  (A space is
+                printable,
+                but not visible, while an ``a'' is both.)
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>&lsqb;:lower:&rsqb;</term>
+            <listitem>
+              <para>
+                Lower-case alphabetic characters.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>&lsqb;:print:&rsqb;</term>
+            <listitem>
+              <para>
+                Printable characters (characters that are not control
+                characters.)
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>&lsqb;:punct:&rsqb;</term>
+            <listitem>
+              <para>
+                Punctuation characters (characters that are not letter, digits,
+                control
+                characters, or space characters).
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>&lsqb;:space:&rsqb;</term>
+            <listitem>
+              <para>
+                Space characters (such as space, tab and formfeed, to name a
+                few).
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>&lsqb;:upper:&rsqb;</term>
+            <listitem>
+              <para>
+                Upper-case alphabetic characters.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>&lsqb;:xdigit:&rsqb;</term>
+            <listitem>
+              <para>
+                Characters that are hexadecimal digits.
+              </para>
+            </listitem>
+          </varlistentry>
+        </variablelist>
+      </para>
+      
+      <para>
+        A character class is only valid in a regular expression inside the
+        brackets of a character list.  Note that the brackets in these
+        class names are part of the symbolic names, and must be included
+        in addition to the brackets delimiting the bracket list.  For
+        example, <emphasis role="bold">&lsqb;&lsqb;:digit:&rsqb;&rsqb;</emphasis> is equivalent to
+        <emphasis role="bold">&lsqb;0-9&rsqb;</emphasis>.
+      </para>
+      
+      <para>
+        Two additional special sequences can appear in character lists.  These
+        apply to non-ASCII character sets, which can have single symbols
+        (calledcollating elements) that are represented with more than one
+        character,
+        as well as several characters that are equivalent for collating or
+        sorting purposes:
+      </para>
+      
+      <para>
+        <variablelist>
+          
+          <varlistentry>
+            <term>Collating Symbols</term>
+            <listitem>
+              <para>
+                A collating symbol is a multi-character collating element
+                enclosed in
+                ``&lsqb;.'' and ``.&rsqb;''.  For example, if ``ch'' is a
+                collating
+                element, then <emphasis role="bold">
+                  &lsqb;&lsqb;.ch.&rsqb;&rsqb;
+                </emphasis>
+                is a regexp that matches
+                this collating element, while <emphasis role="bold">
+                  &lsqb;ch&rsqb;
+                </emphasis>
+                is a regexp that
+                matches either ``c'' or ``h''.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>Equivalence Classes</term>
+            <listitem>
+              <para>
+                An equivalence class is a locale-specific name for a list of
+                characters that are equivalent. The name is enclosed in
+                ``&lsqb;=''
+                and ``=&rsqb;''.  For example, the name ``e'' might be used to
+                represent all of ``&egrave;'' ``&eacute;'' and ``e''.  In this
+                case,
+                <emphasis role="bold">&lsqb;&lsqb;=e=&rsqb;&rsqb;</emphasis> is
+                a regexp that matches any of
+                ``&egrave;'', ``&eacute;'' and ``e''.
+              </para>
+            </listitem>
+          </varlistentry>
+        </variablelist>
+      </para>
+      
+      <para>
+        A regular expression matching a single character may be followed by one
+        of several repetition operators:
+      </para>
+      
+      <para>
+        <variablelist>
+          
+          <varlistentry>
+            <term>?</term>
+            <listitem>
+              <para>
+                The preceding item is optional and matched at most once.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>*</term>
+            <listitem>
+              <para>
+                The preceding item will be matched zero or more times.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>+</term>
+            <listitem>
+              <para>
+                The preceding item will be matched one or more times.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>&lcub;n&rcub;</term>
+            <listitem>
+              <para>
+                The preceding item is matched exactly <emphasis>n</emphasis>
+                times.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>&lcub;n,&rcub;</term>
+            <listitem>
+              <para>
+                The preceding item is matched <emphasis>n</emphasis> or more
+                times.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>&lcub;,m&rcub;</term>
+            <listitem>
+              <para>
+                The preceding item is matched at most <emphasis>m</emphasis>
+                times.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>&lcub;n,m&rcub;</term>
+            <listitem>
+              <para>
+                The preceding item is matched at least <emphasis>n</emphasis>
+                times, but no more than
+                <emphasis>m</emphasis> times.
+              </para>
+            </listitem>
+          </varlistentry>
+        </variablelist>
+      </para>
+      
+      <para>
+        Two regular expressions may be concatenated; the resulting regular
+        expression matches any string formed by concatenating two substrings
+        that respectively match the concatenated subexpressions.
+      </para>
+      
+      <para>
+        Two regular expressions may be joined by the infix operator
+        ``&verbar;'';
+        the resulting regular expression matches any string matching either
+        subexpression.
+      </para>
+      
+      <para>
+        Repetition takes precedence over concatenation, which in turn takes
+        precedence over alternation.  A whole subexpression may be enclosed in
+        parentheses to override these precedence rules.
+      </para>
+      
+      <para>
+        <emphasis role="bold">Note:</emphasis> If you compile Mutt-ng with the
+        GNU <emphasis>rx</emphasis> package, the
+        following operators may also be used in regular expressions:
+      </para>
+      
+      <para>
+        <variablelist>
+          
+          <varlistentry>
+            <term>&bsol;&bsol;y</term>
+            <listitem>
+              <para>
+                Matches the empty string at either the beginning or the end of
+                a word.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>&bsol;&bsol;B</term>
+            <listitem>
+              <para>
+                Matches the empty string within a word.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>&bsol;&bsol;&lt;</term>
+            <listitem>
+              <para>
+                Matches the empty string at the beginning of a word.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>&bsol;&bsol;&gt;</term>
+            <listitem>
+              <para>
+                Matches the empty string at the end of a word.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>&bsol;&bsol;w</term>
+            <listitem>
+              <para>
+                Matches any word-constituent character (letter, digit, or
+                underscore).
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>&bsol;&bsol;W</term>
+            <listitem>
+              <para>
+                Matches any character that is not word-constituent.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>&bsol;&bsol;`</term>
+            <listitem>
+              <para>
+                Matches the empty string at the beginning of a buffer (string).
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>&bsol;&bsol;'</term>
+            <listitem>
+              <para>
+                Matches the empty string at the end of a buffer.
+              </para>
+            </listitem>
+          </varlistentry>
+        </variablelist>
+      </para>
+      
+      <para>
+        Please note however that these operators are not defined by POSIX, so
+        they may or may not be available in stock libraries on various systems.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1>
+      <title>Patterns  </title>
+      
+      <para>
+        Mutt-ng's pattern language provides a simple yet effective way to
+        set up rules to match messages, e.g. for operations like tagging and
+        scoring. A pattern consists of one or more sub-pattern, which can be
+        logically grouped, ORed, and negated. For a complete listing of
+        these patterns, please refer to table <link linkend="patterns">patterns</link> in the Reference chapter.
+      </para>
+      
+      <para>
+        It must be noted that in this table, <literal>EXPR</literal> is
+        a regular expression. For ranges, the forms
+        <literal>&lt;[MAX]</literal>, <literal>&gt;&#62;[MIN]</literal>,
+        <literal> [MIN]- </literal> and <literal>-[MAX]</literal> are
+        also possible.
+      </para>
+      
+      <sect2>
+        <title>Complex Patterns </title>
+        
+        <para>
+          It is possible to combine several sub-patterns to a more complex
+          pattern. The most simple possibility is to logically AND several
+          patterns by stringing them together:
+        </para>
+        
+        <para>
+          
+          <screen>
+~s 'SPAM' ~U</screen>
+          
+        </para>
+        
+        <para>
+          The pattern above matches all messages that contain ``SPAM'' in
+          the subject and are unread.
+        </para>
+        
+        <para>
+          To logical OR patterns, simply use the <literal>&verbar;</literal>
+          operator. This one
+          especially useful when using local groups:
+        </para>
+        
+        <para>
+          
+          <screen>
+~f ("nion@muttng\.org"|"ak@muttng\.org"|"pdmef@muttng\.org")
+(~b mutt-ng|~s Mutt-ng)
+!~x '@synflood\.at'</screen>
+          
+        </para>
+        
+        <para>
+          The first pattern matches all messages that were sent by one of
+          the mutt-ng maintainers, while the seconds pattern matches all
+          messages that contain ``mutt-ng'' in the message body or ``Mutt-ng''
+          in the subject. The third pattern matches all messages that do not
+          contain ``@synflood\.at'' in the <literal>References:</literal>
+          header, i.e.
+          messages that are not an (indirect) reply to one of my messages. A
+          pattern can be logicall negated using the <literal>!</literal>
+          operator.
+        </para>
+        
+      </sect2>
+      
+      <sect2>
+        <title>Patterns and Dates </title>
+        
+        <para>
+          When using dates in patterns, the dates must be specified in a
+          special format, i.e.  <literal>DD/MM/YYYY</literal>. If you don't
+          specify
+          month or year, they default to the current month or year. When using
+          date ranges, and you specify only the minimum or the maximum, the
+          specified date will be excluded, e.g. <literal>01/06/2005-</literal>
+          matches
+          against all messages <emphasis>after</emphasis> Juni 1st, 2005.
+        </para>
+        
+        <para>
+          It is also possible to use so-called ``error margins'' when
+          specifying date ranges.  You simply specify a date, and then the
+          error margin. This margin needs to contain the information whether
+          it goes ``forth'' or ``back'' in time, by using <literal>+</literal>
+          and <literal>-</literal>.
+          Then follows a number and a unit, i.e. <literal>y</literal> for
+          years, <literal>m</literal> for
+          months, <literal>w</literal> for weeks and <literal>d</literal> for
+          days. If you use the special
+          <literal>*</literal> sign, it means that the error margin goes to
+          both``directions'' in time.
+        </para>
+        
+        <para>
+          
+          <screen>
+~d 01/01/2005+1y
+~d 18/10/2004-2w
+~d 28/12/2004*1d</screen>
+          
+        </para>
+        
+        <para>
+          The first pattern matches all dates between January 1st, 2005 and
+          January 1st 2006.  The second pattern matches all dates between
+          October 18th, 2004 and October 4th 2004 (2 weeks before 18/10/2004),
+          while the third pattern matches all dates 1 day around December
+          28th, 2004 (i.e. Dec 27th, 28th and 29th).
+        </para>
+        
+        <para>
+          Relative dates are also very important, as they make it possible
+          to specify date ranges between a fixed number of units and the
+          current date. How this works can be seen in the following example:
+        </para>
+        
+        <para>
+          
+          <screen>
+~d &gt;2w # messages older than two weeks
+~d &lt;3d # messages newer than 3 days
+~d =1m # messages that are exactly one month old</screen>
+          
+        </para>
+        
+        <para>
+          
+        </para>
+        
+      </sect2>
+      
+    </sect1>
+    
+    <sect1>
+      <title>Format Strings      </title>
+      
+      <sect2>
+        <title>Introduction        </title>
+        
+        <para>
+          The so called <emphasis>Format Strings</emphasis> offer great
+          flexibility when
+          configuring mutt-ng. In short, they describe what items to print
+          out how in menus and status messages.
+        </para>
+        
+        <para>
+          Basically, they work as this: for different menus and bars,
+          there's a variable specifying the layout. For every item
+          available, there is a so called <emphasis>expando</emphasis>.
+        </para>
+        
+        <para>
+          For example, when running mutt-ng on different machines or
+          different versions for testing purposes, it may be interesting to
+          have the following information always printed on screen when one
+          is in the index:
+        </para>
+        
+        <para>
+          
+          <itemizedlist>
+            <listitem>
+              
+              <para>
+                the current hostname
+                
+              </para>
+            </listitem>
+            <listitem>
+              
+              <para>
+                the current mutt-ng version number
+                
+              </para>
+            </listitem>
+            
+          </itemizedlist>
+          
+        </para>
+        
+        <para>
+          The setting for the status bar of the index is controlled via the
+          <link linkend="status-format">status-format</link>
+          variable. For the hostname and version string, there's an expando
+          for <literal>&dollar;status&lowbar;format</literal>: <literal>
+            &percnt;h
+          </literal>
+          expands to the
+          hostname and <literal>&percnt;v</literal> to the version string. When
+          just configuring:
+        </para>
+        
+        <para>
+          
+          <screen>
+set status_format = "%v on %h: ..."</screen>
+          
+        </para>
+        
+        <para>
+          mutt-ng will replace the sequence <literal>&percnt;v</literal> with
+          the version string
+          and <literal>&percnt;h</literal> with the host's name. When you are,
+          for example, running
+          mutt-ng version <literal>1.5.9i</literal> on host <literal>mailhost</literal>, you'll see the
+          following when you're in the index:
+        </para>
+        
+        <para>
+          
+          <screen>
+Mutt-ng 1.5.9i on mailhost: ...</screen>
+          
+        </para>
+        
+        <para>
+          In the index, there're more useful information one could want to 
+          see:
+        </para>
+        
+        <para>
+          
+          <itemizedlist>
+            <listitem>
+              
+              <para>
+                which mailbox is open
+                
+              </para>
+            </listitem>
+            <listitem>
+              
+              <para>
+                how man new, flagged or postponed messages
+                
+              </para>
+            </listitem>
+            <listitem>
+              
+              <para>
+                ...
+                
+              </para>
+            </listitem>
+            
+          </itemizedlist>
+          
+        </para>
+        
+        <para>
+          To include the mailbox' name is as easy as:
+        </para>
+        
+        <para>
+          
+          <screen>
+set status_format = "%v on %h: %B: ...</screen>
+          
+        </para>
+        
+        <para>
+          When the currently opened mailbox is <literal>Inbox</literal>, this
+          will be expanded
+          to:
+        </para>
+        
+        <para>
+          
+          <screen>
+Mutt-ng 1.5.9i on mailhost: Inbox: ...</screen>
+          
+        </para>
+        
+        <para>
+          For the number of certain types of messages, one more feature of the
+          format
+          strings is extremely useful. If there aren't messages of a certain
+          type, it
+          may not be desired to print just that there aren't any but instead
+          only
+          print something if there are any.
+        </para>
+        
+        <para>
+          
+        </para>
+        
+      </sect2>
+      
+      <sect2>
+        <title>Conditional Expansion        </title>
+        
+        <para>
+          To only print the number of messages if there are new messages in
+          the current mailbox, further extend
+          <literal>&dollar;status&lowbar;format</literal> to:
+        </para>
+        
+        <para>
+          
+          <screen>
+set status_format = "%v on %h: %B %?n?%n new? ...</screen>
+          
+        </para>
+        
+        <para>
+          This feature is called <emphasis>nonzero-printing</emphasis> and
+          works as this:
+          some expandos may be optionally printed nonzero, i.e.  a portion
+          of the format string is only evaluated if the value of the expando
+          is different from zero. The basic syntax is:
+        </para>
+        
+        <para>
+          
+          <screen>
+%?&#60;item&#62;?&#60;string if nonzero&#62;?</screen>
+          
+        </para>
+        
+        <para>
+          which tells mutt-ng to only look at <literal>&lt;string if
+            nonzero&gt;
+          </literal>
+          if the value of the <literal>&percnt;&lt;item&percnt;gt;</literal>
+          expando is different from zero. In our example, we used <literal>n</literal> as
+          the expando to check for and <literal>&percnt;n new</literal> as the
+          optional nonzero
+          string.
+        </para>
+        
+        <para>
+          But this is not all: this feature only offers one alternative: 
+          ``print something if not zero.'' Mutt-ng does, as you might guess, 
+          also provide a logically complete version: ``if zero, print 
+          something and else print something else.'' This is achieved by the 
+          following syntax for those expandos which may be printed nonzero:
+        </para>
+        
+        <para>
+          
+          <screen>
+%?&#60;item&#62;?&#60;string if nonzero&#62;&#38;&#60;string if zero&#62;?</screen>
+          
+        </para>
+        
+        <para>
+          Using this we can make mutt-ng to do the following:
+        </para>
+        
+        <para>
+          
+          <itemizedlist>
+            <listitem>
+              
+              <para>
+                make it print ``<emphasis>n</emphasis> new messages'' whereby <emphasis>
+                  n
+                </emphasis>
+                is the
+                count but only if there new ones
+                
+              </para>
+            </listitem>
+            <listitem>
+              
+              <para>
+                and make it print ``no new messages'' if there aren't any
+                
+              </para>
+            </listitem>
+            
+          </itemizedlist>
+          
+        </para>
+        
+        <para>
+          The corresponding configuration is:
+        </para>
+        
+        <para>
+          
+          <screen>
+set status_format = "%v on %h: %B: %?n?%n new messages&amp;no new messages? ...</screen>
+          
+        </para>
+        
+        <para>
+          This doubles the use of the ``new messages'' string because it'll get
+          always printed. Thus, it can be shortened to:
+        </para>
+        
+        <para>
+          
+          <screen>
+set status_format = "%v on %h: %B: %?n?%n&amp;no? new messages ...</screen>
+          
+        </para>
+        
+        <para>
+          As you might see from this rather simple example, one can create
+          very complex but fancy status messages. Please see the reference
+          chapter for expandos and those which may be printed nonzero.
+        </para>
+        
+        <para>
+          
+        </para>
+        
+      </sect2>
+      
+      <sect2>
+        <title>Modifications and Padding        </title>
+        
+        <para>
+          Besides the information given so far, there're even more features of
+          format strings:
+        </para>
+        
+        <para>
+          
+          <itemizedlist>
+            <listitem>
+              
+              <para>
+                When specifying <literal>&percnt;&lowbar;&lt;item&gt;</literal>
+                instead of
+                just <literal>&percnt;&lt;item&gt;</literal>, mutt-ng will
+                convert all
+                characters in the expansion of <literal>&lt;item&gt;</literal>
+                to
+                lowercase.
+                
+              </para>
+            </listitem>
+            <listitem>
+              
+              <para>
+                When specifying <literal>&percnt;:&lt;item&gt;</literal>
+                instead of just
+                <literal>&percnt;&lt;item&gt;</literal>, mutt-ng will convert
+                all dots in the
+                expansion of <literal>&lt;item&gt;</literal> to underscores
+                (<literal>&lowbar;</literal>).
+                
+              </para>
+            </listitem>
+            
+          </itemizedlist>
+          
+        </para>
+        
+        <para>
+          Also, there's a feature called <emphasis>Padding</emphasis> supplied
+          by the
+          following two expandos: <literal>&percnt;&verbar;X</literal> and <literal>
+            &percnt;&gt;X
+          </literal>
+          .
+        </para>
+        
+        <para>
+          <variablelist>
+            
+            <varlistentry>
+              <term>
+                <literal>&percnt;&verbar;X</literal>
+              </term>
+              <listitem>
+                <para>
+                  When this occurs, mutt-ng will fill the
+                  rest of the line with the character <literal>X</literal>. In
+                  our example,
+                  filling the rest of the line with dashes is done by setting:
+                </para>
+                
+                <para>
+                  
+                  <screen>
+set status_format = "%v on %h: %B: %?n?%n&amp;no? new messages %|-"</screen>
+                  
+                </para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>
+                <literal>&percnt;&gt;X</literal>
+              </term>
+              <listitem>
+                <para>
+                  Since the previous expando stops at
+                  the end of line, there must be a way to fill the gap between
+                  two items via the <literal>&percnt;&gt;X</literal> expando:
+                  it puts as many
+                  characters <literal>X</literal> in between two items so that
+                  the rest of
+                  the line will be right-justified. For example, to not put the
+                  version string and hostname of our example on the left but on
+                  the right and fill the gap with spaces, one might use (note
+                  the space after <literal>&percnt;&gt;</literal>):
+                </para>
+                
+                <para>
+                  
+                  <screen>
+set status_format = "%B: %?n?%n&amp;no? new messages %&#62; (%v on %h)"</screen>
+                  
+                </para>
+              </listitem>
+            </varlistentry>
+          </variablelist>
+        </para>
+        
+        <para>
+          
+        </para>
+        
+        <para>
+          
+        </para>
+        
+      </sect2>
+      
+    </sect1>
+    
+    <sect1>
+      <title>Using Tags  </title>
+      
+      <para>
+        Sometimes it is desirable to perform an operation on a group of
+        messages all at once rather than one at a time.  An example might be
+        to save messages to a mailing list to a separate folder, or to
+        delete all messages with a given subject.  To tag all messages
+        matching a pattern, use the tag-pattern function, which is bound to
+        ``shift-T'' by default.  Or you can select individual messages by
+        hand using the ``tag-message'' function, which is bound to ``t'' by
+        default.  See <link linkend="patterns">patterns</link> for Mutt-ng's
+        pattern
+        matching syntax.
+      </para>
+      
+      <para>
+        Once you have tagged the desired messages, you can use the
+        ``tag-prefix'' operator, which is the ``;'' (semicolon) key by default.
+        When the ``tag-prefix'' operator is used, the <emphasis role="bold">
+          next
+        </emphasis>
+        operation will
+        be applied to all tagged messages if that operation can be used in that
+        manner.  If the <link linkend="auto-tag">auto-tag</link>
+        variable is set, the next operation applies to the tagged messages
+        automatically, without requiring the ``tag-prefix''.
+      </para>
+      
+      <para>
+        In <link linkend="macro">macro</link> or <link linkend="push">push</link> commands,
+        you can use the ``tag-prefix-cond'' operator.  If there are no tagged
+        messages, mutt will "eat" the rest of the macro to abort it's
+        execution.Mutt-ng will stop "eating" the macro when it encounters the
+        ``end-cond''
+        operator;  after this operator the rest of the macro will be executed
+        asnormal.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="hooks">
+      <title>Using Hooks  </title>
+      
+      <para>
+        A <emphasis>hook</emphasis> is a concept borrowed from the EMACS editor
+        which allows you to
+        execute arbitrary commands before performing some operation.  For
+        example,
+        you may wish to tailor your configuration based upon which mailbox you
+        are
+        reading, or to whom you are sending mail.  In the Mutt-ng world, a <emphasis>
+          hook
+        </emphasis>
+        consists of a <link linkend="regexp">regexp</link> or
+        <link linkend="patterns">patterns</link> along with a
+        configuration option/command.  See
+        
+        <itemizedlist>
+          <listitem>
+            
+            <para>
+              <link linkend="folder-hook">folder-hook</link>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <link linkend="send-hook">send-hook</link>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <link linkend="message-hook">message-hook</link>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <link linkend="save-hook">save-hook</link>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <link linkend="mbox-hook">mbox-hook</link>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <link linkend="fcc-hook">fcc-hook</link>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <link linkend="fcc-save-hook">fcc-save-hook</link>
+            </para>
+          </listitem>
+          
+        </itemizedlist>
+        
+        for specific details on each type of <emphasis>hook</emphasis>
+        available.
+      </para>
+      
+      <para>
+        <emphasis role="bold">Note:</emphasis> if a hook changes configuration
+        settings, these changes remain
+        effective until the end of the current mutt session. As this is
+        generally
+        not desired, a default hook needs to be added before all other hooks to
+        restore configuration defaults. Here is an example with send-hook and
+        the
+        my&lowbar;hdr directive:
+      </para>
+      
+      <para>
+        
+        <screen>
+send-hook . 'unmy_hdr From:'
+send-hook ~C'^b@b\.b$' my_hdr from: c@c.c</screen>
+        
+      </para>
+      
+      <sect2 id="pattern-hook">
+        <title>Message Matching in Hooks</title>
+        
+        <para>
+          Hooks that act upon messages (<literal>send-hook, save-hook,
+            fcc-hook,message-hook
+          </literal>
+          )are evaluated in a slightly different manner.  For the other
+          types of hooks, a <link linkend="regexp">regexp</link> is
+          sufficient.  But in dealing with messages a finer grain of control is
+          needed for matching since for different purposes you want to match
+          different criteria.
+        </para>
+        
+        <para>
+          Mutt-ng allows the use of the <link linkend="patterns">patterns</link>
+          language for matching messages in hook commands.  This works in
+          exactly the same way as it would when <emphasis>limiting</emphasis>
+          or<emphasis>searching</emphasis> the mailbox, except that you are
+          restricted to those
+          operators which match information mutt extracts from the header of
+          the message (i.e.  from, to, cc, date, subject, etc.).
+        </para>
+        
+        <para>
+          For example, if you wanted to set your return address based upon
+          sending
+          mail to a specific address, you could do something like:
+          
+          <screen>
+send-hook '~t ^me@cs\.hmc\.edu$' 'my_hdr From: Mutt-ng User &#60;user@host&#62;'</screen>
+          
+          which would execute the given command when sending mail to
+          <emphasis>me@cs.hmc.edu</emphasis>.
+        </para>
+        
+        <para>
+          However, it is not required that you write the pattern to match using
+          the
+          full searching language.  You can still specify a simple <emphasis>
+            regular
+            expression
+          </emphasis>
+          like the other hooks, in which case Mutt-ng will translate your
+          pattern into the full language, using the translation specified by
+          the 
+          <link linkend="default-hook">default-hook</link> variable.  The
+          pattern is translated at the time the hook is declared, so the value
+          of 
+          <link linkend="default-hook">default-hook</link> that is in effect
+          at that time will be used.
+        </para>
+        
+        <para>
+          
+        </para>
+        
+      </sect2>
+      
+    </sect1>
+    
+    <sect1 id="sidebar">
+      <title>Using the sidebar  </title>
+      
+      <para>
+        The sidebar, a feature specific to Mutt-ng, allows you to use a mailbox
+        listing 
+        which looks very similar to the ones you probably know from GUI mail
+        clients.
+        The sidebar lists all specified mailboxes, shows the number in each
+        and highlights the ones with new email
+        Use the following configuration commands:
+        
+        <screen>
+set sidebar_visible="yes"
+set sidebar_width=25</screen>
+        
+      </para>
+      
+      <para>
+        If you want to specify the mailboxes you can do so with:
+        
+        <screen>
+set mbox='=INBOX'
+mailboxes INBOX \
+MBOX1 \
+MBOX2 \
+...</screen>
+        
+      </para>
+      
+      <para>
+        You can also specify the colors for mailboxes with new mails by using:
+        
+        <screen>
+color sidebar_new red black
+color sidebar white black</screen>
+        
+      </para>
+      
+      <para>
+        The available functions are:
+
+        <table>
+          <title>Default Sidebar Function Bindings</title>
+          <tgroup cols="3" align="left" colsep="1" rowsep="1">
+          <thead>
+            <row>
+              <entry>Key</entry>
+              <entry>Function</entry>
+              <entry>Description</entry>
+            </row>
+          </thead>
+          <tbody>
+            <row><entry><code>none</code></entry><entry><code>sidebar-scroll-up    </code></entry><entry>Scrolls the mailbox list up 1 page</entry></row>
+            <row><entry><code>none</code></entry><entry><code>sidebar-scroll-down </code></entry><entry>Scrolls the mailbox list down 1 page</entry></row>
+            <row><entry><code>none</code></entry><entry><code>sidebar-next       </code></entry><entry>Highlights the next mailbox</entry></row>
+            <row><entry><code>none</code></entry><entry><code>sidebar-next-new  </code></entry><entry>Highlights the next mailbox with new mail</entry></row>
+            <row><entry><code>none</code></entry><entry><code>sidebar-previous  </code></entry><entry>Highlights the previous mailbox</entry></row>
+            <row><entry><code>none</code></entry><entry><code>sidebar-open      </code></entry><entry>Opens the currently highlighted mailbox</entry></row>
+          </tbody>
+        </tgroup>
+      </table>
+
+      </para>
+      
+      <para>
+        Reasonable key bindings look e.g. like this:
+        
+        <screen>
+bind index \Cp sidebar-prev
+bind index \Cn sidebar-next
+bind index \Cb sidebar-open
+bind pager \Cp sidebar-prev
+bind pager \Cn sidebar-next
+bind pager \Cb sidebar-open
 
-<screen>
+macro index B ':toggle sidebar_visible^M'
+macro pager B ':toggle sidebar_visible^M'</screen>
+        
+      </para>
+      
+      <para>
+        You can then go up and down by pressing Ctrl-P and Ctrl-N, and 
+        switch on and off the sidebar simply by pressing 'B'.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="query">
+      <title>External Address Queries  </title>
+      
+      <para>
+        Mutt-ng supports connecting to external directory databases such as
+        LDAP,
+        ph/qi, bbdb, or NIS through a wrapper script which connects to mutt
+        using a simple interface.  Using the <link linkend="query-command">
+          query-command
+        </link>
+        variable, you specify the wrapper
+        command to use.  For example:
+      </para>
+      
+      <para>
+        
+        <screen>
+set query_command = "mutt_ldap_query.pl '%s'"</screen>
+        
+      </para>
+      
+      <para>
+        The wrapper script should accept the query on the command-line.  It
+        should return a one line message, then each matching response on a
+        single line, each line containing a tab separated address then name
+        thensome other optional information.  On error, or if there are no
+        matching
+        addresses, return a non-zero exit code and a one line error message.
+      </para>
+      
+      <para>
+        An example multiple response output:
+        
+        <screen>
+Searching database ... 20 entries ... 3 matching:
+me@cs.hmc.edu           Michael Elkins  mutt dude
+blong@fiction.net       Brandon Long    mutt and more
+roessler@guug.de        Thomas Roessler mutt pgp</screen>
+        
+      </para>
+      
+      <para>
+        There are two mechanisms for accessing the query function of mutt.  One
+        is to do a query from the index menu using the query function (default:
+        Q).
+        This will prompt for a query, then bring up the query menu which will
+        list the matching responses.  From the query menu, you can select
+        addresses to create aliases, or to mail.  You can tag multiple
+        addressesto mail, start a new query, or have a new query appended to
+        the current
+        responses.
+      </para>
+      
+      <para>
+        The other mechanism for accessing the query function is for address
+        completion, similar to the alias completion.  In any prompt for address
+        entry, you can use the complete-query function (default: &circ;T) to
+        run a
+        query based on the current address you have typed.  Like aliases, mutt
+        will look for what you have typed back to the last space or comma.  If
+        there is a single response for that query, mutt will expand the address
+        in place.  If there are multiple responses, mutt will activate the
+        querymenu.  At the query menu, you can select one or more addresses to
+        be
+        added to the prompt.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1>
+      <title>Mailbox Formats  </title>
+      
+      <para>
+        Mutt-ng supports reading and writing of four different mailbox formats:
+        mbox, MMDF, MH and Maildir.  The mailbox type is autodetected, so there
+        is no need to use a flag for different mailbox types.  When creating
+        newmailboxes, Mutt-ng uses the default specified with the <link linkend="mbox-type">
+          mbox-type
+        </link>
+        variable.
+      </para>
+      
+      <para>
+        <emphasis role="bold">mbox</emphasis>.  This is the most widely used
+        mailbox format for UNIX.  All
+        messages are stored in a single file.  Each message has a line of the
+        form:
+      </para>
+      
+      <para>
+        
+        <screen>
+From me@cs.hmc.edu Fri, 11 Apr 1997 11:44:56 PST</screen>
+        
+      </para>
+      
+      <para>
+        to denote the start of a new message (this is often referred to as the
+        ``From&lowbar;'' line).
+      </para>
+      
+      <para>
+        <emphasis role="bold">MMDF</emphasis>.  This is a variant of the <emphasis>
+          mbox
+        </emphasis>
+        format.  Each message is
+        surrounded by lines containing ``&circ;A&circ;A&circ;A&circ;A'' (four
+        control-A's).
+      </para>
+      
+      <para>
+        <emphasis role="bold">MH</emphasis>. A radical departure from <emphasis>
+          mbox
+        </emphasis>
+        and <emphasis>MMDF</emphasis>, a mailbox
+        consists of a directory and each message is stored in a separate file.
+        The filename indicates the message number (however, this is may not
+        correspond to the message number Mutt-ng displays). Deleted messages
+        arerenamed with a comma (,) prepended to the filename. <emphasis role="bold">
+          Note:
+        </emphasis>
+        Mutt
+        detects this type of mailbox by looking for either <literal>
+          .mh&lowbar;sequences
+        </literal>
+        or <literal>.xmhcache</literal> (needed to distinguish normal
+        directories from MH
+        mailboxes).
+      </para>
+      
+      <para>
+        <emphasis role="bold">Maildir</emphasis>.  The newest of the mailbox
+        formats, used by the Qmail MTA (a
+        replacement for sendmail).  Similar to <emphasis>MH</emphasis>, except
+        that it adds three
+        subdirectories of the mailbox: <emphasis>tmp</emphasis>, <emphasis>new</emphasis> and <emphasis>
+          cur
+        </emphasis>
+        .Filenames
+        for the messages are chosen in such a way they are unique, even when
+        twoprograms are writing the mailbox over NFS, which means that no file
+        locking
+        is needed.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="shortcuts">
+      <title>Mailbox Shortcuts  </title>
+      
+      <para>
+        There are a number of built in shortcuts which refer to specific
+        mailboxes.
+        These shortcuts can be used anywhere you are prompted for a file or
+        mailbox
+        path.
+      </para>
+      
+      <para>
+        
+        <itemizedlist>
+          <listitem>
+            
+            <para>
+              ! -- refers to your <link linkend="spoolfile">spoolfile</link>
+              (incoming) mailbox
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              &gt; -- refers to your <link linkend="mbox">mbox</link> file
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              &lt; -- refers to your <link linkend="record">record</link> file
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              &circ; -- refers to the current mailbox
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              - or !! -- refers to the file you've last visited
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              &tilde; -- refers to your home directory
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              = or + -- refers to your <link linkend="folder">folder</link>
+              directory
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              @<emphasis>alias</emphasis> -- refers to the <link linkend="save-hook">
+                save-hook
+              </link>
+              as determined by the address of the alias
+            </para>
+          </listitem>
+          
+        </itemizedlist>
+        
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="using-lists">
+      <title>Handling Mailing Lists  </title>
+      
+      <para>
+        Mutt-ng has a few configuration options that make dealing with large
+        amounts of mail easier.  The first thing you must do is to let Mutt
+        know what addresses you consider to be mailing lists (technically
+        this does not have to be a mailing list, but that is what it is most
+        often used for), and what lists you are subscribed to.  This is
+        accomplished through the use of the <link linkend="lists">lists</link>
+        commands in your muttrc.
+      </para>
+      
+      <para>
+        Now that Mutt-ng knows what your mailing lists are, it can do several
+        things, the first of which is the ability to show the name of a list
+        through which you received a message (i.e., of a subscribed list) in
+        the <emphasis>index</emphasis> menu display.  This is useful to
+        distinguish between
+        personal and list mail in the same mailbox.  In the <link linkend="index-format">
+          index-format
+        </link>
+        variable, the escape ``&percnt;L''
+        will return the string ``To &lt;list&gt;'' when ``list'' appears in the
+        ``To'' field, and ``Cc &lt;list&gt;'' when it appears in the ``Cc''
+        field (otherwise it returns the name of the author).
+      </para>
+      
+      <para>
+        Often times the ``To'' and ``Cc'' fields in mailing list messages
+        tend to get quite large. Most people do not bother to remove the
+        author of the message they are reply to from the list, resulting in
+        two or more copies being sent to that person.  The ``list-reply''
+        function, which by default is bound to ``L'' in the <emphasis>index</emphasis> menu
+        and <emphasis>pager</emphasis>, helps reduce the clutter by only
+        replying to the
+        known mailing list addresses instead of all recipients (except as
+        specified by <literal>Mail-Followup-To</literal>, see below).
+      </para>
+      
+      <para>
+        Mutt-ng also supports the <literal>Mail-Followup-To</literal> header. 
+        When you send
+        a message to a list of recipients which includes one or several
+        subscribed mailing lists, and if the <link linkend="followup-to">
+          followup-to
+        </link>
+        option is set, mutt will generate
+        a Mail-Followup-To header which contains all the recipients to whom
+        you send this message, but not your address. This indicates that
+        group-replies or list-replies (also known as ``followups'') to this
+        message should only be sent to the original recipients of the
+        message, and not separately to you - you'll receive your copy through
+        one of the mailing lists you are subscribed to.
+      </para>
+      
+      <para>
+        Conversely, when group-replying or list-replying to a message which
+        has a <literal>Mail-Followup-To</literal> header, mutt will respect
+        this header if
+        the <link linkend="honor-followup-to">honor-followup-to</link>
+        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 <literal>Mail-Followup-To</literal>.
+      </para>
+      
+      <para>
+        Note that, when header editing is enabled, you can create a
+        <literal>Mail-Followup-To</literal> header manually.  Mutt-ng will only
+        auto-generate
+        this header if it doesn't exist when you send the message.
+      </para>
+      
+      <para>
+        The other method some mailing list admins use is to generate a
+        ``Reply-To'' field which points back to the mailing list address rather
+        than the author of the message.  This can create problems when trying
+        to reply directly to the author in private, since most mail clients
+        will automatically reply to the address given in the ``Reply-To''
+        field.  Mutt-ng uses the <link linkend="reply-to">reply-to</link>
+        variable to help decide which address to use.  If set to <emphasis>
+          ask-yes
+        </emphasis>
+        or
+        <emphasis>ask-no</emphasis>, you will be
+        prompted as to whether or not you would like to use the address given
+        inthe ``Reply-To'' field, or reply directly to the address given in the
+        ``From'' field.  When set to <emphasis>yes</emphasis>, the ``Reply-To''
+        field will be used when
+        present.
+      </para>
+      
+      <para>
+        The ``X-Label:'' header field can be used to further identify mailing
+        lists or list subject matter (or just to annotate messages
+        individually).  The <link linkend="index-format">index-format</link>
+        variable's ``&percnt;y'' and
+        ``&percnt;Y'' escapes can be used to expand ``X-Label:'' fields in the
+        index, and Mutt-ng's pattern-matcher can match regular expressions to
+        ``X-Label:'' fields with the ``&tilde;y'' selector.  ``X-Label:'' is
+        not a
+        standard message header field, but it can easily be inserted by
+        procmailand other mail filtering agents.
+      </para>
+      
+      <para>
+        Lastly, Mutt-ng has the ability to <link linkend="sort">sort</link> the
+        mailbox into
+        <link linkend="threads">threads</link>.  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 graphically.  If you've
+        ever
+        used a threaded news client, this is the same concept.  It makes
+        dealingwith large volume mailing lists easier because you can easily
+        delete
+        uninteresting threads and quickly find topics of value.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1>
+      <title>Editing threads  </title>
+      
+      <para>
+        Mutt-ng has the ability to dynamically restructure threads that are
+        broken
+        either by misconfigured software or bad behavior from some
+        correspondents. This allows to clean your mailboxes formats) from these
+        annoyances which make it hard to follow a discussion.
+      </para>
+      
+      <sect2>
+        <title>Linking threads</title>
+        
+        <para>
+          Some mailers tend to "forget" to correctly set the "In-Reply-To:" and
+          "References:" headers when replying to a message. This results in
+          broken
+          discussions because Mutt-ng has not enough information to guess the
+          correct
+          threading.
+          You can fix this by tagging the reply, then moving to the parent
+          message
+          and using the ``link-threads'' function (bound to &#38; by default).
+          The
+          reply will then be connected to this "parent" message.
+        </para>
+        
+        <para>
+          You can also connect multiple children at once, tagging them and
+          using the
+          tag-prefix command (';') or the auto&lowbar;tag option.
+        </para>
+        
+      </sect2>
+      
+      <sect2>
+        <title>Breaking threads</title>
+        
+        <para>
+          On mailing lists, some people are in the bad habit of starting a new
+          discussion by hitting "reply" to any message from the list and
+          changing
+          the subject to a totally unrelated one.
+          You can fix such threads by using the ``break-thread'' function
+          (boundby default to &num;), which will turn the subthread starting
+          from the
+          current message into a whole different thread.
+        </para>
+        
+        <para>
+          
+        </para>
+        
+      </sect2>
+      
+    </sect1>
+    
+    <sect1 id="dsn">
+      <title>Delivery Status Notification (DSN) Support  </title>
+      
+      <para>
+        RFC1894 defines a set of MIME content types for relaying information
+        about the status of electronic mail messages.  These can be thought of
+        as
+        ``return receipts.''
+      </para>
+      
+      <para>
+        Users can make use of it in one of the following two ways:
+      </para>
+      
+      <para>
+        
+        <itemizedlist>
+          <listitem>
+            
+            <para>
+              Berkeley sendmail 8.8.x currently has some command line options
+              in which the mail client can make requests as to what type of
+              status
+              messages should be returned.
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              The SMTP support via libESMTP supports it, too.
+            </para>
+          </listitem>
+          
+        </itemizedlist>
+        
+      </para>
+      
+      <para>
+        To support this, there are two variables:
+      </para>
+      
+      <para>
+        
+        <itemizedlist>
+          <listitem>
+            
+            <para>
+              <link linkend="dsn-notify">dsn-notify</link> is used
+              to request receipts for different results (such as failed
+              message,message delivered, etc.).
+              
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <link linkend="dsn-return">dsn-return</link> requests
+              how much of your message should be returned with the receipt
+              (headers or full message).
+              
+            </para>
+          </listitem>
+          
+        </itemizedlist>
+        
+      </para>
+      
+      <para>
+        Please see the reference chapter for possible values.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1>
+      <title>POP3 Support (OPTIONAL)  </title>
+      
+      <para>
+        If Mutt-ng was compiled with POP3 support (by running the <emphasis>
+          configure
+        </emphasis>
+        script with the <emphasis>--enable-pop</emphasis> flag), it has the
+        ability to work
+        with mailboxes located on a remote POP3 server and fetch mail for local
+        browsing.
+      </para>
+      
+      <para>
+        You can access the remote POP3 mailbox by selecting the folder
+        <literal>pop://popserver/</literal>.
+      </para>
+      
+      <para>
+        You can select an alternative port by specifying it with the server,
+        i.e.:
+        <literal>pop://popserver:port/</literal>.
+      </para>
+      
+      <para>
+        You can also specify different username for each folder, i.e.:
+        <literal>pop://username@popserver[:port]/</literal>.
+      </para>
+      
+      <para>
+        Polling for new mail is more expensive over POP3 than locally. For this
+        reason the frequency at which Mutt-ng will check for mail remotely can
+        be
+        controlled by the
+        <link linkend="pop-mail-check">pop-mail-check</link>
+        variable, which defaults to every 60 seconds.
+      </para>
+      
+      <para>
+        If Mutt-ng was compiled with SSL support (by running the <emphasis>
+          configure
+        </emphasis>
+        script with the <emphasis>--with-ssl</emphasis> flag), connections to
+        POP3 servers
+        can be encrypted. This naturally requires that the server supports
+        SSL encrypted connections. To access a folder with POP3/SSL, you should
+        use pops: prefix, ie:
+        <literal>pops://[username@]popserver[:port]/</literal>.
+      </para>
+      
+      <para>
+        Another way to access your POP3 mail is the <emphasis>fetch-mail</emphasis> function
+        (default: G).  It allows to connect to <link linkend="pop-host">
+          pop-host
+        </link>
+        ,fetch all your new mail and place it in the
+        local <link linkend="spoolfile">spoolfile</link>.  After this
+        point, Mutt-ng runs exactly as if the mail had always been local.
+      </para>
+      
+      <para>
+        <emphasis role="bold">Note:</emphasis> If you only need to fetch all
+        messages to local mailbox
+        you should consider using a specialized program, such as
+        <ulink
+          URL="http://www.ccil.org/~esr/fetchmail">fetchmail</ulink>
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1>
+      <title>IMAP Support (OPTIONAL)  </title>
+      
+      <para>
+        If Mutt-ng was compiled with IMAP support (by running the <emphasis>
+          configure
+        </emphasis>
+        script with the <emphasis>--enable-imap</emphasis> flag), it has the
+        ability to work
+        with folders located on a remote IMAP server.
+      </para>
+      
+      <para>
+        You can access the remote inbox by selecting the folder
+        <literal>imap://imapserver/INBOX</literal>, where <literal>imapserver</literal> is the name of the
+        IMAP server and <literal>INBOX</literal> is the special name for your
+        spool mailbox on
+        the IMAP server. If you want to access another mail folder at the IMAP
+        server, you should use <literal>imap://imapserver/path/to/folder</literal> where
+        <literal>path/to/folder</literal> is the path of the folder you want to
+        access.
+      </para>
+      
+      <para>
+        You can select an alternative port by specifying it with the server,
+        i.e.:
+        <literal>imap://imapserver:port/INBOX</literal>.
+      </para>
+      
+      <para>
+        You can also specify different username for each folder, i.e.:
+        <literal>imap://username@imapserver[:port]/INBOX</literal>.
+      </para>
+      
+      <para>
+        If Mutt-ng was compiled with SSL support (by running the <emphasis>
+          configure
+        </emphasis>
+        script with the <emphasis>--with-ssl</emphasis> flag), connections to
+        IMAP servers
+        can be encrypted. This naturally requires that the server supports
+        SSL encrypted connections. To access a folder with IMAP/SSL, you should
+        use <literal>imaps://[username@]imapserver[:port]/path/to/folder</literal> as your 
+        folder path.
+      </para>
+      
+      <para>
+        Pine-compatible notation is also supported, i.e.
+        <literal>&lcub;[username@]imapserver[:port][/ssl]&rcub;path/to/folder</literal>
+      </para>
+      
+      <para>
+        Note that not all servers use / as the hierarchy separator.  Mutt-ng
+        should
+        correctly notice which separator is being used by the server and
+        convertpaths accordingly.
+      </para>
+      
+      <para>
+        When browsing folders on an IMAP server, you can toggle whether to look
+        at only the folders you are subscribed to, or all folders with the
+        <emphasis>toggle-subscribed</emphasis> command.  See also the 
+        <link linkend="imap-list-subscribed">imap-list-subscribed</link>
+        variable.
+      </para>
+      
+      <para>
+        Polling for new mail on an IMAP server can cause noticeable delays. So,
+        you'll
+        want to carefully tune the
+        <link linkend="imap-mail-check">imap-mail-check</link>
+        and
+        <link linkend="timeout">timeout</link>
+        variables.
+      </para>
+      
+      <para>
+        Note that if you are using mbox as the mail store on UW servers prior
+        tov12.250, the server has been reported to disconnect a client if
+        another client
+        selects the same folder.
+      </para>
+      
+      <sect2>
+        <title>The Folder Browser</title>
+        
+        <para>
+          As of version 1.2, mutt supports browsing mailboxes on an IMAP
+          server. This is mostly the same as the local file browser, with the
+          following differences:
+          
+          <itemizedlist>
+            <listitem>
+              
+              <para>
+                Instead of file permissions, mutt displays the string "IMAP",
+                possibly followed by the symbol "+", indicating
+                that the entry contains both messages and subfolders. On
+                Cyrus-like servers folders will often contain both messages and
+                subfolders. 
+              </para>
+            </listitem>
+            <listitem>
+              
+              <para>
+                For the case where an entry can contain both messages and
+                subfolders, the selection key (bound to <literal>enter</literal> by default)
+                will choose to descend into the subfolder view. If you wish to
+                view
+                the messages in that folder, you must use <literal>view-file</literal> instead
+                (bound to <literal>space</literal> by default).
+              </para>
+            </listitem>
+            <listitem>
+              
+              <para>
+                You can create, delete and rename mailboxes with the
+                <literal>create-mailbox</literal>, <literal>delete-mailbox</literal>, and
+                <literal>rename-mailbox</literal> commands (default bindings: <literal>
+                  C
+                </literal>
+                ,
+                <literal>d</literal> and <literal>r</literal>, respectively).
+                You may also
+                <literal>subscribe</literal> and <literal>unsubscribe</literal>
+                to mailboxes (normally
+                these are bound to <literal>s</literal> and <literal>u</literal>, respectively).
+              </para>
+            </listitem>
+            
+          </itemizedlist>
+          
+        </para>
+        
+      </sect2>
+      
+      <sect2>
+        <title>Authentication</title>
+        
+        <para>
+          Mutt-ng supports four authentication methods with IMAP servers: SASL,
+          GSSAPI, CRAM-MD5, and LOGIN (there is a patch by Grant Edwards to add
+          NTLM authentication for you poor exchange users out there, but it has
+          yet to be integrated into the main tree). There is also support for
+          the pseudo-protocol ANONYMOUS, which allows you to log in to a public
+          IMAP server without having an account. To use ANONYMOUS, simply make
+          your username blank or "anonymous".
+        </para>
+        
+        <para>
+          SASL is a special super-authenticator, which selects among several
+          protocols
+          (including GSSAPI, CRAM-MD5, ANONYMOUS, and DIGEST-MD5) the most
+          secure
+          method available on your host and the server. Using some of these
+          methods
+          (including DIGEST-MD5 and possibly GSSAPI), your entire session will
+          be
+          encrypted and invisible to those teeming network snoops. It is the
+          best
+          option if you have it. To use it, you must have the Cyrus SASL
+          libraryinstalled on your system and compile mutt with the <emphasis>
+            --with-sasl
+          </emphasis>
+          flag.
+        </para>
+        
+        <para>
+          Mutt-ng will try whichever methods are compiled in and available on
+          the server,
+          in the following order: SASL, ANONYMOUS, GSSAPI, CRAM-MD5, LOGIN.
+        </para>
+        
+        <para>
+          There are a few variables which control authentication: 
+          
+          <itemizedlist>
+            <listitem>
+              
+              <para>
+                <link linkend="imap-user">imap-user</link> - controls
+                the username under which you request authentication on the IMAP
+                server,
+                for all authenticators. This is overridden by an explicit
+                username in
+                the mailbox path (i.e. by using a mailbox name of the form
+                <literal>&lcub;user@host&rcub;</literal>).
+              </para>
+            </listitem>
+            <listitem>
+              
+              <para>
+                <link linkend="imap-pass">imap-pass</link> - a
+                password which you may preset, used by all authentication
+                methods where
+                a password is needed.
+              </para>
+            </listitem>
+            <listitem>
+              
+              <para>
+                <link linkend="imap-authenticators">imap-authenticators</link>
+                - a colon-delimited list of IMAP
+                authentication methods to try, in the order you wish to try
+                them. If
+                specified, this overrides mutt's default (attempt everything,
+                in the order
+                listed above).
+              </para>
+            </listitem>
+            
+          </itemizedlist>
+          
+        </para>
+        
+        <para>
+          
+        </para>
+        
+      </sect2>
+      
+    </sect1>
+    
+    <sect1 id="reading-news">
+      <title>NNTP Support (OPTIONAL)  </title>
+      
+      <para>
+        If compiled with ``--enable-nntp'' option, Mutt-ng can read news from
+        a newsserver via NNTP.  You can open a newsgroup with the
+        ``change-newsgroup'' function from the index/pager which is by default
+        bound to <literal>i</literal>.
+      </para>
+      
+      <para>
+        The Default newsserver can be obtained from the
+        <literal>&dollar;NNTPSERVER</literal> environment variable. Like other
+        news readers,
+        info about subscribed newsgroups is saved in a file as specified by the
+        <link linkend="nntp-newsrc">nntp-newsrc</link> variable.
+        Article headers are cached and can be loaded from a file when a
+        newsgroup is entered instead loading from newsserver; currently, this
+        caching mechanism still is different from the header caching for
+        maildir/IMAP.
+      </para>
+      
+      <sect2>
+        <title>Again: Scoring    </title>
+        
+        <para>
+          Especially for Usenet, people often ask for advanced filtering
+          and scoring functionality. Of course, mutt-ng has scoring and
+          allows a killfile, too. How to use a killfile has been discussed
+          in <link linkend="score-command">score-command</link>.
+        </para>
+        
+        <para>
+          What has not been discusses in detail is mutt-ng's built-in
+          realname filter. For may newsreaders including those for
+          ``advanced users'' like <emphasis>slrn</emphasis> or <emphasis>tin</emphasis>, there are frequent
+          request for such functionality. The solutions offered often are
+          complicated regular expressions.
+        </para>
+        
+        <para>
+          In mutt-ng this is as easy as
+        </para>
+        
+        <para>
+          
+          <screen>
+score ~* =42</screen>
+          
+        </para>
+        
+        <para>
+          This tells mutt-ng to apply a score of 42 to all messages whose
+          sender specified a valid realname and a valid email address. Using
+        </para>
+        
+        <para>
+          
+          <screen>
+score !~* =42</screen>
+          
+        </para>
+        
+        <para>
+          on the contrary applies a score of 42 to all messages <emphasis>not</emphasis>
+          matching those criteria which are very strict:
+        </para>
+        
+        <para>
+          
+          <itemizedlist>
+            <listitem>
+              
+              <para>
+                Email addresses must be valid according to RFC 2822, see
+                <ulink
+                  URL="ftp://ftp.rfc-editor.org/in-notes/rfc2822.txt">&#60;ftp://ftp.rfc-editor.org/in-notes/rfc2822.txt&#62;
+                </ulink>
+              </para>
+            </listitem>
+            <listitem>
+              
+              <para>
+                the name must consist of at least 2 fields whereby a field
+                must not end in a dot. This means that ``Joe User'' and ``Joe
+                A.User'' are valid while ``J. User'' and ``J. A. User'' aren't.
+                
+              </para>
+            </listitem>
+            <listitem>
+              
+              <para>
+                it's assumed that users are interested in reading their
+                own mail and mail from people who they have defined an alias
+                forso that those 2 groups of messages are excluded from the
+                strict
+                rules.
+                
+              </para>
+            </listitem>
+            
+          </itemizedlist>
+          
+        </para>
+        
+        <para>
+          
+        </para>
+        
+        <para>
+          
+        </para>
+        
+      </sect2>
+      
+    </sect1>
+    
+    <sect1>
+      <title>SMTP Support (OPTIONAL)  </title>
+      
+      <para>
+        Mutt-ng can be built using a library called ``libESMTP'' which
+        provides SMTP functionality. When <literal>configure</literal> was
+        called with
+        <literal>--with-libesmtp</literal> or the output <literal>muttng -v</literal> contains
+        <literal>+USE&lowbar;LIBESMTP</literal>, this will be or is the case
+        already. The SMTP
+        support includes support for Delivery Status Notification (see <link linkend="dsn">
+          dsn
+        </link>
+        section) as well as
+        handling the <literal>8BITMIME</literal> flag controlled via <link linkend="use-8bitmime">
+          use-8bitmime
+        </link>
+        .
+      </para>
+      
+      <para>
+        To enable sending mail directly via SMTP without an MTA such as
+        Postfix or SSMTP and the like, simply set the <link linkend="smtp-host">
+          smtp-host
+        </link>
+        variable pointing to your SMTP server.
+      </para>
+      
+      <para>
+        Authentication mechanisms are available via the <link linkend="smtp-user">
+          smtp-user
+        </link>
+        and <link linkend="smtp-pass">smtp-pass</link> variables.
+      </para>
+      
+      <para>
+        Transport Encryption via the StartTLS command is also available. For
+        this to work, first of all Mutt-ng must be built with SSL or GNUTLS.
+        Secondly, the <link linkend="smtp-use-tls">smtp-use-tls</link> variable
+        must be either set
+        to ``enabled'' or ``required.'' In both cases, StartTLS will be used if
+        the server supports it: for the second case, the connection will fail
+        ifit doesn't while switching back to unencrypted communication for the
+        first one.
+      </para>
+      
+      <para>
+        Some mail providers require user's to set a particular envelope
+        sender, i.e. they allow for only one value which may not be what the
+        user wants to send as the <literal>From:</literal> header. In this
+        case, the variable
+        <link linkend="smtp-envelope">smtp-envelope</link> may be used
+        to set the envelope different from the <literal>From:</literal> header.
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="account-hook">
+      <title>Managing multiple IMAP/POP/NNTP accounts (OPTIONAL)  </title>
+      
+      <para>
+        If you happen to have accounts on multiple IMAP and/or POP servers,
+        you may find managing all the authentication settings inconvenient and
+        error-prone.  The account-hook command may help. This hook works like
+        folder-hook but is invoked whenever you access a remote mailbox
+        (including inside the folder browser), not just when you open the
+        mailbox.
+      </para>
+      
+      <para>
+        Some examples:
+      </para>
+      
+      <para>
+        
+        <screen>
 account-hook . 'unset imap_user; unset imap_pass; unset tunnel'
 account-hook imap://host1/ 'set imap_user=me1 imap_pass=foo'
-account-hook imap://host2/ 'set tunnel="ssh host2 /usr/libexec/imapd"'
-</screen>
-
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="urlview">
-<title>Start a WWW Browser on URLs (EXTERNAL)  </title>
-
-<para>
-If a message contains URLs (<emphasis>unified resource locator</emphasis> = address in the
-WWW space like <emphasis>http://www.mutt.org/</emphasis>), it is efficient to get
-a menu with all the URLs and start a WWW browser on one of them.  This
-functionality is provided by the external urlview program which can be
-retrieved at <ulink
-URL="ftp://ftp.mutt.org/mutt/contrib/"
->ftp://ftp.mutt.org/mutt/contrib/</ulink
-> and the configuration commands:
-
-<screen>
+account-hook imap://host2/ 'set tunnel="ssh host2 /usr/libexec/imapd"'</screen>
+        
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="urlview">
+      <title>Start a WWW Browser on URLs (EXTERNAL)  </title>
+      
+      <para>
+        If a message contains URLs (<emphasis>unified resource locator</emphasis> = address in the
+        WWW space like <emphasis>http://www.mutt.org/</emphasis>), it is
+        efficient to get
+        a menu with all the URLs and start a WWW browser on one of them.  This
+        functionality is provided by the external urlview program which can be
+        retrieved at <ulink URL="ftp://ftp.mutt.org/mutt/contrib/">ftp://ftp.mutt.org/mutt/contrib/</ulink>
+>
+        and the configuration commands:
+        
+        <screen>
 macro index \cb |urlview\n
-macro pager \cb |urlview\n
-</screen>
-
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1>
-<title>Compressed folders Support (OPTIONAL)  </title>
-
-<para>
-If Mutt-ng was compiled with compressed folders support (by running the
-<emphasis>configure</emphasis> script with the <emphasis>--enable-compressed</emphasis> flag), Mutt
-can open folders stored in an arbitrary format, provided that the user
-has a script to convert from/to this format to one of the accepted.
-</para>
-
-<para>
-The most common use is to open compressed archived folders e.g. with
-gzip.
-</para>
-
-<para>
-In addition, the user can provide a script that gets a folder in an
-accepted format and appends its context to the folder in the
-user-defined format, which may be faster than converting the entire
-folder to the accepted format, appending to it and converting back to
-the user-defined format.
-</para>
-
-<para>
-There are three hooks defined (<link linkend="open-hook">open-hook</link>,
-<link linkend="close-hook">close-hook</link> and <link linkend="append-hook">append-hook</link>) which define commands to uncompress and compress
-a folder and to append messages to an existing compressed folder 
-respectively.
-</para>
-
-<para>
-For example:
-</para>
-
-<para>
-
-<screen>
+macro pager \cb |urlview\n</screen>
+        
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1>
+      <title>Compressed folders Support (OPTIONAL)  </title>
+      
+      <para>
+        If Mutt-ng was compiled with compressed folders support (by running the
+        <emphasis>configure</emphasis> script with the <emphasis>
+          --enable-compressed
+        </emphasis>
+        flag), Mutt
+        can open folders stored in an arbitrary format, provided that the user
+        has a script to convert from/to this format to one of the accepted.
+      </para>
+      
+      <para>
+        The most common use is to open compressed archived folders e.g. with
+        gzip.
+      </para>
+      
+      <para>
+        In addition, the user can provide a script that gets a folder in an
+        accepted format and appends its context to the folder in the
+        user-defined format, which may be faster than converting the entire
+        folder to the accepted format, appending to it and converting back to
+        the user-defined format.
+      </para>
+      
+      <para>
+        There are three hooks defined (<link linkend="open-hook">open-hook</link>,
+        <link linkend="close-hook">close-hook</link> and <link linkend="append-hook">
+          append-hook
+        </link>
+        )which define commands to uncompress and compress
+        a folder and to append messages to an existing compressed folder 
+        respectively.
+      </para>
+      
+      <para>
+        For example:
+      </para>
+      
+      <para>
+        
+        <screen>
 open-hook \\.gz$ "gzip -cd %f &#62; %t" 
 close-hook \\.gz$ "gzip -c %t &#62; %f"
-append-hook \\.gz$ "gzip -c %t &#62;&#62; %f" 
-</screen>
-
-</para>
-
-<para>
-You do not have to specify all of the commands. If you omit <link linkend="append-hook">append-hook</link>, the folder will be open and
-closed again each time you will add to it. If you omit <link linkend="close-hook">close-hook</link> (or give empty command) , the
-folder will be open in the  mode. If you specify <link linkend="append-hook">append-hook</link> though you'll be able to append
-to the folder.
-</para>
-
-<para>
-Note that Mutt-ng will only try to use hooks if the file is not in one of
-the accepted formats. In particular, if the file is empty, mutt
-supposes it is not compressed. This is important because it allows the
-use of programs that do not have well defined extensions. Just use
-&quot;.&quot; as a regexp. But this may be surprising if your
-compressing script produces empty files. In this situation, unset <link linkend="save-empty">save-empty</link>, so that the compressed file
-will be removed if you delete all of the messages.
-</para>
-
-<sect2 id="open-hook">
-<title>Open a compressed mailbox for reading</title>
-
-<para>
-Usage: <literal>open-hook</literal> <emphasis>regexp</emphasis> &quot;<emphasis>command</emphasis>&quot;
-</para>
-
-<para>
-The <emphasis>command</emphasis> is the command that can be used for opening the
-folders whose names match <emphasis>regexp</emphasis>.
-</para>
-
-<para>
-The <emphasis>command</emphasis> string is the printf-like format string, and it
-should accept two parameters: &percnt;f, which is replaced with the
-(compressed) folder name, and &percnt;t which is replaced with the
-name of the temporary folder to which to write.
-</para>
-
-<para>
-&percnt;f and &percnt;t can be repeated any number of times in the
-command string, and all of the entries are replaced with the
-appropriate folder name. In addition, &percnt;&percnt; is replaced by
-&percnt;, as in printf, and any other &percnt;anything is left as is.
-</para>
-
-<para>
-The <emphasis>command</emphasis> should <emphasis role="bold">not</emphasis> remove the original compressed file.
-The <emphasis>command</emphasis> should return non-zero exit status if it fails, so
-mutt knows something's wrong.
-</para>
-
-<para>
-Example:
-</para>
-
-<para>
-
-<screen>
+append-hook \\.gz$ "gzip -c %t &#62;&#62; %f" </screen>
+        
+      </para>
+      
+      <para>
+        You do not have to specify all of the commands. If you omit <link linkend="append-hook">
+          append-hook
+        </link>
+        ,the folder will be open and
+        closed again each time you will add to it. If you omit <link linkend="close-hook">
+          close-hook
+        </link>
+        (or give empty command) , the
+        folder will be open in the  mode. If you specify <link linkend="append-hook">
+          append-hook
+        </link>
+        though you'll be able to append
+        to the folder.
+      </para>
+      
+      <para>
+        Note that Mutt-ng will only try to use hooks if the file is not in one
+        of
+        the accepted formats. In particular, if the file is empty, mutt
+        supposes it is not compressed. This is important because it allows the
+        use of programs that do not have well defined extensions. Just use
+        &quot;.&quot; as a regexp. But this may be surprising if your
+        compressing script produces empty files. In this situation, unset <link linkend="save-empty">
+          save-empty
+        </link>
+        ,so that the compressed file
+        will be removed if you delete all of the messages.
+      </para>
+      
+      <sect2 id="open-hook">
+        <title>Open a compressed mailbox for reading</title>
+        
+        <para>
+          Usage: <literal>open-hook</literal> <emphasis>regexp</emphasis>
+          &quot;<emphasis>command</emphasis>&quot;
+        </para>
+        
+        <para>
+          The <emphasis>command</emphasis> is the command that can be used for
+          opening the
+          folders whose names match <emphasis>regexp</emphasis>.
+        </para>
+        
+        <para>
+          The <emphasis>command</emphasis> string is the printf-like format
+          string, and it
+          should accept two parameters: &percnt;f, which is replaced with the
+          (compressed) folder name, and &percnt;t which is replaced with the
+          name of the temporary folder to which to write.
+        </para>
+        
+        <para>
+          &percnt;f and &percnt;t can be repeated any number of times in the
+          command string, and all of the entries are replaced with the
+          appropriate folder name. In addition, &percnt;&percnt; is replaced by
+          &percnt;, as in printf, and any other &percnt;anything is left as is.
+        </para>
+        
+        <para>
+          The <emphasis>command</emphasis> should <emphasis role="bold">not</emphasis> remove the original compressed file.
+          The <emphasis>command</emphasis> should return non-zero exit status
+          if it fails, so
+          mutt knows something's wrong.
+        </para>
+        
+        <para>
+          Example:
+        </para>
+        
+        <para>
+          
+          <screen>
 open-hook \\.gz$ "gzip -cd %f &#62; %t" 
 </screen>
-
-</para>
-
-<para>
-If the <emphasis>command</emphasis> is empty, this operation is disabled for this file
-type.
-</para>
-
-</sect2>
-
-<sect2 id="close-hook">
-<title>Write a compressed mailbox</title>
-
-<para>
-Usage: <literal>close-hook</literal> <emphasis>regexp</emphasis> &quot;<emphasis>command</emphasis>&quot;
-</para>
-
-<para>
-This is used to close the folder that was open with the <link linkend="open-hook">open-hook</link> command after some changes were made to it.
-</para>
-
-<para>
-The <emphasis>command</emphasis> string is the command that can be used for closing the
-folders whose names match <emphasis>regexp</emphasis>. It has the same format as in 
-the <link linkend="open-hook">open-hook</link> command. Temporary folder
-in this case is the folder previously produced by the &#60;<link linkend="open-hook">open-hook</link> command.
-</para>
-
-<para>
-The <emphasis>command</emphasis> should <emphasis role="bold">not</emphasis> remove the decompressed file. The
-<emphasis>command</emphasis> should return non-zero exit status if it fails, so mutt
-knows something's wrong.
-</para>
-
-<para>
-Example:
-</para>
-
-<para>
-
-<screen>
-close-hook \\.gz$ "gzip -c %t &#62; %f"
-</screen>
-
-</para>
-
-<para>
-If the <emphasis>command</emphasis> is empty, this operation is disabled for this file
-type, and the file can only be open in the readonly mode.
-</para>
-
-<para>
-<link linkend="close-hook">close-hook</link> is not called when you exit
-from the folder if the folder was not changed.
-</para>
-
-</sect2>
-
-<sect2 id="append-hook">
-<title>Append a message to a compressed mailbox</title>
-
-<para>
-Usage: <literal>append-hook</literal> <emphasis>regexp</emphasis> &quot;<emphasis>command</emphasis>&quot;
-</para>
-
-<para>
-This command is used for saving to an existing compressed folder.
-The <emphasis>command</emphasis> is the command that can be used for appending to the
-folders whose names match <emphasis>regexp</emphasis>. It has the same format as in 
-the <link linkend="open-hook">open-hook</link> command.
-The temporary folder in this case contains the messages that are being
-appended. 
-</para>
-
-<para>
-The <emphasis>command</emphasis> should <emphasis role="bold">not</emphasis> remove the decompressed file. The
-<emphasis>command</emphasis> should return non-zero exit status if it fails, so mutt
-knows something's wrong.
-</para>
-
-<para>
-Example:
-</para>
-
-<para>
-
-<screen>
-append-hook \\.gz$ "gzip -c %t &#62;&#62; %f" 
-</screen>
-
-</para>
-
-<para>
-When <link linkend="append-hook">append-hook</link> is used, the folder is
-not opened, which saves time, but this means that we can not find out
-what the folder type is. Thus the default (<link linkend="mbox-type">mbox-type</link>) type is always supposed (i.e.
-this is the format used for the temporary folder).
-</para>
-
-<para>
-If the file does not exist when you save to it, <link linkend="close-hook">close-hook</link> is called, and not <link linkend="append-hook">append-hook</link>. <link linkend="append-hook">append-hook</link> is only
-for appending to existing folders.
-</para>
-
-<para>
-If the <emphasis>command</emphasis> is empty, this operation is disabled for this file
-type. In this case, the folder will be open and closed again (using
-<link linkend="open-hook">open-hook</link> and <link linkend="close-hook">close-hook</link>respectively) each time you will add to it.
-</para>
-
-</sect2>
-
-<sect2>
-<title>Encrypted folders</title>
-
-<para>
-The compressed folders support can also be used to handle encrypted
-folders. If you want to encrypt a folder with PGP, you may want to use
-the following hooks:
-</para>
-
-<para>
-
-<screen>
+          
+        </para>
+        
+        <para>
+          If the <emphasis>command</emphasis> is empty, this operation is
+          disabled for this file
+          type.
+        </para>
+        
+      </sect2>
+      
+      <sect2 id="close-hook">
+        <title>Write a compressed mailbox</title>
+        
+        <para>
+          Usage: <literal>close-hook</literal> <emphasis>regexp</emphasis>
+          &quot;<emphasis>command</emphasis>&quot;
+        </para>
+        
+        <para>
+          This is used to close the folder that was open with the <link linkend="open-hook">
+            open-hook
+          </link>
+          command after some changes were made to it.
+        </para>
+        
+        <para>
+          The <emphasis>command</emphasis> string is the command that can be
+          used for closing the
+          folders whose names match <emphasis>regexp</emphasis>. It has the
+          same format as in 
+          the <link linkend="open-hook">open-hook</link> command. Temporary
+          folder
+          in this case is the folder previously produced by the &#60;<link linkend="open-hook">
+            open-hook
+          </link>
+          command.
+        </para>
+        
+        <para>
+          The <emphasis>command</emphasis> should <emphasis role="bold">not</emphasis> remove the decompressed file. The
+          <emphasis>command</emphasis> should return non-zero exit status if it
+          fails, so mutt
+          knows something's wrong.
+        </para>
+        
+        <para>
+          Example:
+        </para>
+        
+        <para>
+          
+          <screen>
+close-hook \\.gz$ "gzip -c %t &#62; %f"</screen>
+          
+        </para>
+        
+        <para>
+          If the <emphasis>command</emphasis> is empty, this operation is
+          disabled for this file
+          type, and the file can only be open in the readonly mode.
+        </para>
+        
+        <para>
+          <link linkend="close-hook">close-hook</link> is not called when you
+          exit
+          from the folder if the folder was not changed.
+        </para>
+        
+      </sect2>
+      
+      <sect2 id="append-hook">
+        <title>Append a message to a compressed mailbox</title>
+        
+        <para>
+          Usage: <literal>append-hook</literal> <emphasis>regexp</emphasis>
+          &quot;<emphasis>command</emphasis>&quot;
+        </para>
+        
+        <para>
+          This command is used for saving to an existing compressed folder.
+          The <emphasis>command</emphasis> is the command that can be used for
+          appending to the
+          folders whose names match <emphasis>regexp</emphasis>. It has the
+          same format as in 
+          the <link linkend="open-hook">open-hook</link> command.
+          The temporary folder in this case contains the messages that are
+          beingappended. 
+        </para>
+        
+        <para>
+          The <emphasis>command</emphasis> should <emphasis role="bold">not</emphasis> remove the decompressed file. The
+          <emphasis>command</emphasis> should return non-zero exit status if it
+          fails, so mutt
+          knows something's wrong.
+        </para>
+        
+        <para>
+          Example:
+        </para>
+        
+        <para>
+          
+          <screen>
+append-hook \\.gz$ "gzip -c %t &#62;&#62; %f" </screen>
+          
+        </para>
+        
+        <para>
+          When <link linkend="append-hook">append-hook</link> is used, the
+          folder is
+          not opened, which saves time, but this means that we can not find out
+          what the folder type is. Thus the default (<link linkend="mbox-type">
+            mbox-type
+          </link>
+          )type is always supposed (i.e.
+          this is the format used for the temporary folder).
+        </para>
+        
+        <para>
+          If the file does not exist when you save to it, <link linkend="close-hook">
+            close-hook
+          </link>
+          is called, and not <link linkend="append-hook">append-hook</link>. <link linkend="append-hook">
+            append-hook
+          </link>
+          is only
+          for appending to existing folders.
+        </para>
+        
+        <para>
+          If the <emphasis>command</emphasis> is empty, this operation is
+          disabled for this file
+          type. In this case, the folder will be open and closed again (using
+          <link linkend="open-hook">open-hook</link> and <link linkend="close-hook">
+            close-hook
+          </link>
+          respectively) each time you will add to it.
+        </para>
+        
+      </sect2>
+      
+      <sect2>
+        <title>Encrypted folders</title>
+        
+        <para>
+          The compressed folders support can also be used to handle encrypted
+          folders. If you want to encrypt a folder with PGP, you may want to
+          usethe following hooks:
+        </para>
+        
+        <para>
+          
+          <screen>
 open-hook  \\.pgp$ "pgp -f &#60; %f &#62; %t"
 close-hook \\.pgp$ "pgp -fe YourPgpUserIdOrKeyId &#60; %t &#62; %f"
 </screen>
-
-</para>
-
-<para>
-Please note, that PGP does not support appending to an encrypted
-folder, so there is no append-hook defined.
-</para>
-
-<para>
-<emphasis role="bold">Note:</emphasis> the folder is temporary stored decrypted in the /tmp
-directory, where it can be read by your system administrator. So think
-about the security aspects of this.
-</para>
-
-<para>
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-</sect1>
-
-</chapter>
-
-<chapter>
-<title>Mutt-ng's MIME Support  </title>
-
-<para>
-Quite a bit of effort has been made to make Mutt-ng the premier text-mode
-MIME MUA.  Every effort has been made to provide the functionality that
-the discerning MIME user requires, and the conformance to the standards
-wherever possible.  When configuring Mutt-ng for MIME, there are two extra
-types of configuration files which Mutt-ng uses.  One is the
-<literal>mime.types</literal> file, which contains the mapping of file extensions to 
-IANA MIME types.  The other is the <literal>mailcap</literal> file, which specifies
-the external commands to use for handling specific MIME types.
-</para>
-
-<sect1>
-<title>Using MIME in Mutt  </title>
-
-<para>
-There are three areas/menus in Mutt-ng which deal with MIME, they are the
-pager (while viewing a message), the attachment menu and the compose
-menu.
-</para>
-
-<sect2>
-<title>Viewing MIME messages in the pager</title>
-
-<para>
-When you select a message from the index and view it in the pager, Mutt
-decodes the message to a text representation.  Mutt-ng internally supports
-a number of MIME types, including <literal>text/plain, text/enriched,
-message/rfc822, and message/news</literal>.  In addition, the export
-controlled version of Mutt-ng recognizes a variety of PGP MIME types,
-including PGP/MIME and application/pgp.
-</para>
-
-<para>
-Mutt-ng will denote attachments with a couple lines describing them.
-These lines are of the form:
-
-<screen>
-[-- Attachment #1: Description --]
-[-- Type: text/plain, Encoding: 7bit, Size: 10000 --]
-</screen>
-
-Where the <literal>Description</literal> is the description or filename given for the
-attachment, and the <literal>Encoding</literal> is one of
-<literal>7bit/8bit/quoted-printable/base64/binary</literal>.
-</para>
-
-<para>
-If Mutt-ng cannot deal with a MIME type, it will display a message like:
-
-<screen>
-[-- image/gif is unsupported (use 'v' to view this part) --]
-</screen>
-
-</para>
-
-</sect2>
-
-<sect2 id="attach-menu">
-<title>The Attachment Menu</title>
-
-<para>
-The default binding for <literal>view-attachments</literal> is `v', which displays the
-attachment menu for a message.  The attachment menu displays a list of
-the attachments in a message.  From the attachment menu, you can save,
-print, pipe, delete, and view attachments.  You can apply these
-operations to a group of attachments at once, by tagging the attachments
-and by using the ``tag-prefix'' operator.  You can also reply to the
-current message from this menu, and only the current attachment (or the
-attachments tagged) will be quoted in your reply.  You can view
-attachments as text, or view them using the mailcap viewer definition.
-</para>
-
-<para>
-Finally, you can apply the usual message-related functions (like 
-<link linkend="resend-message">resend-message</link>, and the reply
-and forward functions) to attachments of type <literal>message/rfc822</literal>.
-</para>
-
-<para>
-See the help on the attachment menu for more information.
-</para>
-
-</sect2>
-
-<sect2 id="compose-menu">
-<title>The Compose Menu</title>
-
-<para>
-The compose menu is the menu you see before you send a message.  It
-allows you to edit the recipient list, the subject, and other aspects
-of your message.  It also contains a list of the attachments of your
-message, including the main body.  From this menu, you can print, copy,
-filter, pipe, edit, compose, review, and rename an attachment or a
-list of tagged attachments.  You can also modifying the attachment
-information, notably the type, encoding and description.
-</para>
-
-<para>
-Attachments appear as follows:
-
-<screen>
--   1 [text/plain, 7bit, 1K]             /tmp/mutt-euler-8082-0 &#60;no description&#62;
-    2 [applica/x-gunzip, base64, 422K]   ~/src/mutt-0.85.tar.gz &#60;no description&#62;
-</screen>
-
-</para>
-
-<para>
-The '-' denotes that Mutt-ng will delete the file after sending (or
-postponing, or canceling) the message.  It can be toggled with the
-<literal>toggle-unlink</literal> command (default: u).  The next field is the MIME
-content-type, and can be changed with the <literal>edit-type</literal> command
-(default: &circ;T).  The next field is the encoding for the attachment,
-which allows a binary message to be encoded for transmission on 7bit
-links.  It can be changed with the <literal>edit-encoding</literal> command
-(default: &circ;E).  The next field is the size of the attachment,
-rounded to kilobytes or megabytes.  The next field is the filename,
-which can be changed with the <literal>rename-file</literal> command (default: R).
-The final field is the description of the attachment, and can be
-changed with the <literal>edit-description</literal> command (default: d).
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-</sect1>
-
-<sect1>
-<title>MIME Type configuration with <literal>mime.types</literal>  </title>
-
-<para>
-When you add an attachment to your mail message, Mutt-ng searches your
-personal mime.types file at <literal>&dollar;&lcub;HOME&rcub;/.mime.types</literal>, and then
-the system mime.types file at <literal>/usr/local/share/mutt/mime.types</literal> or
-<literal>/etc/mime.types</literal>
-</para>
-
-<para>
-The mime.types file consist of lines containing a MIME type and a space
-separated list of extensions.  For example:
-
-<screen>
-application/postscript          ps eps
-application/pgp                 pgp
-audio/x-aiff                    aif aifc aiff
-</screen>
-
-A sample <literal>mime.types</literal> file comes with the Mutt-ng distribution, and
-should contain most of the MIME types you are likely to use.  
-</para>
-
-<para>
-If Mutt-ng can not determine the mime type by the extension of the file you
-attach, it will look at the file.  If the file is free of binary
-information, Mutt-ng will assume that the file is plain text, and mark it
-as <literal>text/plain</literal>.  If the file contains binary information, then Mutt-ng will
-mark it as <literal>application/octet-stream</literal>.  You can change the MIME
-type that Mutt-ng assigns to an attachment by using the <literal>edit-type</literal>
-command from the compose menu (default: &circ;T). The MIME type is actually a
-major mime type followed by the sub-type, separated by a '/'. 6 major
-types: application, text, image, video, audio, and model have been approved
-after various internet discussions. Mutt-ng recognises all of these if the 
-appropriate entry is found in the mime.types file. It also recognises other
-major mime types, such as the chemical type that is widely used in the 
-molecular modelling community to pass molecular data in various forms to 
-various molecular viewers. Non-recognised mime types should only be used 
-if the recipient of the message is likely to be expecting such attachments.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1>
-<title>MIME Viewer configuration with <literal>mailcap</literal>  </title>
-
-<para>
-Mutt-ng supports RFC 1524 MIME Configuration, in particular the Unix
-specific format specified in Appendix A of RFC 1524.  This file format
-is commonly referred to as the mailcap format.  Many MIME compliant
-programs utilize the mailcap format, allowing you to specify handling
-for all MIME types in one place for all programs.  Programs known to
-use this format include Netscape, XMosaic, lynx and metamail.
-</para>
-
-<para>
-In order to handle various MIME types that Mutt-ng can not handle
-internally, Mutt-ng parses a series of external configuration files to
-find an external handler.  The default search string for these files
-is a colon delimited list set to
-
-<screen>
-${HOME}/.mailcap:/usr/local/share/mutt/mailcap:/etc/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap
-</screen>
-
-where <literal>&dollar;HOME</literal> is your home directory.
-</para>
-
-<para>
-In particular, the metamail distribution will install a mailcap file,
-usually as <literal>/usr/local/etc/mailcap</literal>, which contains some baseline
-entries.
-</para>
-
-<sect2>
-<title>The Basics of the mailcap file</title>
-
-<para>
-A mailcap file consists of a series of lines which are comments, blank,
-or definitions.
-</para>
-
-<para>
-A comment line consists of a &num; character followed by anything you want.
-</para>
-
-<para>
-A blank line is blank.
-</para>
-
-<para>
-A definition line consists of a content type, a view command, and any
-number of optional fields.  Each field of a definition line is divided
-by a semicolon ';' character.
-</para>
-
-<para>
-The content type is specified in the MIME standard type/subtype method.
-For example,
-<literal>text/plain, text/html, image/gif, </literal>
-etc.  In addition, the mailcap format includes two formats for
-wildcards, one using the special '*' subtype, the other is the implicit
-wild, where you only include the major type.  For example, <literal>image/*</literal>, or
-<literal>video,</literal> will match all image types and video types,
-respectively.
-</para>
-
-<para>
-The view command is a Unix command for viewing the type specified. There
-are two different types of commands supported. The default is to send
-the body of the MIME message to the command on stdin. You can change
-this behavior by using &percnt;s as a parameter to your view command.
-This will cause Mutt-ng to save the body of the MIME message to a temporary
-file, and then call the view command with the &percnt;s replaced by
-the name of the temporary file. In both cases, Mutt-ng will turn over the
-terminal to the view program until the program quits, at which time Mutt
-will remove the temporary file if it exists.
-</para>
-
-<para>
-So, in the simplest form, you can send a text/plain message to the
-external pager more on stdin:
-
-<screen>
-text/plain; more
-</screen>
-
-Or, you could send the message as a file:
-
-<screen>
-text/plain; more %s
-</screen>
-
-Perhaps you would like to use lynx to interactively view a text/html 
-message:
-
-<screen>
-text/html; lynx %s
-</screen>
-
-In this case, lynx does not support viewing a file from stdin, so you
-must use the &percnt;s syntax.
-<emphasis role="bold">Note:</emphasis> <emphasis>Some older versions of lynx contain a bug where they
-will check the mailcap file for a viewer for text/html.  They will find
-the line which calls lynx, and run it.  This causes lynx to continuously
-spawn itself to view the object.</emphasis>
-</para>
-
-<para>
-On the other hand, maybe you don't want to use lynx interactively, you
-just want to have it convert the text/html to text/plain, then you can
-use:
-
-<screen>
-text/html; lynx -dump %s | more
-</screen>
-
-</para>
-
-<para>
-Perhaps you wish to use lynx to view text/html files, and a pager on
-all other text formats, then you would use the following:
-
-<screen>
-text/html; lynx %s
-text/*; more
-</screen>
-
-This is the simplest form of a mailcap file.
-</para>
-
-</sect2>
-
-<sect2>
-<title>Secure use of mailcap</title>
-
-<para>
-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 &percnt;s syntaxes properly, and avoids risky characters by
-substituting them, see the <link linkend="mailcap-sanitize">mailcap-sanitize</link> variable.
-</para>
-
-<para>
-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.  Therefore you should pay attention to the following rules:
-</para>
-
-<para>
-<emphasis>Keep the &percnt;-expandos away from shell quoting.</emphasis>
-Don't quote them with single or double quotes.  Mutt-ng does this for
-you, the right way, as should any other program which interprets
-mailcap.  Don't put them into backtick expansions.  Be highly careful
-with eval statements, and avoid them if possible at all.  Trying to fix
-broken behaviour with quotes introduces new leaks - there is no
-alternative to correct quoting in the first place.
-</para>
-
-<para>
-If you have to use the &percnt;-expandos' values in context where you need
-quoting or backtick expansions, put that value into a shell variable
-and reference the shell variable where necessary, as in the following
-example (using <literal>&dollar;charset</literal> inside the backtick expansion is safe,
-since it is not itself subject to any further expansion):
-</para>
-
-<para>
-
-<screen>
-text/test-mailcap-bug; cat %s; copiousoutput; test=charset=%{charset} \
-        &#38;&#38; test "`echo $charset | tr '[A-Z]' '[a-z]'`" != iso-8859-1
-</screen>
-
-</para>
-
-</sect2>
-
-<sect2>
-<title>Advanced mailcap Usage</title>
-
-<sect3>
-<title>Optional Fields</title>
-
-<para>
-In addition to the required content-type and view command fields, you
-can add semi-colon ';' separated fields to set flags and other options.
-Mutt-ng recognizes the following optional fields:
-<variablelist>
-
-<varlistentry>
-<term>copiousoutput</term>
-<listitem>
-<para>
-This flag tells Mutt-ng that the command passes possibly large amounts of
-text on stdout.  This causes Mutt-ng to invoke a pager (either the internal
-pager or the external pager defined by the pager variable) on the output
-of the view command.  Without this flag, Mutt-ng assumes that the command
-is interactive.  One could use this to replace the pipe to <literal>more</literal>
-in the <literal>lynx -dump</literal> example in the Basic section:
-
-<screen>
-text/html; lynx -dump %s ; copiousoutput
-</screen>
-
-This will cause lynx to format the text/html output as text/plain
-and Mutt-ng will use your standard pager to display the results.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>needsterminal</term>
-<listitem>
-<para>
-Mutt-ng uses this flag when viewing attachments with <link linkend="auto-view">auto-view</link>, in order to decide whether it should honor the setting
-of the <link linkend="wait-key">wait-key</link> variable or
-not.  When an attachment is viewed using an interactive program, and the
-corresponding mailcap entry has a <emphasis>needsterminal</emphasis> flag, Mutt-ng will use
-<link linkend="wait-key">wait-key</link> and the exit status
-of the program to decide if it will ask you to press a key after the
-external program has exited.  In all other situations it will not prompt
-you for a key.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>compose=&lt;command&gt;</term>
-<listitem>
-<para>
-This flag specifies the command to use to create a new attachment of a
-specific MIME type.  Mutt-ng supports this from the compose menu.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>composetyped=&lt;command&gt;</term>
-<listitem>
-<para>
-This flag specifies the command to use to create a new attachment of a
-specific MIME type.  This command differs from the compose command in
-that mutt will expect standard MIME headers on the data.  This can be
-used to specify parameters, filename, description, etc. for a new
-attachment.   Mutt-ng supports this from the compose menu.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>print=&lt;command&gt;</term>
-<listitem>
-<para>
-This flag specifies the command to use to print a specific MIME type.
-Mutt-ng supports this from the attachment and compose menus.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>edit=&lt;command&gt;</term>
-<listitem>
-<para>
-This flag specifies the command to use to edit a specific MIME type.  
-Mutt-ng supports this from the compose menu, and also uses it to compose
-new attachments.  Mutt-ng will default to the defined editor for text
-attachments.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>nametemplate=&lt;template&gt;</term>
-<listitem>
-<para>
-This field specifies the format for the file denoted by &percnt;s in the
-command fields.  Certain programs will require a certain file extension,
-for instance, to correctly view a file.  For instance, lynx will only
-interpret a file as <literal>text/html</literal> if the file ends in <literal>.html</literal>.
-So, you would specify lynx as a <literal>text/html</literal> viewer with a line in
-the mailcap file like:
-
-<screen>
-text/html; lynx %s; nametemplate=%s.html
-</screen>
-
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>test=&lt;command&gt;</term>
-<listitem>
-<para>
-This field specifies a command to run to test whether this mailcap
-entry should be used.  The command is defined with the command expansion
-rules defined in the next section.  If the command returns 0, then the
-test passed, and Mutt-ng uses this entry.  If the command returns non-zero,
-then the test failed, and Mutt-ng continues searching for the right entry.
-<emphasis role="bold">Note:</emphasis> <emphasis>the content-type must match before Mutt-ng performs the test.</emphasis>
-For example:
-
-<screen>
-text/html; netscape -remote 'openURL(%s)' ; test=RunningX
-text/html; lynx %s
-</screen>
-
-In this example, Mutt-ng will run the program RunningX which will return 0
-if the X Window manager is running, and non-zero if it isn't.  If
-RunningX returns 0, then Mutt-ng will call netscape to display the
-text/html object.  If RunningX doesn't return 0, then Mutt-ng will go on
-to the next entry and use lynx to display the text/html object.
-</para>
-</listitem></varlistentry>
-</variablelist>
-</para>
-
-</sect3>
-
-<sect3>
-<title>Search Order</title>
-
-<para>
-When searching for an entry in the mailcap file, Mutt-ng will search for
-the most useful entry for its purpose.  For instance, if you are
-attempting to print an <literal>image/gif</literal>, and you have the following
-entries in your mailcap file, Mutt-ng will search for an entry with the
-print command:
-
-<screen>
+          
+        </para>
+        
+        <para>
+          Please note, that PGP does not support appending to an encrypted
+          folder, so there is no append-hook defined.
+        </para>
+        
+        <para>
+          <emphasis role="bold">Note:</emphasis> the folder is temporary stored
+          decrypted in the /tmp
+          directory, where it can be read by your system administrator. So
+          thinkabout the security aspects of this.
+        </para>
+        
+        <para>
+          
+        </para>
+        
+        <para>
+          
+        </para>
+        
+      </sect2>
+      
+    </sect1>
+    
+  </chapter>
+  
+  <chapter>
+    <title>Mutt-ng's MIME Support  </title>
+    
+    <para>
+      Quite a bit of effort has been made to make Mutt-ng the premier text-mode
+      MIME MUA.  Every effort has been made to provide the functionality that
+      the discerning MIME user requires, and the conformance to the standards
+      wherever possible.  When configuring Mutt-ng for MIME, there are two
+      extratypes of configuration files which Mutt-ng uses.  One is the
+      <literal>mime.types</literal> file, which contains the mapping of file
+      extensions to 
+      IANA MIME types.  The other is the <literal>mailcap</literal> file, which
+      specifies
+      the external commands to use for handling specific MIME types.
+    </para>
+    
+    <sect1>
+      <title>Using MIME in Mutt  </title>
+      
+      <para>
+        There are three areas/menus in Mutt-ng which deal with MIME, they are
+        the
+        pager (while viewing a message), the attachment menu and the compose
+        menu.
+      </para>
+      
+      <sect2>
+        <title>Viewing MIME messages in the pager</title>
+        
+        <para>
+          When you select a message from the index and view it in the pager,
+          Mutt
+          decodes the message to a text representation.  Mutt-ng internally
+          supports
+          a number of MIME types, including <literal>text/plain, text/enriched,
+            message/rfc822, and message/news
+          </literal>
+          .In addition, the export
+          controlled version of Mutt-ng recognizes a variety of PGP MIME types,
+          including PGP/MIME and application/pgp.
+        </para>
+        
+        <para>
+          Mutt-ng will denote attachments with a couple lines describing them.
+          These lines are of the form:
+          
+          <screen>
+[-- Attachment #1: Description --]
+[-- Type: text/plain, Encoding: 7bit, Size: 10000 --]</screen>
+          
+          Where the <literal>Description</literal> is the description or
+          filename given for the
+          attachment, and the <literal>Encoding</literal> is one of
+          <literal>7bit/8bit/quoted-printable/base64/binary</literal>.
+        </para>
+        
+        <para>
+          If Mutt-ng cannot deal with a MIME type, it will display a message
+          like:
+          
+          <screen>
+[-- image/gif is unsupported (use 'v' to view this part) --]</screen>
+          
+        </para>
+        
+      </sect2>
+      
+      <sect2 id="attach-menu">
+        <title>The Attachment Menu</title>
+        
+        <para>
+          The default binding for <literal>view-attachments</literal> is `v',
+          which displays the
+          attachment menu for a message.  The attachment menu displays a list
+          ofthe attachments in a message.  From the attachment menu, you can
+          save,
+          print, pipe, delete, and view attachments.  You can apply these
+          operations to a group of attachments at once, by tagging the
+          attachments
+          and by using the ``tag-prefix'' operator.  You can also reply to the
+          current message from this menu, and only the current attachment (or
+          the
+          attachments tagged) will be quoted in your reply.  You can view
+          attachments as text, or view them using the mailcap viewer
+          definition.
+        </para>
+        
+        <para>
+          Finally, you can apply the usual message-related functions (like 
+          <link linkend="resend-message">resend-message</link>, and the reply
+          and forward functions) to attachments of type <literal>message/rfc822</literal>.
+        </para>
+        
+        <para>
+          See the help on the attachment menu for more information.
+        </para>
+        
+      </sect2>
+      
+      <sect2 id="compose-menu">
+        <title>The Compose Menu</title>
+        
+        <para>
+          The compose menu is the menu you see before you send a message.  It
+          allows you to edit the recipient list, the subject, and other aspects
+          of your message.  It also contains a list of the attachments of your
+          message, including the main body.  From this menu, you can print,
+          copy,
+          filter, pipe, edit, compose, review, and rename an attachment or a
+          list of tagged attachments.  You can also modifying the attachment
+          information, notably the type, encoding and description.
+        </para>
+        
+        <para>
+          Attachments appear as follows:
+          
+          <screen>
+1 [text/plain, 7bit, 1K]             /tmp/mutt-euler-8082-0 &#60;no description&#62;
+2 [applica/x-gunzip, base64, 422K]   ~/src/mutt-0.85.tar.gz &#60;no description&#62;</screen>
+          
+        </para>
+        
+        <para>
+          The '-' denotes that Mutt-ng will delete the file after sending (or
+          postponing, or canceling) the message.  It can be toggled with the
+          <literal>toggle-unlink</literal> command (default: u).  The next
+          field is the MIME
+          content-type, and can be changed with the <literal>edit-type</literal> command
+          (default: &circ;T).  The next field is the encoding for the
+          attachment,
+          which allows a binary message to be encoded for transmission on 7bit
+          links.  It can be changed with the <literal>edit-encoding</literal>
+          command
+          (default: &circ;E).  The next field is the size of the attachment,
+          rounded to kilobytes or megabytes.  The next field is the filename,
+          which can be changed with the <literal>rename-file</literal> command
+          (default: R).
+          The final field is the description of the attachment, and can be
+          changed with the <literal>edit-description</literal> command
+          (default: d).
+        </para>
+        
+        <para>
+          
+        </para>
+        
+      </sect2>
+      
+    </sect1>
+    
+    <sect1>
+      <title>
+        MIME Type configuration with <literal>mime.types</literal>  
+      </title>
+      
+      <para>
+        When you add an attachment to your mail message, Mutt-ng searches your
+        personal mime.types file at <literal>
+          &dollar;&lcub;HOME&rcub;/.mime.types
+        </literal>
+        ,and then
+        the system mime.types file at <literal>/usr/local/share/mutt/mime.types</literal> or
+        <literal>/etc/mime.types</literal>
+      </para>
+      
+      <para>
+        The mime.types file consist of lines containing a MIME type and a space
+        separated list of extensions.  For example:
+        
+        <screen>
+application/postscript          ps eps
+application/pgp                 pgp
+audio/x-aiff                    aif aifc aiff</screen>
+        
+        A sample <literal>mime.types</literal> file comes with the Mutt-ng
+        distribution, and
+        should contain most of the MIME types you are likely to use.  
+      </para>
+      
+      <para>
+        If Mutt-ng can not determine the mime type by the extension of the file
+        you
+        attach, it will look at the file.  If the file is free of binary
+        information, Mutt-ng will assume that the file is plain text, and mark
+        it
+        as <literal>text/plain</literal>.  If the file contains binary
+        information, then Mutt-ng will
+        mark it as <literal>application/octet-stream</literal>.  You can change
+        the MIME
+        type that Mutt-ng assigns to an attachment by using the <literal>
+          edit-type
+        </literal>
+        command from the compose menu (default: &circ;T). The MIME type is
+        actually a
+        major mime type followed by the sub-type, separated by a '/'. 6 major
+        types: application, text, image, video, audio, and model have been
+        approved
+        after various internet discussions. Mutt-ng recognises all of these if
+        the 
+        appropriate entry is found in the mime.types file. It also recognises
+        other
+        major mime types, such as the chemical type that is widely used in the 
+        molecular modelling community to pass molecular data in various forms
+        to 
+        various molecular viewers. Non-recognised mime types should only be
+        used 
+        if the recipient of the message is likely to be expecting such
+        attachments.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1>
+      <title>
+        MIME Viewer configuration with <literal>mailcap</literal>  
+      </title>
+      
+      <para>
+        Mutt-ng supports RFC 1524 MIME Configuration, in particular the Unix
+        specific format specified in Appendix A of RFC 1524.  This file format
+        is commonly referred to as the mailcap format.  Many MIME compliant
+        programs utilize the mailcap format, allowing you to specify handling
+        for all MIME types in one place for all programs.  Programs known to
+        use this format include Netscape, XMosaic, lynx and metamail.
+      </para>
+      
+      <para>
+        In order to handle various MIME types that Mutt-ng can not handle
+        internally, Mutt-ng parses a series of external configuration files to
+        find an external handler.  The default search string for these files
+        is a colon delimited list set to
+        
+        <screen>
+${HOME}/.mailcap:/usr/local/share/mutt/mailcap:/etc/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap</screen>
+        
+        where <literal>&dollar;HOME</literal> is your home directory.
+      </para>
+      
+      <para>
+        In particular, the metamail distribution will install a mailcap file,
+        usually as <literal>/usr/local/etc/mailcap</literal>, which contains
+        some baseline
+        entries.
+      </para>
+      
+      <sect2>
+        <title>The Basics of the mailcap file</title>
+        
+        <para>
+          A mailcap file consists of a series of lines which are comments,
+          blank,
+          or definitions.
+        </para>
+        
+        <para>
+          A comment line consists of a &num; character followed by anything you
+          want.
+        </para>
+        
+        <para>
+          A blank line is blank.
+        </para>
+        
+        <para>
+          A definition line consists of a content type, a view command, and any
+          number of optional fields.  Each field of a definition line is
+          dividedby a semicolon ';' character.
+        </para>
+        
+        <para>
+          The content type is specified in the MIME standard type/subtype
+          method.
+          For example,
+          <literal>text/plain, text/html, image/gif, </literal>
+          etc.  In addition, the mailcap format includes two formats for
+          wildcards, one using the special '*' subtype, the other is the
+          implicit
+          wild, where you only include the major type.  For example, <literal>
+            image/*
+          </literal>
+          ,or
+          <literal>video,</literal> will match all image types and video types,
+          respectively.
+        </para>
+        
+        <para>
+          The view command is a Unix command for viewing the type specified.
+          There
+          are two different types of commands supported. The default is to send
+          the body of the MIME message to the command on stdin. You can change
+          this behavior by using &percnt;s as a parameter to your view command.
+          This will cause Mutt-ng to save the body of the MIME message to a
+          temporary
+          file, and then call the view command with the &percnt;s replaced by
+          the name of the temporary file. In both cases, Mutt-ng will turn over
+          the
+          terminal to the view program until the program quits, at which time
+          Mutt
+          will remove the temporary file if it exists.
+        </para>
+        
+        <para>
+          So, in the simplest form, you can send a text/plain message to the
+          external pager more on stdin:
+          
+          <screen>
+text/plain; more</screen>
+          
+          Or, you could send the message as a file:
+          
+          <screen>
+text/plain; more %s</screen>
+          
+          Perhaps you would like to use lynx to interactively view a text/html 
+          message:
+          
+          <screen>
+text/html; lynx %s</screen>
+          
+          In this case, lynx does not support viewing a file from stdin, so you
+          must use the &percnt;s syntax.
+          <emphasis role="bold">Note:</emphasis> <emphasis>Some older versions
+            of lynx contain a bug where they
+            will check the mailcap file for a viewer for text/html.  They will
+            find
+            the line which calls lynx, and run it.  This causes lynx to
+            continuously
+            spawn itself to view the object.
+          </emphasis>
+        </para>
+        
+        <para>
+          On the other hand, maybe you don't want to use lynx interactively,
+          youjust want to have it convert the text/html to text/plain, then you
+          can
+          use:
+          
+          <screen>
+text/html; lynx -dump %s | more</screen>
+          
+        </para>
+        
+        <para>
+          Perhaps you wish to use lynx to view text/html files, and a pager on
+          all other text formats, then you would use the following:
+          
+          <screen>
+text/html; lynx %s
+text/*; more</screen>
+          
+          This is the simplest form of a mailcap file.
+        </para>
+        
+      </sect2>
+      
+      <sect2>
+        <title>Secure use of mailcap</title>
+        
+        <para>
+          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 &percnt;s syntaxes properly, and avoids risky
+          characters by
+          substituting them, see the <link linkend="mailcap-sanitize">
+            mailcap-sanitize
+          </link>
+          variable.
+        </para>
+        
+        <para>
+          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.  Therefore you should pay attention to the following rules:
+        </para>
+        
+        <para>
+          <emphasis>Keep the &percnt;-expandos away from shell quoting.</emphasis>
+          Don't quote them with single or double quotes.  Mutt-ng does this for
+          you, the right way, as should any other program which interprets
+          mailcap.  Don't put them into backtick expansions.  Be highly careful
+          with eval statements, and avoid them if possible at all.  Trying to
+          fix
+          broken behaviour with quotes introduces new leaks - there is no
+          alternative to correct quoting in the first place.
+        </para>
+        
+        <para>
+          If you have to use the &percnt;-expandos' values in context where you
+          need
+          quoting or backtick expansions, put that value into a shell variable
+          and reference the shell variable where necessary, as in the following
+          example (using <literal>&dollar;charset</literal> inside the backtick
+          expansion is safe,
+          since it is not itself subject to any further expansion):
+        </para>
+        
+        <para>
+          
+          <screen>
+text/test-mailcap-bug; cat %s; copiousoutput; test=charset=%{charset} \
+&#38;&#38; test "`echo $charset | tr '[A-Z]' '[a-z]'`" != iso-8859-1</screen>
+          
+        </para>
+        
+      </sect2>
+      
+      <sect2>
+        <title>Advanced mailcap Usage</title>
+        
+        <sect3>
+          <title>Optional Fields</title>
+          
+          <para>
+            In addition to the required content-type and view command fields,
+            you
+            can add semi-colon ';' separated fields to set flags and other
+            options.
+            Mutt-ng recognizes the following optional fields:
+            <variablelist>
+              
+              <varlistentry>
+                <term>copiousoutput</term>
+                <listitem>
+                  <para>
+                    This flag tells Mutt-ng that the command passes possibly
+                    large amounts of
+                    text on stdout.  This causes Mutt-ng to invoke a pager
+                    (either the internal
+                    pager or the external pager defined by the pager variable)
+                    on the output
+                    of the view command.  Without this flag, Mutt-ng assumes
+                    that the command
+                    is interactive.  One could use this to replace the pipe to <literal>
+                      more
+                    </literal>
+                    in the <literal>lynx -dump</literal> example in the Basic
+                    section:
+                    
+                    <screen>
+text/html; lynx -dump %s ; copiousoutput</screen>
+                    
+                    This will cause lynx to format the text/html output as
+                    text/plain
+                    and Mutt-ng will use your standard pager to display the
+                    results.
+                  </para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term>needsterminal</term>
+                <listitem>
+                  <para>
+                    Mutt-ng uses this flag when viewing attachments with <link linkend="auto-view">
+                      auto-view
+                    </link>
+                    ,in order to decide whether it should honor the setting
+                    of the <link linkend="wait-key">wait-key</link> variable or
+                    not.  When an attachment is viewed using an interactive
+                    program, and the
+                    corresponding mailcap entry has a <emphasis>needsterminal</emphasis> flag, Mutt-ng will use
+                    <link linkend="wait-key">wait-key</link> and the exit
+                    statusof the program to decide if it will ask you to press
+                    a key after the
+                    external program has exited.  In all other situations it
+                    will not prompt
+                    you for a key.
+                  </para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term>compose=&lt;command&gt;</term>
+                <listitem>
+                  <para>
+                    This flag specifies the command to use to create a new
+                    attachment of a
+                    specific MIME type.  Mutt-ng supports this from the compose
+                    menu.
+                  </para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term>composetyped=&lt;command&gt;</term>
+                <listitem>
+                  <para>
+                    This flag specifies the command to use to create a new
+                    attachment of a
+                    specific MIME type.  This command differs from the compose
+                    command in
+                    that mutt will expect standard MIME headers on the data. 
+                    This can be
+                    used to specify parameters, filename, description, etc. for
+                    a new
+                    attachment.   Mutt-ng supports this from the compose menu.
+                  </para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term>print=&lt;command&gt;</term>
+                <listitem>
+                  <para>
+                    This flag specifies the command to use to print a specific
+                    MIME type.
+                    Mutt-ng supports this from the attachment and compose
+                    menus.
+                  </para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term>edit=&lt;command&gt;</term>
+                <listitem>
+                  <para>
+                    This flag specifies the command to use to edit a specific
+                    MIME type.  
+                    Mutt-ng supports this from the compose menu, and also uses
+                    it to compose
+                    new attachments.  Mutt-ng will default to the defined
+                    editor for text
+                    attachments.
+                  </para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term>nametemplate=&lt;template&gt;</term>
+                <listitem>
+                  <para>
+                    This field specifies the format for the file denoted by
+                    &percnt;s in the
+                    command fields.  Certain programs will require a certain
+                    file extension,
+                    for instance, to correctly view a file.  For instance, lynx
+                    will only
+                    interpret a file as <literal>text/html</literal> if the
+                    file ends in <literal>.html</literal>.
+                    So, you would specify lynx as a <literal>text/html</literal> viewer with a line in
+                    the mailcap file like:
+                    
+                    <screen>
+text/html; lynx %s; nametemplate=%s.html</screen>
+                    
+                  </para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term>test=&lt;command&gt;</term>
+                <listitem>
+                  <para>
+                    This field specifies a command to run to test whether this
+                    mailcap
+                    entry should be used.  The command is defined with the
+                    command expansion
+                    rules defined in the next section.  If the command returns
+                    0, then the
+                    test passed, and Mutt-ng uses this entry.  If the command
+                    returns non-zero,
+                    then the test failed, and Mutt-ng continues searching for
+                    the right entry.
+                    <emphasis role="bold">Note:</emphasis> <emphasis>the
+                      content-type must match before Mutt-ng performs the test.
+                    </emphasis>
+                    For example:
+                    
+                    <screen>
+text/html; netscape -remote 'openURL(%s)' ; test=RunningX
+text/html; lynx %s</screen>
+                    
+                    In this example, Mutt-ng will run the program RunningX
+                    which will return 0
+                    if the X Window manager is running, and non-zero if it
+                    isn't.  If
+                    RunningX returns 0, then Mutt-ng will call netscape to
+                    display the
+                    text/html object.  If RunningX doesn't return 0, then
+                    Mutt-ng will go on
+                    to the next entry and use lynx to display the text/html
+                    object.
+                  </para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+          </para>
+          
+        </sect3>
+        
+        <sect3>
+          <title>Search Order</title>
+          
+          <para>
+            When searching for an entry in the mailcap file, Mutt-ng will
+            search for
+            the most useful entry for its purpose.  For instance, if you are
+            attempting to print an <literal>image/gif</literal>, and you have
+            the following
+            entries in your mailcap file, Mutt-ng will search for an entry with
+            the
+            print command:
+            
+            <screen>
 image/*;        xv %s
 image/gif;      ; print= anytopnm %s | pnmtops | lpr; \
-                nametemplate=%s.gif
-</screen>
-
-Mutt-ng will skip the <literal>image/*</literal> entry and use the <literal>image/gif</literal>
-entry with the print command.
-</para>
-
-<para>
-In addition, you can use this with <link linkend="auto-view">auto-view</link> 
-to denote two commands for viewing an attachment, one to be viewed
-automatically, the other to be viewed interactively from the attachment
-menu.  In addition, you can then use the test feature to determine which
-viewer to use interactively depending on your environment.
-
-<screen>
+nametemplate=%s.gif</screen>
+            
+            Mutt-ng will skip the <literal>image/*</literal> entry and use the <literal>
+              image/gif
+            </literal>
+            entry with the print command.
+          </para>
+          
+          <para>
+            In addition, you can use this with <link linkend="auto-view">
+              auto-view
+            </link>
+            to denote two commands for viewing an attachment, one to be viewed
+            automatically, the other to be viewed interactively from the
+            attachment
+            menu.  In addition, you can then use the test feature to determine
+            which
+            viewer to use interactively depending on your environment.
+            
+            <screen>
 text/html;      netscape -remote 'openURL(%s)' ; test=RunningX
 text/html;      lynx %s; nametemplate=%s.html
-text/html;      lynx -dump %s; nametemplate=%s.html; copiousoutput
-</screen>
-
-For <link linkend="auto-view">auto-view</link>, Mutt-ng will choose the third
-entry because of the copiousoutput tag.  For interactive viewing, Mutt
-will run the program RunningX to determine if it should use the first
-entry.  If the program returns non-zero, Mutt-ng will use the second entry
-for interactive viewing.
-</para>
-
-</sect3>
-
-<sect3>
-<title>Command Expansion</title>
-
-<para>
-The various commands defined in the mailcap files are passed to the
-<literal>/bin/sh</literal> shell using the system() function.  Before the
-command is passed to <literal>/bin/sh -c</literal>, it is parsed to expand
-various special parameters with information from Mutt-ng.  The keywords
-Mutt-ng expands are:
-<variablelist>
-
-<varlistentry>
-<term>&percnt;s</term>
-<listitem>
-<para>
-As seen in the basic mailcap section, this variable is expanded
-to a filename specified by the calling program.  This file contains
-the body of the message to view/print/edit or where the composing
-program should place the results of composition.  In addition, the
-use of this keyword causes Mutt-ng to not pass the body of the message
-to the view/print/edit program on stdin.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&percnt;t</term>
-<listitem>
-<para>
-Mutt-ng will expand &percnt;t to the text representation of the content
-type of the message in the same form as the first parameter of the
-mailcap definition line, ie <literal>text/html</literal> or
-<literal>image/gif</literal>.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&percnt;&lcub;&lt;parameter&gt;&rcub;</term>
-<listitem>
-<para>
-Mutt-ng will expand this to the value of the specified parameter
-from the Content-Type: line of the mail message.  For instance, if
-Your mail message contains:
-
-<screen>
-Content-Type: text/plain; charset=iso-8859-1
-</screen>
-
-then Mutt-ng will expand &percnt;&lcub;charset&rcub; to iso-8859-1.  The default metamail
-mailcap file uses this feature to test the charset to spawn an xterm
-using the right charset to view the message.
-</para>
-</listitem></varlistentry>
-<varlistentry>
-<term>&bsol;&percnt;</term>
-<listitem>
-<para>
-This will be replaced by a &percnt;
-</para>
-</listitem></varlistentry>
-</variablelist>
-Mutt-ng does not currently support the &percnt;F and &percnt;n keywords
-specified in RFC 1524.  The main purpose of these parameters is for
-multipart messages, which is handled internally by Mutt-ng.
-</para>
-
-</sect3>
-
-</sect2>
-
-<sect2>
-<title>Example mailcap files</title>
-
-<para>
-This mailcap file is fairly simple and standard:
-
-<screen>>
+text/html;      lynx -dump %s; nametemplate=%s.html; copiousoutput</screen>
+            
+            For <link linkend="auto-view">auto-view</link>, Mutt-ng will choose
+            the third
+            entry because of the copiousoutput tag.  For interactive viewing,
+            Mutt
+            will run the program RunningX to determine if it should use the
+            first
+            entry.  If the program returns non-zero, Mutt-ng will use the
+            second entry
+            for interactive viewing.
+          </para>
+          
+        </sect3>
+        
+        <sect3>
+          <title>Command Expansion</title>
+          
+          <para>
+            The various commands defined in the mailcap files are passed to the
+            <literal>/bin/sh</literal> shell using the system() function. 
+            Before the
+            command is passed to <literal>/bin/sh -c</literal>, it is parsed to
+            expand
+            various special parameters with information from Mutt-ng.  The
+            keywords
+            Mutt-ng expands are:
+            <variablelist>
+              
+              <varlistentry>
+                <term>&percnt;s</term>
+                <listitem>
+                  <para>
+                    As seen in the basic mailcap section, this variable is
+                    expanded
+                    to a filename specified by the calling program.  This file
+                    contains
+                    the body of the message to view/print/edit or where the
+                    composing
+                    program should place the results of composition.  In
+                    addition, the
+                    use of this keyword causes Mutt-ng to not pass the body of
+                    the message
+                    to the view/print/edit program on stdin.
+                  </para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term>&percnt;t</term>
+                <listitem>
+                  <para>
+                    Mutt-ng will expand &percnt;t to the text representation of
+                    the content
+                    type of the message in the same form as the first parameter
+                    of the
+                    mailcap definition line, ie <literal>text/html</literal> or
+                    <literal>image/gif</literal>.
+                  </para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term>&percnt;&lcub;&lt;parameter&gt;&rcub;</term>
+                <listitem>
+                  <para>
+                    Mutt-ng will expand this to the value of the specified
+                    parameter
+                    from the Content-Type: line of the mail message.  For
+                    instance, if
+                    Your mail message contains:
+                    
+                    <screen>
+Content-Type: text/plain; charset=iso-8859-1</screen>
+                    
+                    then Mutt-ng will expand &percnt;&lcub;charset&rcub; to
+                    iso-8859-1.  The default metamail
+                    mailcap file uses this feature to test the charset to spawn
+                    an xterm
+                    using the right charset to view the message.
+                  </para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term>&bsol;&percnt;</term>
+                <listitem>
+                  <para>
+                    This will be replaced by a &percnt;
+                  </para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+            Mutt-ng does not currently support the &percnt;F and &percnt;n
+            keywords
+            specified in RFC 1524.  The main purpose of these parameters is for
+            multipart messages, which is handled internally by Mutt-ng.
+          </para>
+          
+        </sect3>
+        
+      </sect2>
+      
+      <sect2>
+        <title>Example mailcap files</title>
+        
+        <para>
+          This mailcap file is fairly simple and standard:
+          
+          <screen>>
 # I'm always running X :)
 video/*;        xanim %s &#62; /dev/null
 image/*;        xv %s &#62; /dev/null
 
 # I'm always running netscape (if my computer had more memory, maybe)
-text/html;      netscape -remote 'openURL(%s)'
-</screen>
-
-</para>
-
-<para>
-This mailcap file shows quite a number of examples:
-</para>
-
-<para>
-
-<screen>
+text/html;      netscape -remote 'openURL(%s)'</screen>
+          
+        </para>
+        
+        <para>
+          This mailcap file shows quite a number of examples:
+        </para>
+        
+        <para>
+          
+          <screen>
 # Use xanim to view all videos   Xanim produces a header on startup,
 # send that to /dev/null so I don't see it
 video/*;        xanim %s &#62; /dev/null
 
 # Send html to a running netscape by remote
 text/html;      netscape -remote 'openURL(%s)'; test=RunningNetscape
-
 # If I'm not running netscape but I am running X, start netscape on the
 # object
 text/html;      netscape %s; test=RunningX
@@ -7586,956 +8873,1226 @@ image/jpeg;xv %s; x-mozilla-flags=internal
 # Use xv to view images if I'm running X
 # In addition, this uses the \ to extend the line and set my editor
 # for images
-image/*;xv %s; test=RunningX; \
-        edit=xpaint %s
+image/*;xv %s; test=RunningX; edit=xpaint %s
 
 # Convert images to text using the netpbm tools
 image/*;  (anytopnm %s | pnmscale -xysize 80 46 | ppmtopgm | pgmtopbm |
 pbmtoascii -1x2 ) 2&#62;&#38;1 ; copiousoutput
 
 # Send excel spreadsheets to my NT box
-application/ms-excel; open.pl %s
-</screen>
-
-</para>
-
-<para>
-</para>
-
-</sect2>
-
-</sect1>
-
-<sect1 id="auto-view">
-<title>MIME Autoview  </title>
-
-<para>
-In addition to explicitly telling Mutt-ng to view an attachment with the
-MIME viewer defined in the mailcap file, Mutt-ng has support for
-automatically viewing MIME attachments while in the pager.
-</para>
-
-<para>
-To work, you must define a viewer in the mailcap file which uses the 
-<literal>copiousoutput</literal> option to denote that it is non-interactive.
-Usually, you also use the entry to convert the attachment to a text
-representation which you can view in the pager.
-</para>
-
-<para>
-You then use the <literal>auto&lowbar;view</literal> muttrc command to list the
-content-types that you wish to view automatically.
-</para>
-
-<para>
-For instance, if you set auto&lowbar;view to:
-
-<screen>
-auto_view text/html application/x-gunzip application/postscript image/gif application/x-tar-gz
-</screen>
-
-</para>
-
-<para>
-Mutt-ng could use the following mailcap entries to automatically view
-attachments of these types.
-
-<screen>
+application/ms-excel; open.pl %s</screen>
+          
+        </para>
+        
+        <para>
+          
+        </para>
+        
+      </sect2>
+      
+    </sect1>
+    
+    <sect1 id="auto-view">
+      <title>MIME Autoview  </title>
+      
+      <para>
+        In addition to explicitly telling Mutt-ng to view an attachment with
+        theMIME viewer defined in the mailcap file, Mutt-ng has support for
+        automatically viewing MIME attachments while in the pager.
+      </para>
+      
+      <para>
+        To work, you must define a viewer in the mailcap file which uses the 
+        <literal>copiousoutput</literal> option to denote that it is
+        non-interactive.
+        Usually, you also use the entry to convert the attachment to a text
+        representation which you can view in the pager.
+      </para>
+      
+      <para>
+        You then use the <literal>auto&lowbar;view</literal> muttrc command to
+        list the
+        content-types that you wish to view automatically.
+      </para>
+      
+      <para>
+        For instance, if you set auto&lowbar;view to:
+        
+        <screen>
+auto_view text/html application/x-gunzip application/postscript
+image/gif application/x-tar-gz</screen>
+        
+      </para>
+      
+      <para>
+        Mutt-ng could use the following mailcap entries to automatically view
+        attachments of these types.
+        
+        <screen>
 text/html;      lynx -dump %s; copiousoutput; nametemplate=%s.html
 image/*;        anytopnm %s | pnmscale -xsize 80 -ysize 50 | ppmtopgm | pgmtopbm | pbmtoascii ; copiousoutput
 application/x-gunzip;   gzcat; copiousoutput
 application/x-tar-gz; gunzip -c %s | tar -tf - ; copiousoutput
-application/postscript; ps2ascii %s; copiousoutput
-</screen>
-
-</para>
-
-<para>
-``unauto&lowbar;view'' can be used to remove previous entries from the autoview list.
-This can be used with message-hook to autoview messages based on size, etc.
-``unauto&lowbar;view *'' will remove all previous entries.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="alternative-order">
-<title>MIME Multipart/Alternative  </title>
-
-<para>
-Mutt-ng has some heuristics for determining which attachment of a
-multipart/alternative type to display.  First, mutt will check the 
-alternative&lowbar;order list to determine if one of the available types
-is preferred.  The alternative&lowbar;order list consists of a number of
-MIME types in order, including support for implicit and explicit
-wildcards, for example:
-
-<screen>
-alternative_order text/enriched text/plain text application/postscript image/*
-</screen>
-
-</para>
-
-<para>
-Next, mutt will check if any of the types have a defined 
-<link linkend="auto-view">auto-view</link>, and use that.  Failing
-that, Mutt-ng will look for any text type.  As a last attempt, mutt will
-look for any type it knows how to handle.
-</para>
-
-<para>
-To remove a MIME type from the <literal>alternative&lowbar;order</literal> list, use the
-<literal>unalternative&lowbar;order</literal> command.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="mime-lookup">
-<title>MIME Lookup  </title>
-
-<para>
-Mutt-ng's mime&lowbar;lookup list specifies a list of mime-types that should not
-be treated according to their mailcap entry.  This option is designed to
-deal with binary types such as application/octet-stream.  When an attachment's
-mime-type is listed in mime&lowbar;lookup, then the extension of the filename will
-be compared to the list of extensions in the mime.types file.  The mime-type
-associated with this extension will then be used to process the attachment
-according to the rules in the mailcap file and according to any other configuration
-options (such as auto&lowbar;view) specified.  Common usage would be:
-
-<screen>
-mime_lookup application/octet-stream application/X-Lotus-Manuscript
-</screen>
-
-</para>
-
-<para>
-In addition, the unmime&lowbar;lookup command may be used to disable this feature
-for any particular mime-type if it had been set, for example, in a global
-muttrc.
-</para>
-
-<para>
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-</chapter>
-
-<chapter>
-<title>Security Considerations    </title>
-
-<para>
-First of all, mutt-ng contains no security holes included by
-intention but may contain unknown security holes. As a consequence,
-please run mutt-ng only with as few permissions as possible.
-</para>
-
-<para>
-Please do not run mutt-ng as the super user.
-</para>
-
-<para>
-When configuring mutt-ng, there're some points to note about secure
-setups.
-</para>
-
-<para>
-In practice, mutt-ng can be easily made as vulnerable as even the
-most insecure mail user agents (in their default configuration) just
-by changing mutt-ng's configuration files: it then can execute
-arbitrary programs and scripts attached to messages, send out private
-data on its own, etc. Although this is not believed to the common type
-of setup, please read this chapter carefully.
-</para>
-
-<sect1>
-<title>Passwords      </title>
-
-<para>
-Although mutt-ng can be told the various passwords for accounts,
-please never store passwords in configuration files. Besides the
-fact that the system's operator can always read them, you could
-forget to replace the actual password with asterisks when reporting
-a bug or asking for help via, for example, a mailing list so that
-your mail including your password could be archived by internet
-search engines, etc. Please never store passwords on disk.
-</para>
-
-</sect1>
-
-<sect1>
-<title>Temporary Files      </title>
-
-<para>
-Mutt-ng uses many temporary files for viewing messages, verifying
-digital signatures, etc. The <link linkend="umask">umask</link>
-variable can be used to change the default permissions of these
-files. Please only change it if you really know what you are doing.
-Also, a different location for these files may be desired which can
-be changed via the <link linkend="tmpdir">tmpdir</link> variable.
-</para>
-
-</sect1>
-
-<sect1>
-<title>Information Leaks    </title>
-
-<sect2>
-<title>Message-ID: headers      </title>
-
-<para>
-In the default configuration, mutt-ng will leak some information
-to the outside world when sending messages: the generation of
-<literal>Message-ID:</literal> headers includes a step counter which is increased
-(and rotated) with every message sent. If you'd like to hide this
-information probably telling others how many mail you sent in which
-time, you at least need to remove the <literal>&percnt;P</literal> expando from the
-default setting of the <link linkend="msgid-format">msgid-format</link> variable. Please make sure that
-you really know how local parts of these <literal>Message-ID:</literal> headers
-are composed.
-</para>
-
-</sect2>
-
-<sect2>
-<title>mailto:-style links      </title>
-
-<para>
-As mutt-ng be can be set up to be the mail client to handle
-<literal>mailto:</literal> style links in websites, there're security
-considerations, too. To keep the old behavior by default, mutt-ng
-will be strict in interpreting them which means that arbitrary
-header fields can be embedded in these links which could override
-existing header fields or attach arbitrary files. This may be
-problematic if the <link linkend="edit-headers">edit-headers</link> variable is <emphasis>unset</emphasis>, i.e. the
-user doesn't want to see header fields while editing the message.
-</para>
-
-<para>
-For example, following a link like
-</para>
-
-<para>
-
-<screen>
-mailto:joe@host?Attach=~/.gnupg/secring.gpg
-</screen>
-
-</para>
-
-<para>
-will send out the user's private gnupg keyring to <literal>joe@host</literal> if
-the user doesn't follow the information on screen carefully
-enough.
-</para>
-
-<para>
-When <emphasis>unsetting</emphasis> the <link linkend="strict-mailto">strict-mailto</link> variable, mutt-ng will
-</para>
-
-<para>
-
-<itemizedlist>
-<listitem>
-
-<para>
-be less strict when interpreting these links by
-prepending a <literal>X-Mailto-</literal> string to all header fields
-embedded in such a link <emphasis>and</emphasis>
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-turn on the <link linkend="edit-headers">edit-headers</link> variable by
-force to let the user see all the headers
-(because they still may leak information.)
-
-</para>
-</listitem>
-
-</itemizedlist>
-
-</para>
-
-</sect2>
-
-</sect1>
-
-<sect1>
-<title>External applications      </title>
-
-<para>
-Mutt-ng in many places has to rely on external applications or
-for convenience supports mechanisms involving external
-applications.
-</para>
-
-<sect2>
-<title>mailcap        </title>
-
-<para>
-One of these is the <literal>mailcap</literal> mechanism as defined by RfC
-1524. Mutt-ng can be set up to <emphasis>automatically</emphasis> execute any
-given utility as listed in one of the mailcap files (see the
-<link linkend="mailcap-path">mailcap-path</link>
-variable for details.) 
-</para>
-
-<para>
-These utilities may have a variety of security vulnerabilities,
-including overwriting of arbitrary files, information leaks or
-other exploitable bugs.  These vulnerabilities may go unnoticed by
-the user, especially when they are called automatically (and
-without interactive prompting) from the mailcap file(s). When
-using mutt-ng's autoview mechanism in combination with mailcap
-files, please be sure to...
-</para>
-
-<para>
-
-<itemizedlist>
-<listitem>
-
-<para>
-manually select trustworth applications with a reasonable
-calling sequence
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-periodically check the contents of mailcap files,
-especially after software installations or upgrades
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-keep the software packages referenced in the mailcap file up to date
-
-</para>
-</listitem>
-<listitem>
-
-<para>
-leave the <link linkend="mailcap-sanitize">mailcap-sanitize</link> variable in its default
-state to restrict mailcap expandos to a safe set of characters
-
-</para>
-</listitem>
-
-</itemizedlist>
-
-</para>
-
-</sect2>
-
-<sect2>
-<title>Other        </title>
-
-<para>
-Besides the mailcap mechanism, mutt-ng uses a number of other
-external utilities for operation.
-</para>
-
-<para>
-The same security considerations apply for these as for tools
-involved via mailcap (for example, mutt-ng is vulnerable to Denial
-of Service Attacks with compressed folders support if the
-uncompressed mailbox is too large for the disk it is saved to.)
-</para>
-
-<para>
-As already noted, most of these problems are not built in but
-caused by wrong configuration, so please check your configuration.
-</para>
-
-</sect2>
-
-</sect1>
-
-</chapter>
-
-<chapter>
-<title>Reference  </title>
-
-<sect1 id="commandline">
-<title>Command line options  </title>
-
-<para>
-Running <literal>mutt</literal> with no arguments will make Mutt-ng attempt to read your spool
-mailbox.  However, it is possible to read other mailboxes and
-to send messages from the command line as well.
-</para>
-
-<para>
-
-<screen>
--A      expand an alias
--a      attach a file to a message
--b      specify a blind carbon-copy (BCC) address
--c      specify a carbon-copy (Cc) address
--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
--h      print help on command line options
--H      specify a draft file from which to read a header and body
--i      specify a file to include in a message composition
--m      specify a default mailbox type
--n      do not read the system Muttngrc
--p      recall a postponed message
--Q      query a configuration variable
--R      open mailbox in read-only mode
--s      specify a subject (enclose in quotes if it contains spaces)
--t      dump the value of all variables to stdout
--T      dump the value of all changed variables to stdout
--v      show version number and compile-time definitions
--x      simulate the mailx(1) compose mode
--y      show a menu containing the files specified by the mailboxes command
--z      exit immediately if there are no messages in the mailbox
--Z      open the first folder with new message,exit immediately if none
-</screen>
-
-</para>
-
-<para>
-To read messages in a mailbox
-</para>
-
-<para>
-<literal>mutt</literal> &lsqb; -nz &rsqb; &lsqb; -F <emphasis>muttrc</emphasis> &rsqb; &lsqb; -m <emphasis>type</emphasis> &rsqb; &lsqb; -f <emphasis>mailbox</emphasis> &rsqb; 
-</para>
-
-<para>
-To compose a new message
-</para>
-
-<para>
-<literal>mutt</literal> &lsqb; -n &rsqb; &lsqb; -F <emphasis>muttrc</emphasis> &rsqb; &lsqb; -a <emphasis>file</emphasis> &rsqb; &lsqb; -c <emphasis>address</emphasis> &rsqb; &lsqb; -i <emphasis>filename</emphasis> &rsqb; &lsqb; -s <emphasis>subject</emphasis> &rsqb; <emphasis>address</emphasis> &lsqb; <emphasis>address</emphasis> ... &rsqb; 
-</para>
-
-<para>
-Mutt-ng also supports a ``batch'' mode to send prepared messages.  Simply redirect
-input from the file you wish to send.  For example,
-</para>
-
-<para>
-<literal>mutt -s &quot;data set for run &num;2&quot; professor@bigschool.edu
-&lt; &tilde;/run2.dat</literal>
-</para>
-
-<para>
-This command will send a message to ``professor@bigschool.edu'' with a subject
-of ``data set for run &num;2''.  In the body of the message will be the contents
-of the file ``&tilde;/run2.dat''.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="patterns">
-<title>Patterns  </title>
-
-<para>
-
-<screen>
-~A              all messages
-~b EXPR         messages which contain EXPR in the message body
-~B EXPR         messages which contain EXPR in the whole message
-~c USER         messages carbon-copied to USER
-~C EXPR         message is either to: or cc: EXPR
-~D              deleted messages
-~d [MIN]-[MAX]  messages with ``date-sent'' in a Date range
-~E              expired messages
-~e EXPR         message which contains EXPR in the ``Sender'' field
-~F              flagged messages
-~f USER         messages originating from USER
-~g              cryptographically signed messages
-~G              cryptographically encrypted messages
-~H EXPR         messages with a spam attribute matching EXPR
-~h EXPR         messages which contain EXPR in the message header
-~k              message contains PGP key material
-~i ID           message which match ID in the ``Message-ID'' field
-~L EXPR         message is either originated or received by EXPR
-~l              message is addressed to a known mailing list
-~m [MIN]-[MAX]  message in the range MIN to MAX *)
-~M              multipart messages
-~n [MIN]-[MAX]  messages with a score in the range MIN to MAX *)
-~N              new messages
-~O              old messages
-~p              message is addressed to you (consults alternates)
-~P              message is from you (consults alternates)
-~Q              messages which have been replied to
-~R              read messages
-~r [MIN]-[MAX]  messages with ``date-received'' in a Date range
-~S              superseded messages
-~s SUBJECT      messages having SUBJECT in the ``Subject'' field.
-~T              tagged messages
-~t USER         messages addressed to USER
-~U              unread messages
-~v              message is part of a collapsed thread.
-~V              cryptographically verified messages
-~w EXPR         messages which contain EXPR in the `Newsgroups' field
-                (if compiled with NNTP support)
-~x EXPR         messages which contain EXPR in the `References' field
-~y EXPR         messages which contain EXPR in the `X-Label' field
-~z [MIN]-[MAX]  messages with a size in the range MIN to MAX *)
-~=              duplicated messages (see $duplicate_threads)
-~$              unreferenced messages (requires threaded view)
-~*              ``From'' contains realname and (syntactically) valid
-                address (excluded are addresses matching against
-                alternates or any alias)
-</screen>
-
-</para>
-
-<para>
-Where EXPR, USER, ID, and SUBJECT are 
-<link linkend="regexp">regexp</link>.  Special attention has to be
-made when using regular expressions inside of patterns.  Specifically,
-Mutt-ng's parser for these patterns will strip one level of backslash (\),
-which is normally used for quoting.  If it is your intention to use a
-backslash in the regular expression, you will need to use two backslashes
-instead (\\).
-</para>
-
-<para>
-*) The forms <literal>&lt;&lsqb;MAX&rsqb;</literal>, <literal>&gt;&lsqb;MIN&rsqb;</literal>,
-<literal>&lsqb;MIN&rsqb;-</literal> and <literal>-&lsqb;MAX&rsqb;</literal>
-are allowed, too.
-</para>
-
-<para>
-</para>
-
-</sect1>
-
-<sect1 id="commands">
-<title>Configuration Commands  </title>
-
-<para>
-The following are the commands understood by mutt.
-</para>
-
-<para>
-
-<itemizedlist>
-<listitem>
-
-<para>
-<literal><link linkend="account-hook">account-hook</link></literal> <emphasis>pattern</emphasis> <emphasis>command</emphasis>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="alias">alias</link></literal> <emphasis>key</emphasis> <emphasis>address</emphasis> &lsqb; , <emphasis>address</emphasis>, ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="alias">alias</link></literal> &lsqb; * &verbar; <emphasis>key</emphasis> ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="alternates">alternates</link></literal> <emphasis>regexp</emphasis> &lsqb; <emphasis>regexp</emphasis> ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="alternates">alternates</link></literal> &lsqb; * &verbar; <emphasis>regexp</emphasis> ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="alternative-order">alternative-order</link></literal> <emphasis>mimetype</emphasis> &lsqb; <emphasis>mimetype</emphasis> ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="alternative-order">alternative-order</link></literal> <emphasis>mimetype</emphasis> &lsqb; <emphasis>mimetype</emphasis> ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="append-hook">append-hook</link></literal> <emphasis>regexp</emphasis> <emphasis>command</emphasis>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="auto-view">auto-view</link></literal> <emphasis>mimetype</emphasis> &lsqb; <emphasis>mimetype</emphasis> ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="auto-view">auto-view</link></literal> <emphasis>mimetype</emphasis> &lsqb; <emphasis>mimetype</emphasis> ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="bind">bind</link></literal> <emphasis>map</emphasis> <emphasis>key</emphasis> <emphasis>function</emphasis>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="charset-hook">charset-hook</link></literal> <emphasis>alias</emphasis> <emphasis>charset</emphasis>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="close-hook">close-hook</link></literal> <emphasis>regexp</emphasis> <emphasis>command</emphasis>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="color">color</link></literal> <emphasis>object</emphasis> <emphasis>foreground</emphasis> <emphasis>background</emphasis> &lsqb; <emphasis>regexp</emphasis> &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="color">color</link></literal> <emphasis>index</emphasis> <emphasis>pattern</emphasis> &lsqb; <emphasis>pattern</emphasis> ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="exec">exec</link></literal> <emphasis>function</emphasis> &lsqb; <emphasis>function</emphasis> ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="fcc-hook">fcc-hook</link></literal> <emphasis>pattern</emphasis> <emphasis>mailbox</emphasis>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="fcc-save-hook">fcc-save-hook</link></literal> <emphasis>pattern</emphasis> <emphasis>mailbox</emphasis>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="folder-hook">folder-hook</link></literal> <emphasis>pattern</emphasis> <emphasis>command</emphasis>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="hdr-order">hdr-order</link></literal> <emphasis>header</emphasis> &lsqb; <emphasis>header</emphasis> ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="hdr-order">hdr-order</link></literal> <emphasis>header</emphasis> &lsqb; <emphasis>header</emphasis> ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="charset-hook">charset-hook</link></literal> <emphasis>charset</emphasis> <emphasis>local-charset</emphasis>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="ignore">ignore</link></literal> <emphasis>pattern</emphasis> &lsqb; <emphasis>pattern</emphasis> ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="ignore">ignore</link></literal> <emphasis>pattern</emphasis> &lsqb; <emphasis>pattern</emphasis> ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="lists">lists</link></literal> <emphasis>regexp</emphasis> &lsqb; <emphasis>regexp</emphasis> ... &rsqb; 
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="lists">lists</link></literal> <emphasis>regexp</emphasis> &lsqb; <emphasis>regexp</emphasis> ... &rsqb; 
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="macro">macro</link></literal> <emphasis>menu</emphasis> <emphasis>key</emphasis> <emphasis>sequence</emphasis> &lsqb; <emphasis>description</emphasis> &rsqb; 
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="mailboxes">mailboxes</link></literal> <emphasis>filename</emphasis> &lsqb; <emphasis>filename</emphasis> ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="mbox-hook">mbox-hook</link></literal> <emphasis>pattern</emphasis> <emphasis>mailbox</emphasis>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="message-hook">message-hook</link></literal> <emphasis>pattern</emphasis> <emphasis>command</emphasis>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="mime-lookup">mime-lookup</link></literal> <emphasis>mimetype</emphasis> &lsqb; <emphasis>mimetype</emphasis> ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="mime-lookup">mime-lookup</link></literal> <emphasis>mimetype</emphasis> &lsqb; <emphasis>mimetype</emphasis> ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="color">color</link></literal> <emphasis>object attribute</emphasis> &lsqb; <emphasis>regexp</emphasis> &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="color">color</link></literal> <emphasis>index</emphasis> <emphasis>pattern</emphasis> &lsqb; <emphasis>pattern</emphasis> ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="my-hdr">my-hdr</link></literal> <emphasis>string</emphasis>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="my-hdr">my-hdr</link></literal> <emphasis>field</emphasis> &lsqb; <emphasis>field</emphasis> ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="open-hook">open-hook</link></literal> <emphasis>regexp</emphasis> <emphasis>command</emphasis>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="crypt-hook">crypt-hook</link></literal> <emphasis>pattern</emphasis> <emphasis>key-id</emphasis>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="push">push</link></literal> <emphasis>string</emphasis>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="set">set</link></literal> <emphasis>variable</emphasis> &lsqb;<emphasis>variable</emphasis> ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="save-hook">save-hook</link></literal> <emphasis>regexp</emphasis> <emphasis>filename</emphasis>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="score-command">score-command</link></literal> <emphasis>pattern</emphasis> <emphasis>value</emphasis>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="score-command">score-command</link></literal> <emphasis>pattern</emphasis> &lsqb; <emphasis>pattern</emphasis> ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="send-hook">send-hook</link></literal> <emphasis>regexp</emphasis> <emphasis>command</emphasis>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="reply-hook">reply-hook</link></literal> <emphasis>regexp</emphasis> <emphasis>command</emphasis>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="set">set</link></literal> &lsqb;no&verbar;inv&rsqb;<emphasis>variable</emphasis>&lsqb;=<emphasis>value</emphasis>&rsqb; &lsqb; <emphasis>variable</emphasis> ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="set">set</link></literal> <emphasis>variable</emphasis> &lsqb;<emphasis>variable</emphasis> ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="source">source</link></literal> <emphasis>filename</emphasis>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="spam">spam</link></literal> <emphasis>pattern</emphasis> <emphasis>format</emphasis>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="spam">spam</link></literal> <emphasis>pattern</emphasis>
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="lists">lists</link></literal> <emphasis>regexp</emphasis> &lsqb; <emphasis>regexp</emphasis> ... &rsqb; 
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="lists">lists</link></literal> <emphasis>regexp</emphasis> &lsqb; <emphasis>regexp</emphasis> ... &rsqb; 
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="set">set</link></literal> <emphasis>variable</emphasis> &lsqb;<emphasis>variable</emphasis> ... &rsqb;
-</para>
-</listitem>
-<listitem>
-
-<para>
-<literal><link linkend="unhook">unhook</link></literal> <emphasis>hook-type</emphasis>
-</para>
-</listitem>
-
-</itemizedlist>
-
-</para>
-
-</sect1>
-
-<sect1 id="variables">
-<title>Configuration variables</title>
-
-<para>
-The following list contains all variables which, in the process of
-providing more consistency, have been renamed and are partially even
-removed already. The left column contains the old synonym variables,
-the right column the full/new name:
-</para>
-
-<para>
-<anchor id="sect-obsolete"/>
-
-<screen>
-edit_hdrs               edit_headers
-forw_decode             forward_decode
-forw_format             forward_format
-forw_quote              forward_quote
-hdr_format              index_format
-indent_str              indent_string
-mime_fwd                mime_forward
-msg_format              message_format
-pgp_autosign            crypt_autosign
-pgp_autoencrypt         crypt_autoencrypt
-pgp_replyencrypt        crypt_replyencrypt
-pgp_replysign           crypt_replysign
-pgp_replysignencrypted  crypt_replysignencrypted
-pgp_verify_sig          crypt_verify_sig
-pgp_create_traditional  pgp_autoinline
-pgp_auto_traditional    pgp_replyinline
-forw_decrypt            forward_decrypt
-smime_sign_as           smime_default_key
-post_indent_str         post_indent_string
-print_cmd               print_command
-shorten_hierarchy       sidebar_shorten_hierarchy
-ask_followup_to         nntp_ask_followup_to
-ask_x_comment_to        nntp_ask_x_comment_to
-catchup_newsgroup       nntp_catchup
-followup_to_poster      nntp_followup_to_poster
-group_index_format      nntp_group_index_format
-inews                   nntp_inews
-mime_subject            nntp_mime_subject
-news_cache_dir          nntp_cache_dir
-news_server             nntp_host
-newsrc                  nntp_newsrc
-nntp_poll               nntp_mail_check
-pop_checkinterval       pop_mail_check
-post_moderated          nntp_post_moderated
-save_unsubscribed       nntp_save_unsubscribed
-show_new_news           nntp_show_new_news
-show_only_unread        nntp_show_only_unread
-x_comment_to            nntp_x_comment_to
-smtp_auth_username      smtp_user
-smtp_auth_password      smtp_pass
-</screen>
-
-</para>
-
-<para>
-The <literal>contrib</literal> subdirectory contains a script named
-<literal>update-config.pl</literal> which eases migration.
-</para>
-
-<para>
-A complete list of current variables follows.
-</para>
+application/postscript; ps2ascii %s; copiousoutput</screen>
+        
+      </para>
+      
+      <para>
+        ``unauto&lowbar;view'' can be used to remove previous entries from the
+        autoview list.
+        This can be used with message-hook to autoview messages based on size,
+        etc.
+        ``unauto&lowbar;view *'' will remove all previous entries.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="alternative-order">
+      <title>MIME Multipart/Alternative  </title>
+      
+      <para>
+        Mutt-ng has some heuristics for determining which attachment of a
+        multipart/alternative type to display.  First, mutt will check the 
+        alternative&lowbar;order list to determine if one of the available
+        typesis preferred.  The alternative&lowbar;order list consists of a
+        number of
+        MIME types in order, including support for implicit and explicit
+        wildcards, for example:
+        
+        <screen>
+alternative_order text/enriched text/plain text
+application/postscript image/*</screen>
+        
+      </para>
+      
+      <para>
+        Next, mutt will check if any of the types have a defined 
+        <link linkend="auto-view">auto-view</link>, and use that.  Failing
+        that, Mutt-ng will look for any text type.  As a last attempt, mutt
+        willlook for any type it knows how to handle.
+      </para>
+      
+      <para>
+        To remove a MIME type from the <literal>alternative&lowbar;order</literal> list, use the
+        <literal>unalternative&lowbar;order</literal> command.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="mime-lookup">
+      <title>MIME Lookup  </title>
+      
+      <para>
+        Mutt-ng's mime&lowbar;lookup list specifies a list of mime-types that
+        should not
+        be treated according to their mailcap entry.  This option is designed
+        todeal with binary types such as application/octet-stream.  When an
+        attachment's
+        mime-type is listed in mime&lowbar;lookup, then the extension of the
+        filename will
+        be compared to the list of extensions in the mime.types file.  The
+        mime-type
+        associated with this extension will then be used to process the
+        attachment
+        according to the rules in the mailcap file and according to any other
+        configuration
+        options (such as auto&lowbar;view) specified.  Common usage would be:
+        
+        <screen>
+mime_lookup application/octet-stream application/X-Lotus-Manuscript</screen>
+        
+      </para>
+      
+      <para>
+        In addition, the unmime&lowbar;lookup command may be used to disable
+        this feature
+        for any particular mime-type if it had been set, for example, in a
+        global
+        muttrc.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+  </chapter>
+  
+  <chapter>
+    <title>Security Considerations    </title>
+    
+    <para>
+      First of all, mutt-ng contains no security holes included by
+      intention but may contain unknown security holes. As a consequence,
+      please run mutt-ng only with as few permissions as possible.
+    </para>
+    
+    <para>
+      Please do not run mutt-ng as the super user.
+    </para>
+    
+    <para>
+      When configuring mutt-ng, there're some points to note about secure
+      setups.
+    </para>
+    
+    <para>
+      In practice, mutt-ng can be easily made as vulnerable as even the
+      most insecure mail user agents (in their default configuration) just
+      by changing mutt-ng's configuration files: it then can execute
+      arbitrary programs and scripts attached to messages, send out private
+      data on its own, etc. Although this is not believed to the common type
+      of setup, please read this chapter carefully.
+    </para>
+    
+    <sect1>
+      <title>Passwords      </title>
+      
+      <para>
+        Although mutt-ng can be told the various passwords for accounts,
+        please never store passwords in configuration files. Besides the
+        fact that the system's operator can always read them, you could
+        forget to replace the actual password with asterisks when reporting
+        a bug or asking for help via, for example, a mailing list so that
+        your mail including your password could be archived by internet
+        search engines, etc. Please never store passwords on disk.
+      </para>
+      
+    </sect1>
+    
+    <sect1>
+      <title>Temporary Files      </title>
+      
+      <para>
+        Mutt-ng uses many temporary files for viewing messages, verifying
+        digital signatures, etc. The <link linkend="umask">umask</link>
+        variable can be used to change the default permissions of these
+        files. Please only change it if you really know what you are doing.
+        Also, a different location for these files may be desired which can
+        be changed via the <link linkend="tmpdir">tmpdir</link> variable.
+      </para>
+      
+    </sect1>
+    
+    <sect1>
+      <title>Information Leaks    </title>
+      
+      <sect2>
+        <title>Message-ID: headers      </title>
+        
+        <para>
+          In the default configuration, mutt-ng will leak some information
+          to the outside world when sending messages: the generation of
+          <literal>Message-ID:</literal> headers includes a step counter which
+          is increased
+          (and rotated) with every message sent. If you'd like to hide this
+          information probably telling others how many mail you sent in which
+          time, you at least need to remove the <literal>&percnt;P</literal>
+          expando from the
+          default setting of the <link linkend="msgid-format">msgid-format</link> variable. Please make sure that
+          you really know how local parts of these <literal>Message-ID:</literal> headers
+          are composed.
+        </para>
+        
+      </sect2>
+      
+      <sect2>
+        <title>mailto:-style links      </title>
+        
+        <para>
+          As mutt-ng be can be set up to be the mail client to handle
+          <literal>mailto:</literal> style links in websites, there're security
+          considerations, too. To keep the old behavior by default, mutt-ng
+          will be strict in interpreting them which means that arbitrary
+          header fields can be embedded in these links which could override
+          existing header fields or attach arbitrary files. This may be
+          problematic if the <link linkend="edit-headers">edit-headers</link>
+          variable is <emphasis>unset</emphasis>, i.e. the
+          user doesn't want to see header fields while editing the message.
+        </para>
+        
+        <para>
+          For example, following a link like
+        </para>
+        
+        <para>
+          
+          <screen>
+mailto:joe@host?Attach=~/.gnupg/secring.gpg</screen>
+          
+        </para>
+        
+        <para>
+          will send out the user's private gnupg keyring to <literal>joe@host</literal> if
+          the user doesn't follow the information on screen carefully
+          enough.
+        </para>
+        
+        <para>
+          When <emphasis>unsetting</emphasis> the <link linkend="strict-mailto">
+            strict-mailto
+          </link>
+          variable, mutt-ng will
+        </para>
+        
+        <para>
+          
+          <itemizedlist>
+            <listitem>
+              
+              <para>
+                be less strict when interpreting these links by
+                prepending a <literal>X-Mailto-</literal> string to all header
+                fields
+                embedded in such a link <emphasis>and</emphasis>
+                
+              </para>
+            </listitem>
+            <listitem>
+              
+              <para>
+                turn on the <link linkend="edit-headers">edit-headers</link>
+                variable by
+                force to let the user see all the headers
+                (because they still may leak information.)
+                
+              </para>
+            </listitem>
+            
+          </itemizedlist>
+          
+        </para>
+        
+      </sect2>
+      
+    </sect1>
+    
+    <sect1>
+      <title>External applications      </title>
+      
+      <para>
+        Mutt-ng in many places has to rely on external applications or
+        for convenience supports mechanisms involving external
+        applications.
+      </para>
+      
+      <sect2>
+        <title>mailcap        </title>
+        
+        <para>
+          One of these is the <literal>mailcap</literal> mechanism as defined
+          by RfC
+          1524. Mutt-ng can be set up to <emphasis>automatically</emphasis>
+          execute any
+          given utility as listed in one of the mailcap files (see the
+          <link linkend="mailcap-path">mailcap-path</link>
+          variable for details.) 
+        </para>
+        
+        <para>
+          These utilities may have a variety of security vulnerabilities,
+          including overwriting of arbitrary files, information leaks or
+          other exploitable bugs.  These vulnerabilities may go unnoticed by
+          the user, especially when they are called automatically (and
+          without interactive prompting) from the mailcap file(s). When
+          using mutt-ng's autoview mechanism in combination with mailcap
+          files, please be sure to...
+        </para>
+        
+        <para>
+          
+          <itemizedlist>
+            <listitem>
+              
+              <para>
+                manually select trustworth applications with a reasonable
+                calling sequence
+                
+              </para>
+            </listitem>
+            <listitem>
+              
+              <para>
+                periodically check the contents of mailcap files,
+                especially after software installations or upgrades
+                
+              </para>
+            </listitem>
+            <listitem>
+              
+              <para>
+                keep the software packages referenced in the mailcap file up to
+                date
+                
+              </para>
+            </listitem>
+            <listitem>
+              
+              <para>
+                leave the <link linkend="mailcap-sanitize">mailcap-sanitize</link> variable in its default
+                state to restrict mailcap expandos to a safe set of characters
+                
+              </para>
+            </listitem>
+            
+          </itemizedlist>
+          
+        </para>
+        
+      </sect2>
+      
+      <sect2>
+        <title>Other        </title>
+        
+        <para>
+          Besides the mailcap mechanism, mutt-ng uses a number of other
+          external utilities for operation.
+        </para>
+        
+        <para>
+          The same security considerations apply for these as for tools
+          involved via mailcap (for example, mutt-ng is vulnerable to Denial
+          of Service Attacks with compressed folders support if the
+          uncompressed mailbox is too large for the disk it is saved to.)
+        </para>
+        
+        <para>
+          As already noted, most of these problems are not built in but
+          caused by wrong configuration, so please check your configuration.
+        </para>
+        
+      </sect2>
+      
+    </sect1>
+    
+  </chapter>
+  
+  <chapter>
+    <title>Reference  </title>
+    
+    <sect1 id="commandline">
+      <title>Command line options  </title>
+      
+      <para>
+        Running <literal>mutt</literal> with no arguments will make Mutt-ng
+        attempt to read your spool
+        mailbox.  However, it is possible to read other mailboxes and
+        to send messages from the command line as well.
+      </para>
+      
+      <para>
+        
+        <table>
+          <title>Mutt-NG Command Line Options</title>
+          <tgroup cols="2" align="left" colsep="1" rowsep="1">
+          <thead>
+            <row>
+              <entry>Option</entry>
+              <entry>Description</entry>
+            </row>
+          </thead>
+          <tbody>
+            <row><entry><code>-A   </code></entry><entry>expand an alias</entry></row>
+            <row><entry><code>-a  </code></entry><entry>attach a file to a message</entry></row>
+            <row><entry><code>-b  </code></entry><entry>specify a blind carbon-copy (BCC) address</entry></row>
+            <row><entry><code>-c   </code></entry><entry>specify a carbon-copy (Cc) address</entry></row>
+            <row><entry><code>-e  </code></entry><entry>specify a config command to be run after initialization files are read</entry></row>
+            <row><entry><code>-f   </code></entry><entry>specify a mailbox to load</entry></row>
+            <row><entry><code>-F   </code></entry><entry>specify an alternate file to read initialization commands</entry></row>
+            <row><entry><code>-h   </code></entry><entry>print help on command line options</entry></row>
+            <row><entry><code>-H   </code></entry><entry>specify a draft file from which to read a header and body</entry></row>
+            <row><entry><code>-i   </code></entry><entry>specify a file to include in a message composition</entry></row>
+            <row><entry><code>-m   </code></entry><entry>specify a default mailbox type</entry></row>
+            <row><entry><code>-n   </code></entry><entry>do not read the system Muttngrc</entry></row>
+            <row><entry><code>-p   </code></entry><entry>recall a postponed message</entry></row>
+            <row><entry><code>-Q   </code></entry><entry>query a configuration variable</entry></row>
+            <row><entry><code>-R   </code></entry><entry>open mailbox in read-only mode</entry></row>
+            <row><entry><code>-s   </code></entry><entry>specify a subject (enclose in quotes if it contains spaces)</entry></row>
+            <row><entry><code>-t    </code></entry><entry>dump the value of all variables to stdout</entry></row>
+            <row><entry><code>-T   </code></entry><entry>dump the value of all changed variables to stdout</entry></row>
+            <row><entry><code>-v   </code></entry><entry>show version number and compile-time definitions</entry></row>
+            <row><entry><code>-x   </code></entry><entry>simulate the mailx(1) compose mode</entry></row>
+            <row><entry><code>-y    </code></entry><entry>show a menu containing the files specified by the mailboxes command</entry></row>
+            <row><entry><code>-z    </code></entry><entry>exit immediately if there are no messages in the mailbox</entry></row>
+            <row><entry><code>-Z   </code></entry><entry>open the first folder with new message,exit immediately if none</entry></row>
+          </tbody>
+        </tgroup>
+      </table>
+
+      </para>
+      
+      <para>
+        To read messages in a mailbox
+      </para>
+      
+      <para>
+        <literal>mutt</literal> &lsqb; -nz &rsqb; &lsqb; -F <emphasis>muttrc</emphasis> &rsqb; &lsqb; -m <emphasis>
+          type
+        </emphasis>
+        &rsqb; &lsqb; -f <emphasis>mailbox</emphasis> &rsqb; 
+      </para>
+      
+      <para>
+        To compose a new message
+      </para>
+      
+      <para>
+        <literal>mutt</literal> &lsqb; -n &rsqb; &lsqb; -F <emphasis>muttrc</emphasis> &rsqb; &lsqb; -a <emphasis>
+          file
+        </emphasis>
+        &rsqb; &lsqb; -c <emphasis>address</emphasis> &rsqb; &lsqb; -i <emphasis>
+          filename
+        </emphasis>
+        &rsqb; &lsqb; -s <emphasis>subject</emphasis> &rsqb; <emphasis>address</emphasis> &lsqb; <emphasis>
+          address
+        </emphasis>
+        ... &rsqb; 
+      </para>
+      
+      <para>
+        Mutt-ng also supports a ``batch'' mode to send prepared messages. 
+        Simply redirect
+        input from the file you wish to send.  For example,
+      </para>
+      
+      <para>
+        <literal>mutt -s &quot;data set for run &num;2&quot;
+          professor@bigschool.edu
+          &lt; &tilde;/run2.dat
+        </literal>
+      </para>
+      
+      <para>
+        This command will send a message to ``professor@bigschool.edu'' with a
+        subject
+        of ``data set for run &num;2''.  In the body of the message will be the
+        contents
+        of the file ``&tilde;/run2.dat''.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="patterns">
+      <title>Patterns  </title>
+
+      <para>
+
+        <table>
+          <title>Patterns</title>
+          <tgroup cols="2" align="left" colsep="1" rowsep="1">
+          <thead>
+            <row>
+              <entry>Pattern Modifier</entry>
+              <entry>Argument</entry>
+              <entry>Description</entry>
+            </row>
+          </thead>
+          <tbody>
+            <row><entry><code>~A </code></entry><entry><code></code></entry><entry>all messages</entry></row>
+            <row><entry><code>~b </code></entry><entry><code>EXPR      </code></entry><entry>messages which contain EXPR in the message body</entry></row>
+            <row><entry><code>~B </code></entry><entry><code>EXPR        </code></entry><entry>messages which contain EXPR in the whole message</entry></row>
+            <row><entry><code>~c </code></entry><entry><code>EXPR       </code></entry><entry>messages carbon-copied to EXPR</entry></row>
+            <row><entry><code>~C </code></entry><entry><code>EXPR       </code></entry><entry>message is either to: or cc: EXPR</entry></row>
+            <row><entry><code>~D </code></entry><entry><code></code></entry><entry>deleted messages</entry></row>
+            <row><entry><code>~d </code></entry><entry><code>[MIN]-[MAX] </code></entry><entry>messages with ``date-sent'' in a Date range</entry></row>
+            <row><entry><code>~E </code></entry><entry><code></code></entry><entry>expired messages</entry></row>
+            <row><entry><code>~e </code></entry><entry><code>EXPR       </code></entry><entry>message which contains EXPR in the ``Sender'' field</entry></row>
+            <row><entry><code>~F </code></entry><entry><code></code></entry><entry>flagged messages</entry></row>
+            <row><entry><code>~f </code></entry><entry><code>EXPR       </code></entry><entry>messages originating from EXPR</entry></row>
+            <row><entry><code>~g </code></entry><entry><code></code></entry><entry>cryptographically signed messages</entry></row>
+            <row><entry><code>~G </code></entry><entry><code></code></entry><entry>cryptographically encrypted messages</entry></row>
+            <row><entry><code>~H </code></entry><entry><code>EXPR       </code></entry><entry>messages with a spam attribute matching EXPR</entry></row>
+            <row><entry><code>~h </code></entry><entry><code>EXPR       </code></entry><entry>messages which contain EXPR in the message header</entry></row>
+            <row><entry><code>~k </code></entry><entry><code></code></entry><entry>message contains PGP key material</entry></row>
+            <row><entry><code>~i </code></entry><entry><code>EXPR         </code></entry><entry>message which match ID in the ``Message-ID'' field</entry></row>
+            <row><entry><code>~L </code></entry><entry><code>EXPR       </code></entry><entry>message is either originated or received by EXPR</entry></row>
+            <row><entry><code>~l </code></entry><entry><code></code></entry><entry>message is addressed to a known mailing list</entry></row>
+            <row><entry><code>~m </code></entry><entry><code>[MIN]-[MAX] </code></entry><entry>message in the range MIN to MAX *)</entry></row>
+            <row><entry><code>~M </code></entry><entry><code></code></entry><entry>multipart messages</entry></row>
+            <row><entry><code>~n </code></entry><entry><code>[MIN]-[MAX] </code></entry><entry>messages with a score in the range MIN to MAX *)</entry></row>
+            <row><entry><code>~N </code></entry><entry><code></code></entry><entry>new messages</entry></row>
+            <row><entry><code>~O </code></entry><entry><code></code></entry><entry>old messages</entry></row>
+            <row><entry><code>~p </code></entry><entry><code></code></entry><entry>message is addressed to you (consults alternates)</entry></row>
+            <row><entry><code>~P </code></entry><entry><code></code></entry><entry>message is from you (consults alternates)</entry></row>
+            <row><entry><code>~Q </code></entry><entry><code></code></entry><entry>messages which have been replied to</entry></row>
+            <row><entry><code>~R </code></entry><entry><code></code></entry><entry>read messages</entry></row>
+            <row><entry><code>~r </code></entry><entry><code>[MIN]-[MAX] </code></entry><entry>messages with ``date-received'' in a Date range</entry></row>
+            <row><entry><code>~S </code></entry><entry><code></code></entry><entry>superseded messages</entry></row>
+            <row><entry><code>~s </code></entry><entry><code>EXPR    </code></entry><entry>messages having EXPR in the ``Subject'' field.</entry></row>
+            <row><entry><code>~T </code></entry><entry><code></code></entry><entry>tagged messages</entry></row>
+            <row><entry><code>~t </code></entry><entry><code>EXPR       </code></entry><entry>messages addressed to EXPR</entry></row>
+            <row><entry><code>~U </code></entry><entry><code></code></entry><entry>unread messages</entry></row>
+            <row><entry><code>~u </code></entry><entry><code></code></entry><entry>message is addressed to a subscribed mailing list</entry></row>
+            <row><entry><code>~v </code></entry><entry><code></code></entry><entry>message is part of a collapsed thread.</entry></row>
+            <row><entry><code>~V </code></entry><entry><code></code></entry><entry>cryptographically verified messages</entry></row>
+            <row><entry><code>~w </code></entry><entry><code>EXPR    </code></entry><entry>messages which contain EXPR in the `Newsgroups' field (if compiled with NNTP support)</entry></row>
+            <row><entry><code>~x </code></entry><entry><code>EXPR  </code></entry><entry>messages which contain EXPR in the `References' field</entry></row>
+            <row><entry><code>~y </code></entry><entry><code>EXPR        </code></entry><entry>messages which contain EXPR in the `X-Label' field</entry></row>
+            <row><entry><code>~z </code></entry><entry><code>[MIN]-[MAX] </code></entry><entry>messages with a size in the range MIN to MAX *)</entry></row>
+            <row><entry><code>~= </code></entry><entry><code></code></entry><entry>duplicated messages (see $duplicate_threads)</entry></row>
+            <row><entry><code>~$ </code></entry><entry><code></code></entry><entry>unreferenced messages (requires threaded view)</entry></row>
+            <row><entry><code>~* </code></entry><entry><code></code></entry><entry>``From'' contains realname and (syntactically) valid address (excluded are addresses matching against alternates or any alias)</entry></row>
+          </tbody>
+        </tgroup>
+      </table>
+      </para>
+      
+      <para>
+        Where EXPR are 
+        <link linkend="regexp">regexp</link>.  Special attention has to be
+        made when using regular expressions inside of patterns.  Specifically,
+        Mutt-ng's parser for these patterns will strip one level of backslash
+        (\),
+        which is normally used for quoting.  If it is your intention to use a
+        backslash in the regular expression, you will need to use two
+        backslashes
+        instead (\\).
+      </para>
+      
+      <para>
+        *) The forms <literal>&lt;&lsqb;MAX&rsqb;</literal>, <literal>
+          &gt;&lsqb;MIN&rsqb;
+        </literal>
+        ,
+        <literal>&lsqb;MIN&rsqb;-</literal> and <literal>-&lsqb;MAX&rsqb;</literal>
+        are allowed, too.
+      </para>
+      
+      <para>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="commands">
+      <title>Configuration Commands  </title>
+      
+      <para>
+        The following are the commands understood by mutt.
+      </para>
+      
+      <para>
+        
+        <itemizedlist>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="account-hook">account-hook</link>
+              </literal>
+              <emphasis>pattern</emphasis> <emphasis>command</emphasis>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="alias">alias</link>
+              </literal>
+              <emphasis>key</emphasis> <emphasis>address</emphasis> &lsqb; , <emphasis>
+                address
+              </emphasis>
+              ,... &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="alias">alias</link>
+              </literal>
+              &lsqb; * &verbar; <emphasis>key</emphasis> ... &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="alternates">alternates</link>
+              </literal>
+              <emphasis>regexp</emphasis> &lsqb; <emphasis>regexp</emphasis>
+              ... &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="alternates">alternates</link>
+              </literal>
+              &lsqb; * &verbar; <emphasis>regexp</emphasis> ... &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="alternative-order">alternative-order</link>
+              </literal>
+              <emphasis>mimetype</emphasis> &lsqb; <emphasis>mimetype</emphasis> ... &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="alternative-order">alternative-order</link>
+              </literal>
+              <emphasis>mimetype</emphasis> &lsqb; <emphasis>mimetype</emphasis> ... &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="append-hook">append-hook</link>
+              </literal>
+              <emphasis>regexp</emphasis> <emphasis>command</emphasis>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="auto-view">auto-view</link>
+              </literal>
+              <emphasis>mimetype</emphasis> &lsqb; <emphasis>mimetype</emphasis> ... &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="auto-view">auto-view</link>
+              </literal>
+              <emphasis>mimetype</emphasis> &lsqb; <emphasis>mimetype</emphasis> ... &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="bind">bind</link>
+              </literal>
+              <emphasis>map</emphasis> <emphasis>key</emphasis> <emphasis>
+                function
+              </emphasis>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="charset-hook">charset-hook</link>
+              </literal>
+              <emphasis>alias</emphasis> <emphasis>charset</emphasis>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="close-hook">close-hook</link>
+              </literal>
+              <emphasis>regexp</emphasis> <emphasis>command</emphasis>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="color">color</link>
+              </literal>
+              <emphasis>object</emphasis> <emphasis>foreground</emphasis> <emphasis>
+                background
+              </emphasis>
+              &lsqb; <emphasis>regexp</emphasis> &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="color">color</link>
+              </literal>
+              <emphasis>index</emphasis> <emphasis>pattern</emphasis> &lsqb; <emphasis>
+                pattern
+              </emphasis>
+              ... &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="exec">exec</link>
+              </literal>
+              <emphasis>function</emphasis> &lsqb; <emphasis>function</emphasis> ... &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="fcc-hook">fcc-hook</link>
+              </literal>
+              <emphasis>pattern</emphasis> <emphasis>mailbox</emphasis>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="fcc-save-hook">fcc-save-hook</link>
+              </literal>
+              <emphasis>pattern</emphasis> <emphasis>mailbox</emphasis>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="folder-hook">folder-hook</link>
+              </literal>
+              <emphasis>pattern</emphasis> <emphasis>command</emphasis>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="hdr-order">hdr-order</link>
+              </literal>
+              <emphasis>header</emphasis> &lsqb; <emphasis>header</emphasis>
+              ... &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="hdr-order">hdr-order</link>
+              </literal>
+              <emphasis>header</emphasis> &lsqb; <emphasis>header</emphasis>
+              ... &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="charset-hook">charset-hook</link>
+              </literal>
+              <emphasis>charset</emphasis> <emphasis>local-charset</emphasis>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="ignore">ignore</link>
+              </literal>
+              <emphasis>pattern</emphasis> &lsqb; <emphasis>pattern</emphasis>
+              ... &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="ignore">ignore</link>
+              </literal>
+              <emphasis>pattern</emphasis> &lsqb; <emphasis>pattern</emphasis>
+              ... &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="lists">lists</link>
+              </literal>
+              <emphasis>regexp</emphasis> &lsqb; <emphasis>regexp</emphasis>
+              ... &rsqb; 
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="lists">lists</link>
+              </literal>
+              <emphasis>regexp</emphasis> &lsqb; <emphasis>regexp</emphasis>
+              ... &rsqb; 
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="macro">macro</link>
+              </literal>
+              <emphasis>menu</emphasis> <emphasis>key</emphasis> <emphasis>
+                sequence
+              </emphasis>
+              &lsqb; <emphasis>description</emphasis> &rsqb; 
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="mailboxes">mailboxes</link>
+              </literal>
+              <emphasis>filename</emphasis> &lsqb; <emphasis>filename</emphasis> ... &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="mbox-hook">mbox-hook</link>
+              </literal>
+              <emphasis>pattern</emphasis> <emphasis>mailbox</emphasis>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="message-hook">message-hook</link>
+              </literal>
+              <emphasis>pattern</emphasis> <emphasis>command</emphasis>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="mime-lookup">mime-lookup</link>
+              </literal>
+              <emphasis>mimetype</emphasis> &lsqb; <emphasis>mimetype</emphasis> ... &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="mime-lookup">mime-lookup</link>
+              </literal>
+              <emphasis>mimetype</emphasis> &lsqb; <emphasis>mimetype</emphasis> ... &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="color">color</link>
+              </literal>
+              <emphasis>object attribute</emphasis> &lsqb; <emphasis>regexp</emphasis> &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="color">color</link>
+              </literal>
+              <emphasis>index</emphasis> <emphasis>pattern</emphasis> &lsqb; <emphasis>
+                pattern
+              </emphasis>
+              ... &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="my-hdr">my-hdr</link>
+              </literal>
+              <emphasis>string</emphasis>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="my-hdr">my-hdr</link>
+              </literal>
+              <emphasis>field</emphasis> &lsqb; <emphasis>field</emphasis> ...
+              &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="open-hook">open-hook</link>
+              </literal>
+              <emphasis>regexp</emphasis> <emphasis>command</emphasis>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="crypt-hook">crypt-hook</link>
+              </literal>
+              <emphasis>pattern</emphasis> <emphasis>key-id</emphasis>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="push">push</link>
+              </literal>
+              <emphasis>string</emphasis>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="set">set</link>
+              </literal>
+              <emphasis>variable</emphasis> &lsqb;<emphasis>variable</emphasis>
+              ... &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="save-hook">save-hook</link>
+              </literal>
+              <emphasis>regexp</emphasis> <emphasis>filename</emphasis>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="score-command">score-command</link>
+              </literal>
+              <emphasis>pattern</emphasis> <emphasis>value</emphasis>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="score-command">score-command</link>
+              </literal>
+              <emphasis>pattern</emphasis> &lsqb; <emphasis>pattern</emphasis>
+              ... &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="send-hook">send-hook</link>
+              </literal>
+              <emphasis>regexp</emphasis> <emphasis>command</emphasis>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="reply-hook">reply-hook</link>
+              </literal>
+              <emphasis>regexp</emphasis> <emphasis>command</emphasis>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="set">set</link>
+              </literal>
+              &lsqb;no&verbar;inv&rsqb;<emphasis>variable</emphasis>&lsqb;=<emphasis>
+                value
+              </emphasis>
+              &rsqb; &lsqb; <emphasis>variable</emphasis> ... &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="set">set</link>
+              </literal>
+              <emphasis>variable</emphasis> &lsqb;<emphasis>variable</emphasis>
+              ... &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="source">source</link>
+              </literal>
+              <emphasis>filename</emphasis>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="spam">spam</link>
+              </literal>
+              <emphasis>pattern</emphasis> <emphasis>format</emphasis>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="spam">spam</link>
+              </literal>
+              <emphasis>pattern</emphasis>
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="lists">lists</link>
+              </literal>
+              <emphasis>regexp</emphasis> &lsqb; <emphasis>regexp</emphasis>
+              ... &rsqb; 
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="lists">lists</link>
+              </literal>
+              <emphasis>regexp</emphasis> &lsqb; <emphasis>regexp</emphasis>
+              ... &rsqb; 
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="set">set</link>
+              </literal>
+              <emphasis>variable</emphasis> &lsqb;<emphasis>variable</emphasis>
+              ... &rsqb;
+            </para>
+          </listitem>
+          <listitem>
+            
+            <para>
+              <literal>
+                <link linkend="unhook">unhook</link>
+              </literal>
+              <emphasis>hook-type</emphasis>
+            </para>
+          </listitem>
+          
+        </itemizedlist>
+        
+      </para>
+      
+    </sect1>
+    
+    <sect1 id="variables">
+      <title>Configuration variables</title>
+      
+      <para>
+        The following list contains all variables which, in the process of
+        providing more consistency, have been renamed and are partially even
+        removed already. The left column contains the old synonym variables,
+        the right column the full/new name:
+      </para>
+      
+      <para>
+        <anchor id="sect-obsolete"/>
+
+        <table>
+          <title>Obsolete Variables</title>
+          <tgroup cols="2" align="left" colsep="1" rowsep="1">
+          <thead>
+            <row>
+              <entry>Old Name</entry>
+              <entry>New Name</entry>
+            </row>
+          </thead>
+          <tbody>
+            <row><entry><code>edit_hdrs</code></entry><entry><code>edit_headers</code></entry></row>
+            <row><entry><code>forw_decode</code></entry><entry><code>forward_decode</code></entry></row>
+            <row><entry><code>forw_format</code></entry><entry><code>forward_format</code></entry></row>
+            <row><entry><code>forw_quote</code></entry><entry><code>forward_quote</code></entry></row>
+            <row><entry><code>hdr_format</code></entry><entry><code>index_format</code></entry></row>
+            <row><entry><code>indent_str</code></entry><entry><code>indent_string</code></entry></row>
+            <row><entry><code>mime_fwd</code></entry><entry><code>mime_forward</code></entry></row>
+            <row><entry><code>msg_format</code></entry><entry><code>message_format</code></entry></row>
+            <row><entry><code>pgp_autosign</code></entry><entry><code>crypt_autosign</code></entry></row>
+            <row><entry><code>pgp_autoencrypt</code></entry><entry><code>crypt_autoencrypt</code></entry></row>
+            <row><entry><code>pgp_replyencrypt</code></entry><entry><code>crypt_replyencrypt</code></entry></row>
+            <row><entry><code>pgp_replysign</code></entry><entry><code>crypt_replysign</code></entry></row>
+            <row><entry><code>pgp_replysignencrypted</code></entry><entry><code>crypt_replysignencrypted</code></entry></row>
+            <row><entry><code>pgp_verify_sig</code></entry><entry><code>crypt_verify_sig</code></entry></row>
+            <row><entry><code>pgp_create_traditional</code></entry><entry><code>pgp_autoinline</code></entry></row>
+            <row><entry><code>pgp_auto_traditional</code></entry><entry><code>pgp_replyinline</code></entry></row>
+            <row><entry><code>forw_decrypt</code></entry><entry><code>forward_decrypt</code></entry></row>
+            <row><entry><code>smime_sign_as</code></entry><entry><code>smime_default_key</code></entry></row>
+            <row><entry><code>post_indent_str</code></entry><entry><code>post_indent_string</code></entry></row>
+            <row><entry><code>print_cmd</code></entry><entry><code>print_command</code></entry></row>
+            <row><entry><code>shorten_hierarchy</code></entry><entry><code>sidebar_shorten_hierarchy</code></entry></row>
+            <row><entry><code>ask_followup_to</code></entry><entry><code>nntp_ask_followup_to</code></entry></row>
+            <row><entry><code>ask_x_comment_to</code></entry><entry><code>nntp_ask_x_comment_to</code></entry></row>
+            <row><entry><code>catchup_newsgroup</code></entry><entry><code>nntp_catchup</code></entry></row>
+            <row><entry><code>followup_to_poster</code></entry><entry><code>nntp_followup_to_poster</code></entry></row>
+            <row><entry><code>group_index_format</code></entry><entry><code>nntp_group_index_format</code></entry></row>
+            <row><entry><code>inews</code></entry><entry><code>nntp_inews</code></entry></row>
+            <row><entry><code>mime_subject</code></entry><entry><code>nntp_mime_subject</code></entry></row>
+            <row><entry><code>news_cache_dir</code></entry><entry><code>nntp_cache_dir</code></entry></row>
+            <row><entry><code>news_server</code></entry><entry><code>nntp_host</code></entry></row>
+            <row><entry><code>newsrc</code></entry><entry><code>nntp_newsrc</code></entry></row>
+            <row><entry><code>nntp_poll</code></entry><entry><code>nntp_mail_check</code></entry></row>
+            <row><entry><code>pop_checkinterval</code></entry><entry><code>pop_mail_check</code></entry></row>
+            <row><entry><code>post_moderated</code></entry><entry><code>nntp_post_moderated</code></entry></row>
+            <row><entry><code>save_unsubscribed</code></entry><entry><code>nntp_save_unsubscribed</code></entry></row>
+            <row><entry><code>show_new_news</code></entry><entry><code>nntp_show_new_news</code></entry></row>
+            <row><entry><code>show_only_unread</code></entry><entry><code>nntp_show_only_unread</code></entry></row>
+            <row><entry><code>x_comment_to</code></entry><entry><code>nntp_x_comment_to</code></entry></row>
+            <row><entry><code>smtp_auth_username</code></entry><entry><code>smtp_user</code></entry></row>
+            <row><entry><code>smtp_auth_password</code></entry><entry><code>smtp_pass</code></entry></row>
+            <row><entry><code>user_agent</code></entry><entry><code>agent_string</code></entry></row>
+          </tbody>
+        </tgroup>
+      </table>
+
+      </para>
+      
+      <para>
+        The <literal>contrib</literal> subdirectory contains a script named
+        <literal>update-config.pl</literal> which eases migration.
+      </para>
+      
+      <para>
+        A complete list of current variables follows.
+      </para>