
                             Alpine Technical Notes

   Version 2.26, June 2022

Table of Contents

  Introduction

     * Design Goals
     * Alpine Components

  Background Details

     * Domain Names
     * RFC 2822 Compliance
     * SMTP and Sendmail
     * Internet Message Access Protocol (IMAP)
     * Multipurpose Internet Mail Extensions (MIME)
     * Folder Collections

  Building and Installation

     * Compile-time Options
     * Including LDAP Functionality
     * Including Kerberos 5 Functionality
     * Other Alpine Compile-time Options
     * IMAPd Compile-time Options
     * Building the Alpine Programs
     * Installing Alpine and Pico on UNIX Platforms
     * Installing PC-Alpine
     * Installing IMAPd
     * Support Files and Environment Variables: UNIX Alpine
     * Support Files, Environment Variables, and Registry Values:
       PC-Alpine

  Command Line Arguments

     * Alpine
     * Pico
     * Pilot

  Configuration and Preferences

     * Alpine Configuration
     * General Configuration Variables
     * Configuration Features
     * Hidden Config Variables and Features
     * Retired Variables
     * Tokens for Index and Replying
     * Conditional Inclusion of Text for Reply-Leadin, Signatures, and
       Templates
     * Per Server Directory Configuration
     * Color Configuration
     * Index Line Color Configuration
     * Role Configuration
     * Filtering Configuration
     * Scoring Configuration
     * Other Rules Configuration
     * Search Rules Configuration
     * Patterns
     * Configuring News
       Configuration Notes
          + Alpine in Function Key Mode
          + Domain Settings
          + Syntax for Collections
          + Syntax for Folder Names
          + Server Name Syntax
          + Folder Namespaces
          + What is a Mail Drop?
          + Sorting a Folder
          + Alternate Editor
          + Signatures and Signature Placement
          + Feature List Variable
          + Configuration Inheritance
          + Using Environment Variables
          + SMTP Servers
          + MIME.Types file
          + Color Details
          + S/MIME Overview
          + Additional Notes on PC-Alpine

  Behind the Scenes

     * Address Books
     * Remote Configuration
     * Checkpointing
     * Debug Files
     * INBOX and Special Folders
     * Internal Help Files
     * International Character Sets
     * Interrupted and Postponed Messages
     * Message Status
     * MIME: Reading a Message
     * MIME: Sending a Message
     * New Mail Notification
     * NFS
     * Printers and Printing
     * Save and Export
     * Sent Mail
     * Spell Checker
     * Terminal Emulation and Key Mapping

                                  Introduction

Design Goals

   Throughout _Alpine_ development, we have had to strike a balance
   between the need to include features which advanced users require and
   the need to keep things simple for beginning users. To strike this
   balance, we have tried to adhere to these design principles:

          - The model presented to the user has to be simple and clear.
          Underlying system operation is hidden as much as possible.
          - It's better to have a few easily understood commands that can
          be repeated than to have some more sophisticated command that
          will do the job all at once.
          - Whenever the user has to select a command, file name, address,
          etc., the user should be given (or can get) a menu from which to
          make the selection. Menus need to be complete, small, organized
          and well thought out.
          - _Alpine_ must provide immediate feedback for the user with
          each operation.
          - _Alpine_ must be very tolerant of user errors. Any time a user
          is about to perform an irreversible act (send a message, expunge
          messages from a folder), _Alpine_ should ask for confirmation.
          - Users should be able to learn by exploration without fear of
          doing anything wrong. This is an important feature so the user
          can get started quickly without reading any manuals and so fewer
          manuals are required.
          - The core set of _Alpine_ functions should be kept to a minimum
          so new users don't feel "lost" in seemingly extraneous commands
          and concepts.

   Just as there were goals relating to the look and feel of _Alpine_,
   there were equally important goals having to do with _Alpine_'s
   structure-the things that users never see but still rely on every time
   they use _Alpine_. While _Alpine_ can be used as a stand-alone mail
   user agent, one of its strongest assets is its use of the Internet
   Message Access Protocol (IMAP) for accessing remote email folders. In
   addition, _Pine_ (the predecessor of _Alpine_) was one of the first
   programs to support the Multipurpose Internet Mail Extensions (MIME)
   specification. With MIME, _Alpine_ users can reliably send any binary
   file to any other person on the Internet who uses a MIME compliant
   email program.

   The decision to use IMAP and MIME reflects the importance of
   interoperability, standardization and robustness in _Alpine_. As you
   work with _Alpine_ more, you will see other features which reflect the
   same values. For example, _Alpine_ enforces strict compliance with RFC
   2822, implements a strong mail folder locking mechanism and verifies a
   process before overwriting any files (e.g. addressbook, expunging
   messages).

Alpine Components

   If you have picked up the _Alpine_ distribution, then you already know
   that _Alpine_ comes in a few different pieces. They are:

   _Alpine_
          The main code from which the _Alpine_ program is compiled.
   _Pico_
          _Pico_ is the name for the _Alpine_ composer. The _Pico_ code is
          used in two ways: (1) it is compiled on its own to be a
          stand-alone editor and, (2) it is compiled as a library for
          _Alpine_ to support composition of messages within _Alpine_.
          _Pico_ is _Alpine_'s internal editor invoked when users need to
          fill in header lines or type the text of an email message.
   _Imap_
          An API for IMAP. Includes the C-Client library, which is
          compiled into _Alpine_, and the IMAP server _IMAPd_. C-Client
          implements the IMAP protocol and also negotiates all access
          between _Alpine_ and the mail folders it operates on, even if
          the folders are local. The C-Client routines are used for email
          folder parsing and interpreting MIME messages. _IMAPd_ is a
          separate server that handles IMAP connections from any
          IMAP-compliant email program. When _Alpine_ accesses a remote
          mailbox, the _Alpine_ program is the IMAP client and the _IMAPd_
          program is the IMAP server. Of course, _Alpine_ can use any
          IMAP-compliant IMAP server, not just _IMAPd_.

                               Background Details

Domain Names

   Domain names are used to uniquely name each host on the Internet. A
   domain name has a number of parts separated by periods. Each label
   represents a level in the hierarchy. An example of a name is:

     olive.cac.washington.edu

   In this domain name the top-level label is _edu_, indicating it is at
   an educational institution, the second-level label is _washington_,
   indicating the University of Washington. _cac_ is a specific department
   within the University of Washington, and _olive_ is the host name. The
   top-level names are assigned by Internet organizations, and other names
   are assigned at the appropriate level. The Domain Name Service, DNS, is
   the distributed database used to look up these names.

   _Alpine_ relies on domain names in multiple places. A domain name is
   embedded into the message-id line generated for each piece of email. A
   domain name is needed to contact an IMAP server to get access to remote
   INBOXes and folders. Most importantly, domain names are needed to
   construct the From: line of your outgoing messages so that people on
   the Internet will be able to get email back to you.

   On UNIX systems, you can set the domain via the user-domain variable in
   the _Alpine_ configuration file, or rely on the file /etc/hosts which
   usually sets the name of the local host. While _Alpine_ can often
   deliver email without the domain name being properly configured, it is
   best to have this set correctly. Problems can usually be solved by
   adjusting the system's entry in the /etc/hosts file. The
   fully-qualified name should be listed before any abbreviations. For
   example,

     128.95.112.99 olive.cac.washington.edu olive

   is preferred over

     128.95.112.99 olive olive.cac.washington.edu

   On PCs, the task of configuring the domain name is a bit different.
   Often times PCs do not have domain names-they have _IP addresses_. IP
   addresses are the numbers which uniquely identify a computer on the
   network. The way you configure your IP address depends on the
   networking software which you use on the PC. You can refer to the
   documentation which came with your networking software or see the PC
   specific installation notes for help configuring the IP address with
   your network software.

   With PCs, it is vital that users set the variable user-domain in the
   _Alpine_ configuration file (PINERC).

   Details on configuring _Alpine_ with correct domain names can be found
   in the Domain Settings section of this document.
     __________________________________________________________________

RFC 2822 Compliance

   _Alpine_ tries to adhere to RFC 2822 fairly strictly.

   As far as outgoing email is concerned, _Alpine_ fully-qualifies
   addresses whenever possible. They are even displayed in fully-qualified
   form on the terminal as the user composes a message. This makes
   addresses more clear and gives a hint to the user that the network
   extends beyond the local organization. _Alpine_ implements
   fully-qualified domain names by tacking on the local domain to all
   unqualified addresses which a user types in. Any address which does not
   contain an "@" is considered unqualified.

   The format for addresses allows for spaces and special characters in
   the full name of an address. For this reason, commas are required to
   separate addresses. If any special characters as defined in RFC 2822
   appear in the full name, quotes are required around the address.
   _Alpine_ will insert the quotes automatically if needed. The common
   cases where this happens are with periods after initials and
   parentheses.

   _Alpine_ expects dates to be in the standard RFC 822 format which is
   something like:
        [www, ] dd mmm yy hh:mm[:ss] [timezone]

   It will attempt to parse dates that are not in this format. When an
   unparsable date is encountered it is shown as question marks in the
   FOLDER INDEX screen.
     __________________________________________________________________

SMTP and Sendmail

   _Alpine_ is a _user agent_ not a _message transfer agent_ (MTA). In
   plain English, that means _Alpine_ does not know how to interact with
   other computers on the Internet to deliver or receive email. What
   _Alpine_ does know how to do is help users read, organize and create
   email. The "dirty work" of delivering and accepting email is handled by
   other programs.

   All outgoing email is delivered to an SMTP server or to a mail transfer
   agent. A common mail transfer agent is sendmail. The usual method of
   delivery used by _Alpine_ is to use either a local or a remote SMTP
   server.

   The selection of which MTA to use depends on the settings of
   smtp-server, sendmail-path, and compile-time options. The first MTA
   specified in the following list is used:
    1. _sendmail-path_ in /etc/pine.conf.fixed
    2. _smtp-server_ in /etc/pine.conf.fixed
    3. _sendmail-path_ specified on the command line.
    4. _smtp-server_ specified in a role being used.
    5. _smtp-server_ specified on the command line.
    6. _sendmail-path_ in the user's .pinerc file.
    7. _smtp-server_ in the user's .pinerc file.
    8. _sendmail-path_ in /etc/pine.conf
    9. _smtp-server_ in /etc/pine.conf
   10. DF_SENDMAIL_PATH defined at compile time.
   11. SENDMAIL and SENDMAILFLAGS defined at compile time.

   If the _sendmail-path_ form is used, a child process is forked, and the
   specified command is executed with the message passed on standard
   input. Standard output is then passed back and displayed for the user.
   _NOTE: The program MUST read the message to be posted on standard input,
   AND operate in the style of sendmail's "-t" option. This method is not
   recommended unless there are special reasons you want to do this._

   If an _smtp-server_ is specified, _Alpine_ operates as an SMTP client.
   SMTP stands for _Simple Mail Transfer Protocol_; it specifies the rules
   by which computers on the Internet pass email to one another. In this
   case, _Alpine_ passes outgoing email messages to a designated SMTP
   server instead of to a mail transfer program on the local machine. A
   program on the server then takes care of delivering the message. To
   make _Alpine_ operate as an SMTP client, the smtp-server variable must
   be set to the IP address or host name of the SMTP server within your
   organization. This variable accepts a comma separated list of servers,
   so you can specify multiple alternate SMTP servers. _PC-Alpine_ only
   runs as an SMTP client so the _smtp-server_ option is mandatory.

   For UNIX _Alpine_, if neither _smtp-server_ or _sendmail-path_ is set,
   the default sendmail program is invoked with the "-bs -odb -oem" flags,
   and the message is sent using the SMTP protocol.
     __________________________________________________________________

Internet Message Access Protocol (IMAP)

   IMAP is a remote access protocol for message stores. _Alpine_ uses IMAP
   to get at messages and folders which reside on remote machines. With
   IMAP, messages are kept on the server. An IMAP client (such as
   _Alpine_) can request specific messages, headers, message structures,
   message parts, etc. The client can also issue commands which delete
   messages from folders on the server. IMAP's closest kin is POP, the
   Post Office Protocol, which works by transferring an entire mailbox to
   the client where all the mail is kept. For a comparison of IMAP and
   POP, see the paper "Comparing Two Approaches to Remote Mailbox Access:
   IMAP vs. POP" by Terry Gray. A more detailed exploration of message
   access may be found in the paper " Message Access Paradigms and
   Protocols."

   IMAP Features:
     * Allows access to mail folders from more than one client computer.
     * Works well over low-bandwidth lines because information is sent in
       small pieces as needed by the user. For example, only header
       information is sent to build index lists, and if someone sends a
       large audio file via MIME, you can choose when (or if) you want to
       get that part of the message.
     * Email can be delivered and stored on a well-maintained and reliable
       server which is "always-up".
     * Folders can be accessed and manipulated from anywhere on the
       Internet.
     * Users can get to messages stored in different folders within the
       same _Alpine_ session.
     * Allows use of IMAP server for searching and parsing.
     * The latest revision of IMAP (IMAP4) also provides for disconnected
       operation, including resynchronization of message state between
       mail servers and message caches on clients. _Alpine_ does not
       support this capability, however.

   IMAP4rev1 is described in RFC 3501. Further information about IMAP may
   be obtained from the University of Washington's IMAP Information
   Center.

   _Alpine_ is an IMAP4rev1 client.
     __________________________________________________________________

Multipurpose Internet Mail Extensions (MIME)

   MIME is a way of encoding a multipart message structure into a standard
   Internet email message. The parts may be nested and may be of seven
   different types: Text, Audio, Image, Video, Message, Application and
   Multipart (nested). The MIME specification allows email programs such
   as _Alpine_ to reliably and simply exchange binary data (images,
   spreadsheets, etc.). MIME includes support for international character
   sets, tagging each part of a message with the character set it is
   written in, and providing 7-bit encoding of 8-bit character sets.

   The MIME standard was officially published in June of 1992 as RFC 1341
   and subsequently revised in RFC 2045 when it became a full Internet
   Standard. _Pine_ 3.0 was one of the first email programs to Implement
   MIME. Now, there are dozens of commercial and freely available
   MIME-capable email programs. In addition, MIME is being added to
   newsreaders so MIME messages can be posted and read in USENET
   newsgroups.

   The MIME standard also includes support for non-ASCII text in message
   headers through the extensions described in RFC 1342 and subsequently
   revised in RFC 2047.

   An actual MIME message looks something like this:
Date: Tue, 12 Mar 1996 15:39:35 -0800 (PST)
From: David L Miller <dlm@cac.washington.edu>
To: David L Miller <dlm@cac.washington.edu>
Subject: =?iso-8859-1?Q?Test_MIME_message_with_RFC-1522_headers_=28=E1?=    =?is
o-8859-1?Q?=E2=E3=29?=
Message-Id: <Pine.ULT.3.92.960312150851.21583I-101000@shiva2.cac.washington.edu>
Mime-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="0-1737669234-826673975=:21583"
Content-Id: <Pine.ULT.3.92.960312153928.21583O@shiva2.cac.washington.edu>

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--0-1737669234-826673975=:21583
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine.ULT.3.92.960312153104.21583L@shiva2.cac.washington.edu>

The text of the message would go here. It is readable if
one doesn't mind wading around a little bit of the MIME
formatting. After this is a binary file in base 64
encoding.

|\ |  |\/|  David L. Miller    dlm@cac.washington.edu  (206) 685-6240
|/ |_ |  |  Software Engineer, Pine Development Team   (206) 685-4045 (FAX)
University of Washington, Networks & Distributed Computing, JE-20
4545 15th Ave NE, Seattle WA 98105, USA

--0-1737669234-826673975=:21583
Content-Type: APPLICATION/ZIP; NAME="test.zip"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.ULT.3.92.960312153638.21583N@shiva2.cac.washington.edu>
Content-Description: Test Attachment

UEsDBBQAAAAIAGh8bCBbZKT4ygIAAHgFAAAEAAAAdGVzdIVUX2vbMBB/16c4
9rSBNyjsYX1UHSUROLInycv2qNhKI5ZYxlLa5dvvpDRLw6CFgJF09/t3Rxo3
WDBDD43rPJjJQpxMbw9m+h3AbyHuLLSDe7JTcPGUbtYm7NzwGP3wBYQnnT8c
7NQ5s4djsC8t4QbmYE6wsfjpLTy7uPPHCOPk/ATPk4vRDmS008GF4PzwPich
zY3m4LfxOQlPNy4GcEO3P/a2h2j/xGyp9ONpco+7CHf33+4/393ff4XNibzL
c1UVfXJXQIdIBRx877b4TYy9C3Fym2NEyzsX/pNDet8dD3aIJiagLbo2wwnG
4zT6cK66ZLK1NhH9J4tcZQEy7OxkNyd4nMwQbV9glP7JZb87E3O32fgnm7We
XQ8+us4SM47WTCkgMPt9enc2ZAW5c+Pj7o32l0IXXk/r8pSRE3A4jqOfIqqF
G+PFlSdRDOaQduXNESTwtDcYfJ8191gWXUjYmOJ43Oxdh11JTzRuSPcY37+B
vNqmf0O5RB1G27mt64rLCp4X8pW1L6BvxunCeYHNk3F7s9lb+GAwyvAhOyNE
Lxm0gv9gUnH9C+o5rKlacrHQtYAZV2VF+UoBrSp8kJIKzZkqgP1sJFMKagl8
1VSczQqy5noJki2onIGuQS+5AlXPNfaxArgoq3aGwJDq6lZDxVdcU82RKMG/
4JArTVKzYrJc4pE+8CoJpGIGc65FIp8jO4WGSs3LtqISmlY2tUKyVMUFETWw
H0xoUMvE8KbXB4aC6EPFzrDiF6iGlZxWBeFixiUrdXJb1kKx7y2C4hPM6Iou
WI4hdVyO6yXVqkZqiXmottLJ9lzWK1LVKttqk8oZ1TS1NrJGS5jqeslQI0aK
ieCvzNlgNZJqiccCc5WafLxmKdii4gsmSvYpISkteamzkRwXJiG5SoUpcERK
8xIE8QQ7o+eh5WAUy1qYRP8rioip/maI+OfyF1BLAQIUAxQAAAAIAGh8bCBb
ZKT4ygIAAHgFAAAEAAAAAAAAAAEAAACkgQAAAAB0ZXN0UEsFBgAAAAABAAEA
MgAAAOwCAAAAAA==
--0-1737669234-826673975=:21583--


   For details about _Alpine_'s implementation of MIME, see the two MIME
   sections "MIME: Reading a Message" and "MIME: Sending a Message" later
   in this document.
     __________________________________________________________________

Folder Collections

   Folder Collections are _Alpine_'s way of dealing with more than a
   single group of folders.

   For a more complete description of Folder Collections, see the section
   on "Syntax for Collections."

   The _Alpine_ distribution is designed to require as little
   configuration and effort at compile time as possible. Still, there are
   some _Alpine_ behaviors which are set at the time you compile _Alpine_.
   For each of these, there is a reasonable (our opinion) default built
   into the code, so most systems administrators will have no need for
   these steps.

                           Building and Installation

Compile-time Options

   _Alpine_'s UNIX build environment is based on Autotools (the GNU Build
   System). Once you've unpacked the source distribution find the file
   configure in the top-level directory. You may look at the many options
   available by typing

                             ./configure --help

   or you could just try building with the command

                                 ./configure

   followed by

                                    make

   Note, while the UW IMAP Toolkit (whose c-client library _Alpine_ uses
   for mailbox access) build is not based on Autotools, _Alpine_'s
   configure script should set an appropriate make target and compilation
   options for most systems.

   Some of the following can only be set when you build. Others, however,
   can be overridden by command-line flags to _Alpine_ or settings in
   _Alpine_'s user or system configuration files. Some of the options which
   can be set when building:

  Including LDAP Functionality

   By default, the configure script will attempt to find the LDAP library
   support for you. If you are having trouble with LDAP take a look at the
   configure options
   --with-ldap-dir=DIR
          Specify the root of the LDAP lib/include path.
   --with-ldap-include-dir=DIR
          Specify the LDAP include path.
   --with-ldap-lib-dir=DIR
          Specify the LDAP library path.
   --without-ldap
          Disable LDAP support.

   _Alpine_ uses LDAPv3 protocol. When using the LDAPv3 protocol, the
   results are assumed to be in the UTF-8 character set, which _Alpine_
   handles well. If the LDAP server returns non-ascii data which is not
   encoded as UTF-8 you will probably run into problems.

  Including Kerberos 5 Functionality

   This works analogously to the LDAP build. By default, the configure
   script will attempt to find the Kerberos library support for you. If
   you are having trouble with Kerberos take a look at the configure
   options
   --with-krb5-dir=DIR
          Specify the root of the Kerberos lib/include path.
   --with-krb5-include-dir=DIR
          Specify the Kerberos include path.
   --with-krb5-lib-dir=DIR
          Specify the Kerberos library path.
   --without-krb5
          Disable Kerberos support.

  Other Alpine Compile-time Options

   --disable-nls
          Do not use Native Language Support. NLS refers to the use of GNU
          gettext utilities to localize a program, in the sense that
          English is translated to some other language. At the time this
          was written the low-level support for NSL is included in _Alpine_
          but no translations have been done. If there is no translation
          available, that means that disabling NLS will make no
          difference. If you have trouble building which is due to gettext
          or libintl you could try this option, or one of the following.
   --with-libintl-prefix[=DIR]
   --without-libintl-prefix
   --with-ssl-dir=DIR
          Specify the root of the SSL lib/include path (OpenSSL).
   --with-ssl-include-dir=DIR
          Specify the SSL include path.
   --with-ssl-lib-dir=DIR
          Specify the SSL library path.
   --with-ssl-certs-dir=DIR
          Specify the path to the SSL certificates directory.
   --without-ssl
          Disable SSL support.
   --without-pthread
          Do not test for nor build with POSIX thread support, which is
          used only for the Busy-Cue in the status line at this time.
   --without-smime
          Disable S/MIME support.
   --disable-debug
          Never create debug files.
   --with-smtp-msa=PATH
          Local Mail Submission Agent (sendmail, by default).
   --with-smtp-msa-flags=FLAGS
          MSA flags for SMTP on stdin/stdout (-bs -odb -oem).

   There are many more options which you can see using the

                             ./configure --help

   command.

  IMAPd Compile-time Options

   There are no options or settings required for the version of _IMAPd_
   distributed with _Alpine_. If you need to be doing more complex
   modifications to IMAP, then you should pick up the IMAP development
   package and work with that code. The developer's version of IMAP is
   available for anonymous ftp from ftp.cac.washington.edu in the
   directory mail. The file is called imap.tar.Z. Unless it has changed
   since _Alpine_ was released, the directory imap in the _Alpine_
   distribution is the IMAP development package.

   The c-client library has not been converted to use the GNU Build
   System's autotools. The _Alpine_ configure script will try to correctly
   guess the arguments needed for the c-client make command and will build
   the library, but if you need to change anything you should take a look
   at imap/docs/BUILD for more detailed instructions.
     __________________________________________________________________

Building the Alpine Programs

   You may have already compiled _Alpine_ and tried it out. If so, great!
   If not, you should be able to do it without too much trouble by
   following these step-by-step instructions:

    1. Make sure you're in the root of the _Alpine_ source. When you type
       ls you should see the following files and directories (or something
       close to it):
aclocal.m4    config.sub    imap        Makefile.am    packages  web
alpine        configure     include     Makefile.in    pico
build.bat     configure.ac  install-sh  mapi           pith
build.cmd     contrib       LICENSE     missing        po
config.guess  depcomp       ltmain.sh   mkinstalldirs  README
config.rpath  doc           m4          NOTICE         VERSION

    2. Give the command ./configure Configure should grind away for a few
       minutes.
    3. When configure is complete, give the command make. If make stops
       and asks

         Do you want to build with IPv6 anyway? Type y or n please:
       you should answer with a 'y'. The compiler should grind away for a
       few minutes. The _Alpine_ binary will end up in .../alpine/alpine
       and the Pico and Pilot binaries in .../pico/pico and
       .../pico/pilot. Other binaries you may be interested in are
       .../alpine/rpdump and .../alpine/rpload and c-client binaries in
       the directories .../imap/imapd, .../imap/ipopd, .../imap/mailutil,
       and so on.
    4. If you need to try again, make sure you're getting a clean start by
       giving the command make clean.
     __________________________________________________________________

Installing Alpine and Pico on UNIX Platforms

   Installing _Alpine_ and _Pico_ is simple. You take the program files
   which you have just transferred or built and you move them to the
   correct directory on your system. Most often the binaries go in
   /usr/local/bin though sometimes they are placed in /usr/bin. All the
   help text is compiled into _Alpine_ so there are no _required_
   auxiliary files. Instead of copying the binaries manually, you may use
   make install to install them.

   There are three optional auxiliary files: /etc/pine.info,
   /etc/pine.conf, and /etc/pine.conf.fixed. The file
   pine.info contains text on how to get further help on the local system.
   It is part of the help text for the main menu and should probably refer
   to the local help desk or the system administrator. If this file
   doesn't exist a generic version which suggests ``talking to the
   computer support staff at your site'' is shown. The file pine.conf is
   used to set system-wide default configurations for _Alpine_. The file
   pine.conf.fixed is also used to set system-wide default configurations
   for _Alpine_. The difference between these two files is that
   configuration variables set in the pine.conf.fixed file may not
   normally be over-ridden by a user. See the section on Alpine
   Configuration later in this document for details about the pine.conf
   and pine.conf.fixed files.
     __________________________________________________________________

Installing PC-Alpine

   The PC-Alpine distribution comes as a .zip file. To install, unzip the
   files to a directory where you would like the program to reside. Modern
   Windows versions come with the capability of unzipping .zip files.
   Failing that, you can use one of the many .zip file extractors out
   there. Following current Windows conventions, a common directory into
   which the files could be extracted would be C:\Program
   Files\PC-Alpine\.

   Having extracted PC-Alpine's .zip file to the directory of choice, you
   can now run that directory's alpine.exe, which is the actual PC-Alpine
   program. For convenience, you could place shortcuts to it on the task
   bar, start menu, etc.

   Upon first running PC-Alpine, you may be asked where you would like to
   access your Configuration file (called the _pinerc_). This is useful in
   accessing already existing configuration files, and it does not matter
   where this file gets created. If you are connecting to an IMAP server
   to access your email, it is also possible to store this Configuration
   data on that server, which facilitates accessing the same configuration
   from multiple machines (in fact, your configuration may have already
   been set up this way for use with other _Alpine_ programs).

   After having established the location of the configuration file, it may
   be necessary to specify a few configuration settings before reading or
   sending mail. You may be prompted for the following (which may also be
   edited from the (S)etup (C)onfig screen from the Main Menu):

     Folder to open as inbox (or _inbox-path_) - This can be an inbox
   residing on an IMAP or POP3 server, or one residing locally. An example
   of an INBOX for an IMAP server is: {server.example.com}INBOX.

     User-id, Personal name, and host/domain, which are to be used as your
   email address.

     SMTP server to forward message - You must enter your SMTP server
   before you can send any messages.

   At this point, you will be able to read and send email messages. There
   are, however, many more preferences that you can set in the
   Configuration screen.
     __________________________________________________________________

Installing IMAPd

   When the _Alpine_ distribution is built on a UNIX system, the IMAP
   server binary, imapd, is compiled. Installing imapd requires placing
   the binary in the appropriate directory, usually /usr/etc, and adding
   entries to /etc/services and /etc/inetd.conf or their counterparts.

   Instead of including installation instructions here we'll just include
   a pointer to detailed instructions in the c-client distribution. Please
   take a look at the file imap/docs/BUILD in the source tree.
     __________________________________________________________________

Support Files and Environment Variables: UNIX Alpine

   This section lists the various files which _Alpine_ uses which are not
   email folders. All of these are the default names of files, they may
   vary based on _Alpine_'s configuration.
   /etc/pine.conf
          Pine's global configuration file.
   /etc/pine.conf.fixed
          Non-overridable global configuration file.
   /etc/pine.info
          Local pointer to system administrator.
   ~/.pinerc
          Personal configuration file for each user.
   ~/.pinercex
          Personal exceptions configuration file for each user.
   ~/.addressbook
          Personal addressbook
   ~/.newsrc
          Personal USENET subscription list. This is shared with other
          newsreading programs.
   ~/.pine-debugX
          The files created for debugging _Alpine_ problems. By default,
          there are 4 .pine-debug files kept at any time.
   ~/.signature
          A signature file which will be included in all outgoing email
          messages.
   ~/.pine-interrupted-mail
          The text of a message which was interrupted by some unexpected
          error which _Alpine_ detected.
   ~/mail/postponed-msgs
          A folder of messages which the user chose to postpone.
   /etc/mailcap
          System-wide mail capabilities file. Only used if $MAILCAPS not
          set.
   ~/.mailcap
          Personal mail capabilities file. Combines with system-wide
          mailcap. Only used if $MAILCAPS not set.

   The location of the following support files may be controlled by
   variables in the personal or global _Alpine_ configuration file:
   signature, addressbook and its index file, postponed messages, and
   newsrc.

   Unix _Alpine_ uses the following environment variables:
   TERM
          Tells _Alpine_ what kind of terminal is being used.
   DISPLAY
          Determines if _Alpine_ will try to display IMAGE attachments.
   TMPDIR, TMP, or TEMP
          Specifies location of temporary storage area, first one set wins
   SHELL
          If not set, default is /bin/sh
   MAILCAPS
          A semicolon delimited list of path names to mailcap files.
     __________________________________________________________________

Support Files, Environment Variables, and Registry Settings: PC-Alpine

   This section lists the various files which _PC-Alpine_ uses which are
   not normal mail folders. All of these are the default names of files,
   they may vary based on _Alpine_'s configuration.

   $PINERC or <PineRC registry value> or $HOME\PINE\PINERC or <PINE.EXE
          dir>\PINERC
          Path to (required) personal configuration file.
   $PINERCEX or $HOME\PINE\PINERCEX or <PINE.EXE dir>\PINERCEX
          Path to personal exceptions configuration file.
   $PINECONF
          Path of optional global configuration file.
   <PINERC directory>\ADDRBOOK
          Personal addressbook
   <PINERC directory>\PINEDEBG.TXT
          Location of _Alpine_ debug file.
   <PINERC directory>\MAILCAP and/or <PINE.EXE dir>\MAILCAP
          These paths are only used if $MAILCAPS not set.
   $HOME\NEWSRC or <PINERC directory>\NEWSRC
          Personal USENET subscription list. This may be shared with other
          newsreading programs.
   $HOME\MAIL\INTRUPTD
          The text of a message which was interrupted by some unexpected
          error which _Alpine_ detected.
   $HOME\MAIL\POSTPOND
          A folder of messages which the user chose to postpone.

   Registry Values:
   HKEY_LOCAL_MACHINE\Software\University of Washington\Alpine\1.0
          _Pinedir_: The directory that contains the _Alpine_ executable.
          _PineEXE_: The name of the _Alpine_ executable (most commonly
          "alpine.exe").
   HKEY_CURRENT_USER\Software\University of Washington\Alpine\1.0
          _PineRC_: The path that points to the default pinerc to use.
   HKEY_LOCAL_MACHINE\Software\Clients\Mail\Alpine
          _DLLPath_: The path that points to _Alpine_'s pmapi32.dll.
   HKLM\Software\Clients\Mail\Alpine\shell\open\command
          _(Default)_: When set as the default mailer, this is the command
          that is run by external programs.
   HKLM\Software\Clients\Mail\Alpine\Protocols\Mailto\DefaultIcon
          _(Default)_: This points to the icon to display in relation to
          _Alpine_'s mailto URL rendering.
   HKLM\Software\Clients\Mail\Alpine\Protocols\Mailto\shell\open\command
          _(Default)_: This value is the command that gets run by external
          programs when a mailto URL is run with _PC-Alpine_ set as the
          default mailer.
   HKLM\Software\Clients\News\Alpine\shell\open\command
          _(Default)_: When set as the default newsreader, this is the
          command that is run by external programs.
   HKLM\Software\Clients\News\Alpine\Protocols\news\DefaultIcon
          _(Default)_: This points to the icon to display in relation to
          _Alpine_'s news URL rendering.
   HKLM\Software\Clients\News\Alpine\Protocols\news\shell\open\command
          _(Default)_: This value is the command that gets run by external
          programs when a news URL is run with _Alpine_ set as the default
          newsreader.
   HKLM\Software\Clients\News\Alpine\Protocols\nntp\DefaultIcon
          _(Default)_: This points to the icon to display in relation to
          _Alpine_'s nntp URL rendering.
   HKLM\Software\Clients\News\Alpine\Protocols\nntp\shell\open\command
          _(Default)_: This value is the command that gets run by external
          programs when a nntp URL is run with _Alpine_ set as the default
          newsreader.

   _Alpine_'s personal configuration file may be in the same directory as
   the executable, or if that is inconvenient because the executable is on
   a shared or read-only drive, then it can be in a file named by the
   $PINERC environment variable, or in $HOME\ALPINE\PINERC, where if not
   set, $HOME defaults to the root of the current working drive.

   Most of the other support files key off of the location of the PINERC
   file. However, in the case of the NEWSRC file, the path $HOME\NEWSRC is
   checked first. Also, the postponed messages and interrupted message
   folders are placed in the default folder collection, normally in the
   directory $HOME\MAIL.

   The location of the following support files may be controlled by
   variables in the personal or global _Alpine_ configuration file:
   signature, addressbook (and its index file), postponed messages, and
   newsrc.

   _PC-Alpine_ uses the following environment variables:
   PINERC
          Overrides default path to pinerc file.
   PINERCEX
          Overrides default path to personal exceptions configuration
          file.
   PINECONF
          Optional path to global _Alpine_ config file.
   HOME
          If not set, _Alpine_ uses the root of the current drive, e.g. C:
   TMPDIR, TMP, or TEMP
          Specifies location of temporary storage area, first one set wins
   COMSPEC
          Specifies shell for external commands.
   MAILCAPS
          A semicolon delimited list of path names to mailcap files.

                             Command Line Arguments

Alpine

   _Alpine_ and _PC-Alpine_ can accept quite a few command-line arguments.
   Many of these arguments overlap with variables in the _Alpine_
   configuration file. If there is a difference, then a flag set in the
   command line takes precedence. Both _Alpine_ and _PC-Alpine_ expect
   command line arguments (other than addresses) to be preceded by the "-"
   (dash) as normally used by UNIX programs.

   _[addresses]_
          Send-to: If you give _Alpine_ an argument or arguments which do
          not begin with a dash, _Alpine_ treats them as email addresses.
          _Alpine_ will startup in the composer with a message started to
          the addresses specified. Once the message is sent, the _Alpine_
          session closes. Standard input redirection is allowed. Separate
          multiple addresses with a space between them. Addresses are
          placed in the "To" field only.
   < _file_
          _Alpine_ will startup in the composer with _file_ read into the
          body of the message. Once the message is sent, the _Alpine_
          session closes.
   -attach _file_
          Go directly into composer with given file attached.
   -attachlist _file-list_
          Go directly into composer with given files attached. This must
          be the last option on the command line.
   -attach_and_delete _file_
          Go directly into composer with given file attached, delete when
          finished.
   -aux _local_directory_
          _PC-Alpine_ only. This tells _PC-Alpine_ the local directory to
          use for storing auxiliary files, like debug files, address
          books, and signature files. The pinerc may be local or remote.
   -nosplash
          _PC-Alpine_ only. This tells _PC-Alpine_ to not display the
          splash screen upon startup. This may be helpful for certain
          troubleshooting or terminal server scenarios.
   -bail
          If the personal configuration file doesn't already exist, exit.
          This might be useful if the configuration file is accessed using
          some remote filesystem protocol. If the remote mount is missing
          this will cause _Alpine_ to quit instead of creating a new
          pinerc.
   -c _n_
          When used with the -f option, apply the _n_th context. This is
          used when there are multiple folder collections (contexts) and
          you want to open a folder not in the primary collection.
   -conf
          Configuration: Prints a sample system configuration file to the
          screen or standard output. To generate an initial system
          configuration file, execute
                alpine -conf > /etc/pine.conf

          To generate a system configuration file using settings from an
          old system configuration file, execute
                alpine -P old-pine.conf -conf > /etc/pine.conf

          A system configuration file is not required.
   -convert_sigs _-p pinerc_
          Convert signatures contained in signature files into literal
          signatures.
   -copy_abook _<local_abook_file> <remote_abook_folder>_
          Copy an address book file to a remote address book folder. If
          the remote folder doesn't exist, it will be created. If it
          exists but the first message in the folder isn't a remote
          address book header message, the copy will be aborted. This flag
          will not usually be used by a user. Instead, the user will
          create a remote address book from within _Alpine_ and copy
          entries from the local address book by using aggregate Save in
          the address book screen.
   -copy_pinerc _<local_pinerc_file> <remote_pinerc_folder>_
          Copy a pinerc configuration file to a remote pinerc folder. If
          the remote folder doesn't exist, it will be created. If it
          exists but the first message in the folder isn't a remote pinerc
          header message, the copy will be aborted. This flag may be
          useful to users who already have a local pinerc file and would
          like to convert it to a remote pinerc folder and use that
          instead. This gives a way to bootstrap that conversion without
          having to manually reset all of the variables in the remote
          pinerc folder.
   -d _debug-level_
          Debug Level: Sets the level of debugging information written by
          _Alpine_. _Debug-level_ can be set to any integer 0-9. A debug
          level of 0 turns off debugging for the session. (Actually there
          are some levels higher than 9, but you probably don't want to
          see them. Sensitive authentication information is hidden at
          levels less than 10.)
   -d _keywords_
          You may use a more detailed version of the debugging flag to set
          the debug level in separate parts of _Alpine_. The possibilities
          are flush, timestamp, imap=0..4, tcp, numfiles=0..31, and
          verbose=0..9. _Flush_ causes debugging information to be flushed
          immediately to the debug file as it is written. _Verbose_ is the
          general debugging verbosity level. _Timestamp_ causes timestamps
          to be added to the debug file, which is useful when you are
          trying to figure out what is responsible for delays. _Numfiles_
          sets the number of debug files saved. _Imap_ sets the debug
          level for the debugging statements related to the conversation
          with the IMAP server, and more generally, for the debugging
          related to _Alpine_'s interaction with the C-Client library. If
          _imap_ is set higher than 4, sensitive authentication information
          will be included in the debug file. _Tcp_ adds more TCP/IP
          debugging information.
   -f _folder_
          Startup folder: _Alpine_ will open this folder in place of the
          standard INBOX.
   -F _file_
          Open named text file for viewing and forwarding.
   -h
          Help: Prints the list of available command-line arguments to the
          screen.
   -i
          _Alpine_ will start up in the FOLDER INDEX screen instead of the
          MAIN MENU.
          Configuration equivalent: _initial-keystroke-list=i_.
   -I _a,b,c,..._
          Initial Keystrokes: _Alpine_ will execute this comma-separated
          sequence of commands upon startup. This allows users to get
          _Alpine_ to start in any of its menus/screens. You cannot include
          any input to the composer in the initial keystrokes. The key
          <Return> is represented by a ``CR'' in the keystroke list; the
          spacebar is designated by the letters ``SPACE''. Control keys
          are two character sequences beginning with ``^'', such as
          ``^I''. A tab character is ``TAB''. Function keys are ``F1'' -
          ``F12'' and the arrow keys are ``UP'', ``DOWN'', ``LEFT'', and
          ``RIGHT''. A restriction is that you can't mix function keys and
          character keys in this list even though you can, in some cases,
          mix them when running _Alpine_. A user can always use only
          _character_ keys in the startup list even if he or she is using
          _function_ keys normally, or vice versa. If an element in this
          list is a string of characters surrounded by double quotes (")
          then it will be expanded into the individual characters in the
          string, excluding the double quotes.
          Configuration equivalent: _initial-keystroke-list_
   -install
          For _PC-Alpine_ only, this option prompts for some basic setup
          information, then exits.
   -k
          Function-Key Mode: When invoked in this way, _Alpine_ expects
          the input of commands to be function-keys. Otherwise, commands
          are linked to the regular character keys.
          Configuration equivalent: _use-function-keys_ included in
          _feature-list_.
   -n _n_
          Message-Number: When specified, _Alpine_ starts up in the FOLDER
          INDEX screen with the current message being the specified
          message number.
   -nowrite_password_cache
          This tells _Alpine_ to use the local password cache if there is
          one, but to never offer writing new passwords to the cache.
   -o _folder_
          Opens the INBOX (or a folder specified via the -f argument)
          ReadOnly.
   -p _pinerc_
          Uses the named file as the personal configuration file instead
          of _~/.pinerc_ or the default PINERC search sequence _PC-Alpine_
          uses. Pinerc may be either a local file or a remote
          configuration folder.
   -P _pinerc_
          Uses the named file as the system wide configuration file
          instead of _/etc/pine.conf_ on UNIX, or nothing on
          _PC-Alpine_. Pinerc may be either a local file or a remote
          configuration folder.
   -passfile _passfile_
          This tells _Alpine_ what file should be used as the password
          file. This should be a fully-qualified filename.
   -pinerc _file_
          Output fresh pinerc configuration to _file_, preserving the
          settings of variables that the user has made. Use _file_ set to
          ``-'' to make output go to standard out.
   -r
          Restricted Mode: For UNIX _Alpine_ only. _Alpine_ in restricted
          mode can only send email to itself. Save and export are limited.
   -registry _cmd_
          For _PC-Alpine_ only, this option affects the values of
          _Alpine_'s registry entries. Possible values for _cmd_ are set,
          noset, clear, clearsilent, and dump. _Set_ will always reset
          _Alpine_'s registry entries according to its current settings.
          _NoSet_ will never set any values in the registry, but it will
          still use the values already set in the registry. _Clear_ will
          clear the registry values. _Clearsilent_ will silently clear the
          registry values. _Dump_ will display the values of current
          registry settings. Note that the dump command is currently
          disabled. Without the -registry option, _PC-Alpine_ will write
          values into the registry only if there currently aren't any
          values set.
   -sort _key_
          Sort-Key: Specifies the order messages will be displayed in for
          the FOLDER INDEX screen. _Key_ can have the following values:
          arrival, date, subject, orderedsubj, thread, from, size, score,
          to, cc, arrival/reverse, date/reverse, subject/reverse,
          orderedsubj/reverse, thread/reverse, from/reverse, size/reverse,
          score/reverse, to/reverse, and cc/reverse. The default value is
          "arrival". The _key_ value reverse is equivalent to
          arrival/reverse.
          Configuration equivalent: _sort-key_.
   -supported
          Some options may or may not be supported depending on how
          _Alpine_ was compiled. This is a way to determine which options
          are supported in the particular copy of _Alpine_ you are using.
   -install
          For _PC-Alpine_ only, this option removes references to Alpine
          in Windows settings. The registry settings are removed and the
          password cache is cleared.
   -url _url_
          Open the given URL.
   -v
          Version: Print version information to the screen.
   -version
          Version: Print version information to the screen.
   -x _exceptions_config_
          Configuration settings in the exceptions config override your
          normal default settings. _Exceptions_config_ may be either a
          local file or a remote pinerc folder.
   -z
          Enable Suspend: When run with this flag, the key sequence ctrl-z
          will suspend the _Alpine_ session.
          Configuration equivalent: _enable-suspend_ included in
          _feature-list_.
   -_option_=_value_
          Assign _value_ to the config option _option_. For example,
          _-signature-file=sig1_ or _-feature-list=signature-at-bottom_.
          (Note: feature-list values are additive and features may be
          preceded with no- to turn them off).

Pico

   The following command line options are supported in _Pico_:

   +_n_
          Causes _Pico_ to be started with the cursor located _n_ lines
          into the file. (Note: no space between "+" sign and number)

   -a
          Display all files and directories, including those beginning
          with a period (.).

   -b
          Enable the option to Replace text matches found using the "Where
          is" command. This now does nothing. Instead, the option is
          always turned on (as if the -b flag had been specified).

   -d
          Rebind the "delete" key so the character the cursor is on is
          rubbed out rather than the character to its left.

   -e
          Enable file name completion.

   -f
          Use function keys for commands. _This option supported only in
          conjunction with UW Enhanced NCSA telnet._

   -g
          Enable "Show Cursor" mode in file browser. Cause cursor to be
          positioned before the current selection rather than placed at
          the lower left of the display.

   -k
          Causes "Cut Text" command to remove characters from the cursor
          position to the end of the line rather than remove the entire
          line.

   -m
          Enable mouse functionality. This only works when _Pico_ is run
          from within an X Window System "xterm" window.

   -n_n_
          The -n_n_ option enables new mail notification. The _n_ argument
          is optional, and specifies how often, in seconds, your mailbox
          is checked for new mail. For example, -n60 causes _Pico_ to
          check for new mail once every minute. The default interval is
          180 seconds, while the minimum allowed is 30. (Note: no space
          between "n" and the number)

   -o _dir_
          Sets operating directory. Only files within this directory are
          accessible. Likewise, the file browser is limited to the
          specified directory subtree.

   -p
          Preserve the "start" and "stop" characters, typically Ctrl-Q and
          Ctrl-S, which are sometimes used in communications paths to
          control data flow between devices that operate at different
          speeds.

   -q
          TermdefWins. Termcap or terminfo escape sequences are used in
          preference to default escape sequences.

   -Q _quotestr_
          Set the quote string. Especially useful when composing email,
          setting this allows the quote string to be checked for when
          Justifying paragraphs. A common quote string is "> ".

   -r_n_
          Sets column used to limit the "Justify" command's right margin.

   -t
          Enable "tool" mode. Intended for when _Pico_ is used as the
          editor within other tools (e.g., Elm, Pnews). _Pico_ will not
          prompt for save on exit, and will not rename the buffer during
          the "Write Out" command.

   -v
          View the file only, disallowing any editing.

   -version
          Print version information.

   -w
          Disable word wrap (thus allow editing of long lines).

          _Note: Pico will break any lines over 255 characters when
          reading a file, regardless of word wrapping._

   -x
          Disable keymenu at the bottom of the screen.

   -z
          Enable ^Z suspension of _Pico_.

Pilot

   The following command line options are supported in _Pilot_:

   -a
          Display all files including those beginning with a period (.).

   -f
          Use function keys for commands. _This option supported only in
          conjunction with UW Enhanced NCSA telnet._

   -g
          Enable "Show Cursor" mode. Cause cursor to be positioned before
          the current selection rather than placed at the lower left of
          the display.

   -m
          Enable mouse functionality. This only works when _Pilot_ is run
          from within an X Window System "xterm" window.

   -n_n_
          The -n_n_ option enables new mail notification. The _n_ argument
          is optional, and specifies how often, in seconds, your mailbox
          is checked for new mail. For example, -n60 causes _Pilot_ to
          check for new mail once every minute. The default interval is
          180 seconds, while the minimum allowed is 30. (Note: no space
          between "n" and the number)

   -o _dir_
          Sets operating directory. Only files within the specified
          directory are accessible and browsing is limited to the
          specified directory subtree.

   -v
          Enable single vertical column display.

   -x
          Disable keymenu at the bottom of the screen.

   -z
          Enable ^Z suspension of _Pilot_.

                         Configuration and Preferences

Alpine Configuration

   There is very little in _Alpine_ which _requires_ compile-time
   configuration. In most cases, the compiled-in preferences will suit
   users and administrators just fine. When running _Alpine_ on a UNIX
   system, the default built-in configuration can be changed by setting
   variables in the system configuration files, /etc/pine.conf
   or /etc/pine.conf.fixed. (Actually, these files can be
   changed using the configure arguments --with-system-pinerc=VALUE or
   --with-system-fixed-pinerc=VALUE.) The location of the pine.conf file
   can be changed with the -P command line argument. Both _Alpine_ and
   _PC-Alpine_ also use personal (user-based) configuration files. On UNIX
   machines, the personal configuration file is the file ~/.pinerc. For
   _PC-Alpine_ systems, the personal configuration file is in $PINERC or
   <PineRC registry value> or ${HOME}\ALPINE\PINERC or <ALPINE.EXE
   dir>\PINERC. Or the personal configuration file can be specified with
   the -p command line argument.

   All of these configuration files, other than the fixed system config
   pine.conf.fixed on UNIX systems, may optionally be remote configuration
   files instead of local files. This is discussed further in the
   following section and in Remote Configuration.

   After the personal configuration, _Alpine_ may optionally use a
   personal exceptions configuration file which is specified with the
   command line option "-x exceptions_config". "Exceptions_config" may
   also be either a local file or a remote configuration folder. For Unix
   _Alpine_, if you don't have a "-x" command line option, _Alpine_ will
   look for the file ".pinercex" in the same local directory that the
   regular config file is located in. If the regular config file is remote
   then Unix _Alpine_ looks in the home directory for ".pinercex".

   For _PC-Alpine_, if you don't have a "-x" command line option,
   _PC-Alpine_ will use the value of the environment variable $PINERCEX. If
   that is not set, _PC-Alpine_ will look for the local file "PINERCEX" in
   the same local directory that the regular config file is located in. If
   the regular config file is remote then _PC-Alpine_ looks in the local
   directory specified by the "-aux local_directory" command line
   argument, or the directory ${HOME}\ALPINE, or in <ALPINE.EXE
   directory>.

   The syntax of a non-list configuration variable is this:

     <variable> = <value>

   If the value is absent then the variable is unset. To set a variable to
   the empty value two double quotes (""). This is equivalent to an absent
   value except that it overrides any system-wide default value that may
   be set. Quotes may be used around any value. All values are strings and
   end at the end of the line or the closing quote. Leading and trailing
   space is ignored unless it is included in the quotes. There is one
   variable, _use-only-domain-name_, for which the only appropriate values
   are _yes_ and _no_. That's because it is a variable from the early days
   of _Alpine_ before features existed.

   There is also a second type of variable, lists. A list is a
   comma-separated list of values. The syntax for a list is:

     <variable> = <value> [, <value> , ... ]

   A list can be continued on subsequent lines by beginning the line with
   white-space. Both the per-user and global configuration files may
   contain comments which are lines beginning with a #.

   For UNIX _Alpine_, there are five ways in which each variable can be
   set. In decreasing order of precedence they are:
    1. the system-wide _fixed_ configuration file
    2. a command line argument
    3. the personal exceptions file
    4. the personal configuration file
    5. the system-wide configuration file.

   If the variable is not set in any of those places, there is a default
   setting in the source code.

   So, system-wide fixed settings always take precedence over command line
   flags, which take precedence over per-user exception settings, which
   take precedence over per-user settings, which take precedence over
   system-wide configuration settings. _PC-Alpine_ has the same list,
   except that it does not use a system-wide _fixed_ configuration file.
   This can be modified slightly by using inheritance, which is covered
   below.

   You may get a sample/fresh copy of the system configuration file by
   running _alpine -conf_. The result will be printed on the standard
   output with very short comments describing each variable. (The online
   help in the Setup screens provides much longer comments.) If you need
   to fix some of the configuration variables, you would use the same
   template for the fixed configuration file as for the regular
   system-wide configuration file. (If it isn't clear, the purpose of the
   fixed configuration file is to allow system administrators to restrict
   the configurability of _Alpine_. It is by no means a bullet-proof
   method.) _Alpine_ will automatically create the personal configuration
   file the first time it is run, so there is no need to generate a
   sample. _Alpine_ reads and writes the personal configuration file
   occasionally during normal operation. Users will not normally look at
   their personal configuration file, but will use the Setup screens from
   within _Alpine_ to set the values in this file. If a user does add
   additional comments to the personal configuration file they will be
   retained.

   References to environment variables may be included in the _Alpine_
   configuration files. The format is $variable or ${variable}. The
   character ~ will be expanded to the $HOME environment variable. For a
   more complete explanation of how environment variables work, see the
   section Using Environment Variables.

   When environment variables are used for _Alpine_ settings which take
   lists, you must have an environment variable set for each member of the
   list. That is, _Alpine_ won't properly recognize an environment
   variable which is set equal to a comma-delimited list. It is OK to
   reference unset environment variables in the _Alpine_ configuration
   file, which will expand to nothing.

  Remote and Local Configuration

   There are two types of storage for configuration information. _Local_
   configuration files are used by default. These are just regular files
   on the UNIX system or on the PC. _Remote_ configuration folders are
   stored on an IMAP server. The advantage of using a remote configuration
   is that the same information may be accessed from multiple platforms.
   For example, if you use one computer at work and another at home, the
   same configuration could be used from both places. A configuration
   change from one place would be seen in both places. Technical
   information about remote configuration is in Remote Configuration.

  Generic and Exceptional Configuration

   If you use _Alpine_ from more than one platform it may be convenient to
   split your configuration information into two pieces, a generic piece
   and exceptions which apply to a particular platform. For example,
   suppose you use _Alpine_ from home and from work. Most of your
   configuration settings are probably the same in both locations, so
   those settings belong in the generic settings configuration. However,
   you may use a different SMTP server and INBOX from home than you do
   from work. The "smtp-server" and "inbox-path" variables could be part
   of your exceptional configuration so that they could be different in
   the two places.

   You can use the command line option "-x config" to split your
   configuration into generic and exceptional pieces. Config may be either
   local or remote.

   For most people, splitting the configuration information into two
   pieces is only going to be useful if the generic information is
   accessed remotely. If you already have a local pinerc file with
   settings you like you may find that the command Setup/RemoteConfigSetup
   will be useful in helping you convert to a remote configuration. The
   command line flag copy_pinerc may also be useful.

  Configuration Inheritance

   Configuration inheritance is a power user feature. It is confusing and
   not completely supported by the configuration user interface.

   For configuration variables which are lists, like "smtp-server" or
   "incoming-folders", the inheritance mechanism makes it possible to
   _combine_ the values of options from different configuration locations
   instead of _replacing_ the value. Configuration Inheritance has more
   information about how inheritance is used.
     __________________________________________________________________

General Configuration Variables

   The following is a list of all _Alpine_ configuration variables, in
   alphabetical order. Note that not all variables apply to all versions
   of _Alpine_ and that some variables are only applicable in a system
   configuration file and some are only applicable in a personal
   configuration file. These are configuration _variables_. Configuration
   Features are in a separate section.

   _addrbook-sort-rule_
          This variable sets up the default address book sorting.
          Currently, _Alpine_ will accept the values _dont-sort_,
          _fullname-with-lists-last_, _fullname_,
          _nickname-with-lists-last_, and _nickname_. The default is to sort
          by fullname with lists last. If you use an address book from
          more than one computer and those computers sort the address book
          differently then the sort order will be the order where the last
          change to the address book was made. There are two reasons the
          sorting might be different on different systems. First, the
          addrbook-sort-rule may be set differently in the two places.
          Second, the collation rules on the two computers may be
          different. For example, one system might ignore special
          characters while the other doesn't or one may sort upper and
          lower case letters together while the other doesn't. In any
          case, the order you see is the order on the system where the
          last change was made, for example by an address book edit or a
          Take Address command.
          This option is displayed as "Addressbook Sort Rule".
   _address-book_
          A list of personal address books. Each entry in the list is an
          optional nickname followed by a pathname or file name relative
          to the home directory. The nickname is separated from the rest
          of the line with whitespace. Instead of a local pathname or file
          name, a remote folder name can be given. This causes the address
          book to be a Remote address book. Remote folder syntax is
          discussed in Syntax for Remote Folders. This list of address
          books will be combined with the global-address-book list to
          arrive at the complete set of address books.
   _addressbook-formats_
          This option specifies the format that address books are
          displayed in. By default, address books are displayed with the
          nicknames in the first column, the fullnames in the second
          column, and addresses in the third column. The system figures
          out reasonable defaults for the widths of the columns. An
          address book may be given a different format by listing special
          tokens in the order you want them to display. The possible
          tokens are NICKNAME, FULLNAME, ADDRESS, FCC, and COMMENT. More
          details are included in the online help for this variable.
   _alt-addresses_
          This option provides a place for you to list alternate email
          addresses you may have. Each address in the list should be the
          actual email address part of an address, without the full name
          field or the angle brackets. For example:

                              user@example.com
          The matching is case-insensitive, so this would match any of
          User@example.com, user@Example.Com, or USER@EXAMPLE.COM as well.
          If set, the option affects the behavior of the Reply command and
          the "+" symbol in the MESSAGE INDEX, which denotes that a
          message has been addressed specifically to you.
          In the default INDEX display the personal name (or email
          address) of the person listed in the message's "From:" header
          field is usually displayed except when that address is yours or
          one of your alternate addresses. In that case you will usually
          see the name of the first person specified in the message's
          "To:" header field with the prefix "To: " prepended.
          With respect to Reply, the reply-to-all option will exclude
          addresses listed here.
          The feature copy-to-address-to-from-if-it-is-us is somewhat
          related to this option.
          In addition to a list of actual addresses, you may use regular
          expressions (as used with grep -E with the ignore case flag) to
          describe the addresses you want to match. _Alpine_ will somewhat
          arbitrarily interpret your entry as a regular expression if it
          contains any of the characters *, |, +, ?, {, [, ^, $, or \.
          Otherwise, it will be treated literally. The feature
          disable-regular-expression-matching-for-alternate-addresses may
          be used to turn off regular expression processing regardless of
          whether or not special characters appear in the entry.
          A description of how regular expressions work is beyond the
          scope of this help text, but some examples follow.
          The entry

                               .*@example.com
          in the alt-addresses list would mean that any address with a
          domain name of example.com (such as fred@example.com or
          wilma@example.com) will be considered one of your alternate
          addresses. Strictly speaking, the dot in example.com ought to be
          escaped with a backslash, as in example\.com, and a dollar sign
          anchor ought to come at the end of the expression to prevent a
          match of example.com.org. Complicating things further, the
          dollar sign is special in the _Alpine_ configuration (it
          signifies environment variable expansion) so the dollar sign
          should be doubled or backslash escaped for _Alpine_'s sake.
          Quotes around the whole expression will not escape the dollar
          sign successfully. So this example should look like

                              .*@example\.com$$
          The entry

                          ^fred[0-9]*@example.com$$
          would match fred3@example.com or fred17@example.com as well as
          fred@example.com.
          You could match all addresses that look like
          fred+stuff@example.com for any value of stuff with the entry

                           ^fred\+.*@example.com$$
          Notice that you have to escape the plus sign with a backslash
          because plus is a special character in regular expressions. If
          you wanted to match plain fred as well as fred+stuff the
          expression

                        ^fred(()|\+.*)@example.com$$
          would do it, but it would be easier to just add fred@example.com
          as a separate entry.
          One more example, a match of all first-level subdomains, is
          given by

                    ^fred@[[:alnum:]_-]*\.example\.com$$
          Because the regular expression matching is based on an old
          library (hs_regex) the regular expressions might not work
          exactly as you expect, but they should be close.
          This option is displayed as "Alternate Addresses".
   _bugs-additional-data_
          System-wide configuration files only. Program/Script used by
          _Report Bug_ command. Output from the program/script is captured
          and attached to the bug report.
   _bugs-fullname_, _bugs-address_, _local-fullname_, _local-address_,
          _suggest-fullname_, and _suggest-address_
          System-wide configuration files only. These are used by the bug
          report commands which can be accessed from some of the Help
          screens.
   _busy-cue-rate_
          When _Alpine_ is delayed for some reason it usually shows that
          something is happening with a small animated display in the
          status message line near the bottom of the screen. This option
          sets how frequently the characters (for example, a spinning bar)
          in the active status message lines are updated. At most, it can
          be set to be updated 20 times per second.
          Setting this value to zero will prevent display of the
          animations altogether.
          The option busy-cue-spinner-only can be used to remove the
          randomness from this animated display.
   _character-set_
          This is now obsolete, replaced by three separate variables:
          _display-character-set_, _keyboard-character-set_, and
          _posting-character-set_. See the section on International
          Character Sets for more details.
   _color-style_
          UNIX _Alpine_ only (color is automatically on with _PC-Alpine_).
          If the terminal or terminal emulator you are using is capable of
          displaying colors, this variable controls whether or not color
          will be used in _Alpine_. If you turn color on and things are
          set up correctly, you should see color appear on the screen
          immediately. Modern terminal emulators are usually capable of
          displaying colors.
          This variable may be set to any of the following values:

        no-color
                Don't use color.

        use-termdef
                In order to decide if your terminal is capable of color,
                _Alpine_ looks in the terminal capabilities database,
                TERMINFO or TERMCAP, depending on how _Alpine_ was
                compiled. This is a good option to choose if you switch
                between a color and a non-color terminal with the same
                _Alpine_ configuration. _Alpine_ will know to use color on
                the color terminal because it is described in the termcap
                entry, and _Alpine_ will know to use black and white on
                the non-color terminal. Color Details has more information
                about configuring a termcap entry for color. This is
                usually something a system administrator does.

        force-ansi-8color
                Because setting up a termcap entry is confusing and
                because the terminal capabilities database is often not
                correctly configured for color, this choice and the next
                may be easier for you to use. If your terminal emulator
                responds to ANSI color escape sequences, which many do,
                this option will cause _Alpine_ to believe your terminal
                will respond to the escape sequences which produce eight
                different foreground and background colors. The escape
                sequences used to set the foreground colors are

                          ESC [ 3 <color_number> m

                where the color_number is an ASCII digit between 0 and 7.
                The numbers 0 through 7 should correspond to the colors
                black, red, green, yellow, blue, magenta, cyan, and white.
                Some terminal emulators use a pre-ANSI scheme which swaps
                the colors blue and red and the colors yellow and cyan.
                This will cause the default colors to be different, but
                other than that things should work fine. There is also a
                9th color available, the last one shown, which is the
                default color from the terminal emulator. When used as a
                background color some people refer to this color as
                "transparent", which is why the letters "TRAN" are shown
                in the color swatch of the SETUP COLOR screen. The
                foreground transparent color is shown as the color of the
                "TRAN" text. (The transparent color will not work
                correctly in a PC-Alpine configuration.) The escape
                sequences used to set the background colors are the same
                as for the foreground colors except a "4" replaces the
                "3".

                Note: With the Tera Term terminal emulator this setting
                works well. You should also have the Tera Term "Full
                color" option turned OFF. You may find the "Full color"
                option in Tera Term's "Setup" menu, in the "Window"
                submenu.

        force-ansi-16color
                Many terminal emulators know about the same eight colors
                above plus eight more. This option attempts to use all 16
                colors. The same escape sequences as for the eight-color
                terminal are used for the first eight colors. The escape
                sequences used to set foreground colors 8-15 are the same
                as for 0-7 except the "3" is replaced with a "9". The
                background color sequences for colors 8-15 are the same as
                for 0-7 except the "4" is replaced with "10". You can tell
                if the 16 colors are working by turning on this option and
                then going into one of the color configuration screens,
                for example, the configuration screen for Normal Color. If
                you see 16 different colors to select from (plus a 17th
                for the transparent color), it's working.

        force-xterm-256color
                Some versions of xterm (and some other terminal emulators)
                have support for 256 colors. The escape sequences used to
                set the foreground colors are

                       ESC [ 38 ; 5 ; <color_number> m

                where the color_number is an ASCII digit between 0 and
                255. Background colors are the same with the 38 replaced
                with a 48. The numbers 0 through 15 are probably similar
                to the 16 color version above, then comes a 6x6x6 color
                cube, followed by 24 colors of gray. The terminal default
                (transparent) color is the 257th color at the bottom. Some
                terminal emulators will misinterpret these escape
                sequences causing the terminal to blink or overstrike
                characters or to do something else undesirable.

                The PuTTY terminal emulator has an option called "Allow
                terminal to use xterm 256-colour mode" which allows PuTTY
                to work well with this 256-color setting.

          There are two other possible color values which may be useful in
          some situations. In the color configuration screens there will
          sometimes be a color which has the label "NORM" inside its color
          swatch. If this is selected the corresponding foreground or
          background Normal Color will be used. Another similar color is
          the one that has the label "NONE" inside its color swatch. The
          meaning of this setting is that no color changing will be done.
          This NONE color is only useful in contexts where _Alpine_ is
          already coloring the text some color other than the Normal
          Color. For example, if the Reverse Color is set then the current
          line in the MESSAGE INDEX will be colored. If one of the index
          symbols (for example, the Index-to-me Symbol) has the NONE color
          as its background then the symbol's foreground color will be
          used to draw the actual text but the background color will be
          the same as whatever the background color already was. The color
          values which end up in the configuration file for these special
          values are the 11-character words "norm-padded", "none-padded",
          and "transparent".
          The normal default is "no-color".
          Once you've turned on color you may set the colors of many
          objects on the screen individually. The Color Configuration
          section has more information, or you may just try it by running
          the "Setup" command and typing "K" for Kolor to enter the color
          configuration screen (Kolor instead of Color because C means
          Config). Most categories of color which _Alpine_ supports are
          configurable there. Index line color is configured separately.
   _composer-word-separators_
          This option affects how a "word" is defined in the composer. The
          definition of a word is used when using the Forward Word and
          Backward Word commands in the composer, as well as when using
          the spell checker. Whitespace is always considered a word
          separator. Punctuation (like question marks, periods, commas,
          and so on) is always a word separator if it comes at the end of
          a word. By default, a punctuation character which is in the
          middle of a word does not break up that word as long as the
          character before and the character after it are both
          alphanumeric. If you add a character to this option it will be
          considered a word separator even when it occurs in the middle of
          an alphanumeric word. For example, if you want to skip through
          each part of an address instead of skipping the whole address at
          once you might want to include"@" and "." in this list. If you
          want the word-skipper to stop on each part of a UNIX filename
          you could add "/" to the list. The equal sign and dash are other
          possibilities you might find helpful.
   _composer-wrap-column_
          This option specifies an aspect of _Alpine_'s Composer. This
          gives the maximum width that auto-wrapped lines will have. It's
          also the maximum width of lines justified using the ^J Justify
          command. The normal default is _74_. The largest allowed setting
          is normally _80_ in order to prevent very long lines from being
          sent in outgoing mail. When the mail is actually sent, trailing
          spaces will be stripped off of each line.
   _current-indexline-style_
          current-indexline-style.
   _customized-hdrs_
          You may add your own custom headers to outgoing messages. Each
          header you specify here must include the header tag (Reply-To:,
          Approved:, etc.) and may optionally include a value for that
          header. If you want to see these custom headers each time you
          compose a message, you must add them to your
          default-composer-hdrs list, otherwise they become part of the
          rich header set which you only see when you press the rich
          header command. (If you are looking for a way to change which
          headers are _displayed_ when you view a message, take a look at
          the viewer-hdrs option instead.) Here's an example which shows
          how you might set your From address

                     From: Full Name <user@example.com>
          and another showing how you might set a Reply-To address

                         Reply-To: user@example.com
          You may also set non-standard header values here. For example,
          you could add

                     Organization: My Organization Name
          or even

                     X-Favorite-Colors: Purple and Gold
          If you include a value after the colon then that header will be
          included in your outgoing messages unless you delete it before
          sending. If a header in the Customized-Headers list has only a
          tag but no value, then it will not be included in outgoing
          messages unless you edit a value in manually. For example, if

                                  Reply-To:
          is in the list, then the Reply-To header will be available for
          editing but won't be included unless a value is added while in
          the composer.
          It's actually a little more complicated than that. The values of
          headers that you set with the Customized-Headers option are
          defaults. If the message you are about to compose already has a
          value for a header, that value is used instead of a value from
          your Customized-Headers. For example, if you are Replying to a
          message the Subject field will already be filled in. In that
          case, if the Customized-Headers list contains a Subject line,
          the custom subject will _NOT_ be used. The subject derived from
          the subject of the message you are Replying to will be used
          instead.
          It is also possible to make header setting even more complicated
          and more automatic by using Roles, but if all you want to do is
          set a default value for a header, you don't need to think about
          Roles.
          If you change your From address you may also find it useful to
          add the changed From address to the alt-addresses configuration
          option.
          Limitation: Because commas are used to separate the list of
          Customized-Headers, it is not possible to have the value of a
          header contain a comma. Nor is there currently an "escape"
          mechanism provided to make this work.
          This option is displayed as "Customized Headers".
   _dead-letter-files_
          This option affects _Alpine_'s behavior when you cancel a
          message being composed. _Alpine_'s usual behavior is to write
          the canceled message to a file named "dead.letter" in your home
          directory, or "DEADLETR" when using _PC-Alpine_, overwriting any
          previous message.
          If you set this option to a value higher than one, then that
          many copies of dead letter files will be saved. For example, if
          you set this option to "3" then you may have files named
          "DEADLETR", "DEADLETR2", and "DEADLETR3"; or "dead.letter",
          "dead.letter2", and "dead.letter3". In this example, the most
          recently cancelled message will be in "dead.letter", and the
          third most recently cancelled message will be in "dead.letter3".
          The fourth most recently cancelled message will no longer be
          saved.
          If you set this option to zero, then NO record of canceled
          messages is maintained.
          If the feature Quell-Dead-Letter-On-Cancel is set, that
          overrides whatever you set for this option. If this option had
          existed at the time, then the Quell feature would not have been
          added, but it is still there for backwards compatibility. So, in
          order for this option to have the desired effect, make sure the
          Quell feature is turned off.
   _default-composer-hdrs_
          You can control which headers you want visible when composing
          outgoing email using this option. You can specify any of the
          regular set, any Rich Header, or any Customized-Hdrs which you
          have already defined. If you use this setting at all, you must
          specify all the headers you want to see, you can't just add to
          the regular header set. The default set is To:, Cc:, Attchmnt:,
          and Subject:.
          Note that the "Newsgroups:" header will be abbreviated in the
          Composer display, but should be spelled out in full here.
          This option is displayed as "Default Composer Headers".
   _default-fcc_
          The name of the folder to which all outgoing mail goes is set
          here. The compiled-in default is _sent-mail_ (UNIX) or _sentmail_
          (PC). It can be set to "" (two double quotes with nothing
          between them) to turn off saving copies of outgoing mail. If
          _default-fcc_ is a relative file name, then it is relative to
          your default collection for saves (see folder-collections).
          This option is displayed as "Default Fcc (File carbon copy)".
   _default-saved-msg-folder_
          This option determines the default folder name for _Saves_... If
          this is not a path name, it will be in the default collection
          for saves. Any valid folder specification, local or IMAP, is
          allowed. This default folder only applies when the
          saved-msg-name-rule doesn't override it. Unix _Alpine_ default
          is normally _saved-messages_ in the default folder collection.
          _PC-Alpine_ default is _SAVEMAIL_ (normally stored as
          _SAVEMAIL.MTX_).
          This option is displayed as "Default Saved Message Folder".
   _disable-these-authenticators_
          This variable is a list of SASL (Simple Authentication and
          Security Layer) authenticators which will be disabled. SASL is a
          mechanism for authenticating to IMAP, POP3, SMTP, and other
          network servers.
          _Alpine_ matches its list of supported authenticators with the
          server to determine the most secure authenticator that is
          supported by both. If no matching authenticators are found,
          _Alpine_ will revert to plaintext login (or, in the case of SMTP,
          will be unable to authenticate at all).
          The candidates for disabling are listed below. There may be more
          if you compile _Alpine_ with additional authenticators and/or a
          newer version of the c-client library.
          + GSSAPI
          + CRAM-MD5
          + PLAIN
          + LOGIN
          Normally, you will not disable any authenticators. There are two
          exceptions:
         1. You use a broken server that advertises an authenticator, but
            does not actually implement it.
         2. You have a Kerberos-capable version of _Alpine_ and the server
            is also Kerberos-capable, but you can not obtain Kerberos
            credentials on the server machine, thus you desire to disable
            GSSAPI (which in turn disables _Alpine_'s Kerberos support).
          It is never necessary to disable authenticators, since _Alpine_
          will try other authenticators before giving up. However,
          disabling the relevant authenticator avoids annoying error
          messages.
   _disable-these-drivers_
          This variable is a list of mail drivers which will be disabled.
          The candidates for disabling are listed below. There may be more
          in the future if you compile _Alpine_ with a newer version of
          the c-client library.
          + mbox
          + mbx
          + mh
          + mix
          + mmdf
          + mtx
          + mx
          + news
          + phile
          + tenex
          + unix
          The _mbox_ driver enables the following behavior: if there is a
          file called mbox in your home directory, and if that file is
          either empty or in Unix mailbox format, then every time you open
          _INBOX_ the _mbox_ driver will automatically transfer mail from
          the system mail spool directory into the mbox file and delete it
          from the spool directory. If you disable the _mbox_ driver, this
          will not happen.
          It is not recommended to disable the driver which supports the
          system default mailbox format. On most non-SCO systems, that
          driver is the _unix_ driver. On most SCO systems, it is the
          _mmdf_ driver. The system default driver may be configured to
          something else on your system; check with your system manager
          for additional information.
          It is most likely not very useful for you to disable any of the
          drivers other than possibly _mbox_. You could disable some of
          the others if you know for certain that you don't need them but
          the performance gain in doing so is very modest.
   _display-character-set_
          See the discussion in International Character Sets for details.
   _display-filters_
          This option defines a list of text-filtering commands (programs
          or scripts) that may be used to filter text portions of received
          messages prior to their use (e.g., presentation in the "Message
          Text" display screen). For security reasons, the full path name
          of the filter command must be specified.
          Display filters do not work with _PC-Alpine_.
          The command is executed and the message is piped into its
          standard input. The standard output of the command is read back
          by _Alpine_. The __TMPFILE__ token (see below) overrides this
          default behavior.
          The filter's use is based on the configured _trigger_ string.
          The format of a filter definition is:

                       <trigger> <command> <arguments>
          You can specify as many filters as you wish, separating them
          with a comma. Each filter can have only one trigger and command.
          Thus, two trigger strings which invoke the same command require
          separate filter specifications.
          The _trigger_ is simply text that, if found in the message, will
          invoke the associated command. If the trigger contains any space
          characters, it must be placed within quotes. Likewise, should
          you wish a filter to be invoked unconditionally, define the
          trigger as the null string, "" (two consecutive double-quote
          characters). If the trigger string is found anywhere in the text
          of the message the filter is invoked. Placing the trigger text
          within the tokens defined below changes where within the text
          the trigger must be before considering it a match.
          Trigger Modifying Tokens:

        __CHARSET(string)__
                This token tells _Alpine_ to invoke the supplied command
                if the text is in a character set matching string (e.g.,
                ISO-8859-2 or ISO-2022-JP).

        __LEADING(string)__
                This token tells _Alpine_ to invoke the supplied command
                if the enclosed string is found to be the first
                non-whitespace text.
                NOTE: Quotes are necessary if string contains the space
                character.

        __BEGINNING(string)__
                This token tells _Alpine_ to invoke the supplied command
                if the enclosed string is found at the beginning of any
                line in the text.
                NOTE: Quotes are necessary if string contains the space
                character.

          The "command" and "arguments" portion is simply the command line
          to be invoked if the trigger string is found. Below are tokens
          that _Alpine_ will recognize and replace with special values
          when the command is actually invoked.
          Command Modifying Tokens:

        __TMPFILE__
                When the command is executed, this token is replaced with
                the path and name of the temporary file containing the
                text to be filtered. _Alpine_ expects the filter to
                replace this data with the filter's result. NOTE: Use of
                this token implies that the text to be filtered is not
                piped into standard input of the executed command and its
                standard output is ignored. _Alpine_ restores the tty
                modes before invoking the filter in case the filter
                interacts with the user via its own standard input and
                output.

        __RESULTFILE__
                When the command is executed, this token is replaced with
                the path and name of a temporary file intended to contain
                a status message from the filter. _Alpine_ displays this
                in the message status field.

        __DATAFILE__
                When the command is executed, this token is replaced with
                the path and name of a temporary file that _Alpine_
                creates once per session and deletes upon exit. The file
                is intended to be used by the filter to store state
                information between instances of the filter.

        __PREPENDKEY__
                When the command is executed, this token indicates that a
                random number will be passed down the input stream before
                the message text. This number could be used as a session
                key. It does not appear as a command-line argument. It is
                sent in this way to improve security. The number is unique
                to the current _Alpine_ session and is only generated once
                per session.

          The feature disable-terminal-reset-for-display-filters is
          related.
          Performance caveat/considerations:
          Testing for the trigger and invoking the filter doesn't come for
          free. There is overhead associated with searching for the
          trigger string, testing for the filter's existence and actually
          piping the text through the filter. The impact can be reduced if
          the Trigger Modifying Tokens above are employed.
          Limitation:
          If Header Colors are being used, the sequences of bytes which
          indicate color changes will be contained in the text which is
          passed to the display-filter. If this causes problems you'll
          need to turn off Header Colors. The thirteen bytes which
          indicate a color change are the character \377 followed by \010
          for a foreground color or \011 for a background color. Then
          comes eleven characters of RGB data which looks something like
          255,  0,255, depending on the particular color, of course.
   _download-command_
          This option affects the behavior of the _Export_ command. It
          specifies a Unix program name, and any necessary command line
          arguments, that _Alpine_ can use to transfer the exported
          message to your personal computer's disk.
   _download-command-prefix_
          This option is used in conjunction with the _download-command_
          option. It defines text to be written to the terminal emulator
          (via standard output) immediately prior to starting the download
          command. This is useful for integrated serial line file transfer
          agents that permit command passing (e.g., Kermit's APC method).
   _editor_
          UNIX _Alpine_ only. Sets the name of the alternate editor for
          composing mail (message text only, not headers). It will be
          invoked with the "^_" command or it will be invoked
          automatically if the enable-alternate-editor-implicitly feature
          is set.
   _empty-header-message_
          When sending, if both the To and Cc fields are empty and you are
          sending the message to a Bcc, _Alpine_ will put a special
          address in the To line. The default value is
          "undisclosed-recipients: ;". The reason for this is to avoid
          embarrassment caused by some Internet mail transfer software
          that interprets a "missing" To: header as an error and replaces
          it with an Apparently-to: header that may contain the addresses
          you entered on the Bcc: line, defeating the purpose of the Bcc.
          You may change the part of this message that comes before the ":
          ;" by setting the _empty-header-message_ variable to something
          else.
   _fcc-name-rule_
          Determines default folder name for fcc when composing.
          Currently, _Alpine_ will accept the values _default-fcc_,
          _by-recipient_, or _last-fcc-used_. If set to _default-fcc_, then
          _Alpine_ will use the value defined in the default-fcc variable
          (which itself has a default) for the Fcc header field. If set to
          _by-recipient_, then _Alpine_ will use the name of the recipient
          as a folder name for the fcc. The relevant recipient is the
          first address in the To field. If set to "last-fcc-used", then
          _Alpine_ will offer to Fcc to whatever folder you used
          previously. In all cases, the field can still be edited after it
          is initially assigned. If the fcc field in the address book is
          set for the first To address, that value over-rides any value
          derived from this rule.
   _feature-list_
          This is a list of the many features (options) which may be
          turned on or off. There is a separate section titled
          Configuration Features which explains each of the features.
          There is some additional explanation about the _feature-list_
          variable itself in Feature List Variable.
   _file-directory_
          _PC-Alpine_ only. This value affects the Composer's "^J Attach"
          command, the Attachment Index Screen's "S Save" command, and the
          Message Index's "E Export" command.
          Normally, when a filename is supplied that lacks a leading
          "path" component, _Alpine_ assumes the file exists in the user's
          home directory. Under Windows operating systems, this definition
          isn't always clear. This feature allows you to explicitly set
          where _Alpine_ should look for files without a leading path.
          NOTE: this feature's value is ignored if either use-current-dir
          feature is set or the PINERC has a value for the operating-dir
          variable.
   _folder-collections_
          This is a list of one or more collections where saved mail is
          stored. See the sections describing folder collections and
          collection syntax for more information. The first collection in
          this list is the default collection for _Save_s, including
          default-fcc's.
   _folder-extension_
          _PC-Alpine_ only. File extension used for local folder names.
          This is .MTX by default.
   _folder-reopen-rule_
          _Alpine_ normally checks for new mail in the currently open
          folder and in the INBOX every few minutes.
          There are some situations where automatic new-mail checking does
          not work. For example, if a mail folder is opened using the POP
          protocol or a newsgroup is being read using the NNTP protocol,
          then new-mail checking is disabled.
          It may be possible to check for new mail in these cases by
          reopening the folder. _Alpine_ does not do this for you
          automatically, but you may do the commands manually to cause
          this to happen. You reopen by going back to the folder list
          screen from the message index screen with the "<" command, and
          then going back into the message index screen with the ">"
          command. (Actually, any method you would normally use to open a
          folder will work the same as the "<" followed by ">" method. For
          example, the GoTo Folder command will work, or you may use L to
          go to the Folder List screen and Carriage Return to reopen the
          folder.)
          There are some cases where _Alpine_ knows that reopening the
          folder should be useful as a way to discover new mail. At the
          time of this writing, connections made using the POP protocol,
          news reading using the NNTP protocol, local news reading, and
          local ReadOnly folders which are in the traditional UNIX or the
          MMDF format all fall into this category. There are other cases
          where it _may_ be a way to discover new mail, but _Alpine_ has
          no way of knowing, so it might also just be an exercise in
          futility. All remote, ReadOnly folders other than those listed
          just above fall into this category. The setting of this option
          together with the type of folder controls how _Alpine_ will
          react to the apparent attempt to reopen a folder.
          If you don't reopen, then you will just be back in the message
          index with no change. You left the index and came back, but the
          folder remained "open" the whole time. However, if you do reopen
          the folder, the folder is closed and then reopened. In this
          case, the current state of the open folder is lost. The New
          status, Important and Answered flags, selected state, Zoom
          state, collapsed or expanded state of threads, current message
          number, and any other temporary state is all lost when the
          reopen happens. For POP folders (but not NNTP newsgroups) the
          Deleted flags are also lost.
          In the possibilities listed below, the text says "POP/NNTP" in
          several places. That really implies the case where _Alpine_
          knows it is a good way to discover new mail, which is more than
          just POP and NNTP, but POP and NNTP are the cases of most
          interest. This option probably has more possible values than it
          deserves. They are:

        Always reopen
                _Alpine_ will not ask whether you want to reopen but will
                just do the reopen whenever you type a command that
                implies a reopen, regardless of the access method. In
                other words, it is assumed you would always answer Yes if
                asked about reopening.

        Yes for POP/NNTP, Ask about other remote [Yes]
                _Alpine_ will assume a Yes answer if the access method is
                POP or NNTP, but will ask you whether to reopen other
                remote folders, with a default answer of Yes.

        Yes for POP/NNTP, Ask about other remote [No]
                _Alpine_ will assume a Yes answer if the access method is
                POP or NNTP, but will ask you whether to reopen other
                remote folders, with a default answer of No.

        Yes for POP/NNTP, No for other remote
                _Alpine_ will assume a Yes answer if the access method is
                POP or NNTP, and will assume a No answer for all other
                remote folders.

        Always ask [Yes]
                _Alpine_ will not differentiate based on access method. It
                will always ask for all remote folders, with a default
                answer of Yes.

        Always ask [No]
                _Alpine_ will not differentiate based on access method. It
                will always ask for all remote folders, with a default
                answer of No.

        Ask about POP/NNTP [Yes], No for other remote
                _Alpine_ will ask if the access method is POP or NNTP,
                with a default answer of Yes. It will never attempt to
                reopen other remote folders.

        Ask about POP/NNTP [No], No for other remote
                This is the default. _Alpine_ will ask if the access
                method is POP or NNTP, with a default answer of No. It
                will never attempt to reopen other remote folders.

        Never reopen
                _Alpine_ will never attempt to reopen already open
                folders.

          Remember, wherever it says POP or NNTP above it really means POP
          or NNTP or any of the other situations where it is likely that
          reopening is a good way to discover new mail.
          There is an alternative that may be of useful in some
          situations. Instead of manually checking for new mail you can
          set up a Mail Drop and automatically check for new mail.
   _folder-sort-rule_
          This option controls the order in which folder list entries will
          be presented in the FOLDER LIST screen. Choose one of the
          following:

        _Alphabetical_
                sort by alphabetical name independent of type

        _Alpha-with-dirs-last_
                sort by alphabetical name grouping directory entries to
                the end of the list

        _Alpha-with-dirs-first_
                sort by alphabetical name grouping directory entries to
                the start of the list

          The normal default is _Alphabetical_.
   _font-name_
          Winsock version of _PC-Alpine_ only.
   _font-size_
          Winsock version of _PC-Alpine_ only.
   _font-style_
          Winsock version of _PC-Alpine_ only.
   _forced-abook-entry_
          System-wide _Alpine_ configuration files only. Force these
          address book entries into all writable personal address books.
          This is a list variable. Each item in the list has the form:

     Nickname | Fullname | Address
          with optional whitespace in all the obvious places.
   _form-letter-folder_
          A Form Letter Folder is a mail folder that is intended to
          contain messages that you have composed and that are intended to
          be sent in their original form repeatedly.
          Setting this variable will alter _Alpine_'s usual behavior when
          you execute the Compose command. Normally, _Alpine_ offers a
          chance to continue a postponed or interrupted message should one
          or the other exist. When this variable is set to a folder name
          that exists, _Alpine_ will also offer the chance to select a
          message from the folder to insert into the composer, much like
          when continuing a postponed message. The difference, however, is
          that _Alpine_ will not automatically delete the selected message
          from the Form Letter Folder.
          Setting this variable will also affect _Alpine_'s behavior when
          you Postpone a message from the composer. Normally, _Alpine_
          simply stashes the message away in your Postponed-Folder.
          Regardless of the specified folder's existence, _Alpine_ will
          ask which folder you intend the message to be stored in. Choose
          the "F" option to store the message in your Form Letter Folder.
          This is the most common way to add a message to the folder.
          Another method of adding messages to the folder is via the
          _Alpine_ composer's Fcc: field. If you are sending a message that
          you expect to send in the same form again, you can enter the
          Form Letter Folder's name in this field. _Alpine_, as usual,
          will copy the message as it's sent. Note, when you later select
          this message from your Form Letter Folder, it will have the same
          recipients as the original message.
          To delete a message from the Form Letter Folder, you can either
          select the folder from a suitable FOLDER LIST screen, or use the
          Delete command in the MESSAGE INDEX offered when selecting from
          the folder as part of the Compose command. You can delete a Form
          Letter Folder just as any other folder from a suitable FOLDER
          LIST screen.
          You may find that the Roles facility can be used to replace the
          Form Letter Folder.
   _global-address-book_
          A list of shared address books. Each entry in the list is an
          optional nickname followed by a pathname or file name relative
          to the home directory. A SPACE character separates the nickname
          from the rest of the line. Instead of a local pathname or file
          name, a remote folder name can be given. This causes the address
          book to be a Remote address book. Remote folder syntax is
          discussed in Syntax for Remote Folders. This list will be added
          to the address-book list to arrive at the complete set of
          address books. Global address books are defined to be ReadOnly.
   _goto-default-rule_
          This value affects _Alpine_'s behavior when using the _Goto_
          command. There are five possible values for this option:

        _folder-in-first-collection_
                _Alpine_ will offer the most recently visited folder in
                the default collection found in the "Collection List"
                screen as the default.

        _inbox-or-folder-in-first-collection_
                If the current folder is _INBOX_, _Alpine_ will offer the
                most recently visited folder in the default collection
                found in the "Collection List" screen. If the current
                folder is other than _INBOX_, _INBOX_ is offered as the
                default.

        _inbox-or-folder-in-recent-collection_
                This is _Alpine_'s default behavior. If the current folder
                is _INBOX_, _Alpine_ will offer the last open folder as
                the default. If the current folder is other than _INBOX_,
                _INBOX_ is offered as the default.

        _first-collection-with-inbox-default_
                Instead of offering the most recently visited folder in
                the default collection, the default collection is offered
                but with _INBOX_ as the default folder. If you type in a
                folder name it will be in the default collection. If you
                simply accept the default, however, your _INBOX_ will be
                opened.

        _most-recent-folder_
                The last accepted value simply causes the most recently
                opened folder to be offered as the default regardless of
                the currently opened folder.

          NOTE: The default while a newsgroup is open remains the same;
          the last open newsgroup.
   _header-general-background-color_
   _header-general-foreground-color_
          Header Colors.
   _image-viewer_
          This variable names the program to call for displaying parts of
          a MIME message that are of type IMAGE. If your system supports
          the _mailcap_ system, you don't need to set this variable.
   _inbox-path_
          This specifies the name of the folder to use for the _INBOX_. By
          default this is unset and the system's default is used. The most
          common reason for setting this is to open an IMAP mailbox for
          the _INBOX_. For example, _{imap5.u.example.edu}inbox_ will open
          the user's standard _INBOX_ on the mail server, _imap5_.
   _incoming-archive-folders_
          This is like read-message-folder, only more general. This is a
          list of folder pairs, with the first separated from the second
          in the pair by a space. The first folder in a pair is the folder
          you want to archive, and the second folder is the folder that
          read messages from the first should be moved to. Depending on
          how you define the auto-move-read-msgs feature, you may or may
          not be asked when you leave the first folder if you want read
          messages to be moved to the second folder. In either case,
          moving the messages means they will be deleted from the first
          folder.
          If these are not path names, they will be in the default
          collection for _Save_s. Any valid folder specification, local or
          remote (via IMAP), is allowed. There is no default.
   _incoming-check-interval_
          This option has no effect unless the feature
          enable-incoming-folders-checking is set, which in turn has no
          effect unless incoming-folders is set.
          This option specifies, in seconds, how often _Alpine_ will check
          for new mail and state changes in Incoming Folders when Incoming
          Folders Checking is turned on. The default is 3 minutes (180).
          This value applies only to folders that are local to the system
          that _Alpine_ is running on or that are accessed using the IMAP
          protocol. The similar option incoming-check-interval-secondary
          applies to all other monitored folders.
   _incoming-check-interval-secondary_
          This option has no effect unless the feature
          enable-incoming-folders-checking is set, which in turn has no
          effect unless incoming-folders is set.
          This option together with the option incoming-check-interval
          specifies, in seconds, how often _Alpine_ will check for new
          mail and state changes in Incoming Folders when Incoming Folders
          Checking is turned on. The default for this option is 3 minutes
          (180). For folders that are local to this system or that are
          accessed using the IMAP protocol the value of the option
          incoming-check-interval is used. For all other monitored
          folders, the value of this option is used.
          The reason there are two separate options is because it is
          usually less expensive to check local and IMAP folders than it
          is to check other types, like POP or NNTP folders. You may want
          to set this secondary value to a higher number than the primary
          check interval.
   _incoming-check-list_
          This option has no effect unless the feature
          enable-incoming-folders-checking is set, which in turn has no
          effect unless incoming-folders is set.
          When monitoring the Incoming Message Folders for Unseen messages
          Alpine will normally monitor all Incoming Folders. You may use
          this option to restrict the list of monitored folders to a
          subset of all Incoming Folders.
   _incoming-check-timeout_
          This option has no effect unless the feature
          enable-incoming-folders-checking is set, which in turn has no
          effect unless incoming-folders is set.
          Sets the time in seconds that Alpine will attempt to open a
          network connection used for monitoring for Unseen messages in
          Incoming Folders. The default is 5. If a connection has not
          completed within this many seconds Alpine will give up and
          consider it a failed connection.
   _incoming-folders_
          This is a list of one or more folders other than _INBOX_ that
          may receive new messages. This list is slightly special in that
          it is always expanded in the folder lister. In the future, it
          may become more special. For example, it would be nice if
          _Alpine_ would monitor the folders in this list for new mail.
   _incoming-startup-rule_
          This rule affects _Alpine_'s behavior when opening the _INBOX_
          or another folder from the "INCOMING MESSAGE FOLDERS". This rule
          tells _Alpine_ which message to make the current message when an
          incoming folder is opened. There are seven possible values for
          this option:

        _first-unseen_
                The current message will be the first unseen message which
                has not been marked deleted, or the last message if all of
                the messages have been seen. This is the default setting.

        _first-recent_
                This is similar to _first-unseen_. Instead of first unseen
                it is the first recent message. A message is considered to
                be recent if it arrived since the last time the folder was
                open (by any mail client, not just the current one). So
                this option causes the current message to be set to the
                first undeleted-recent message, or the last message if
                none is both undeleted and recent.

        _first-important_
                This will result in the current message being set to the
                first message marked Important (but not Deleted). If no
                messages are marked Important, then it will be the last
                message.

        _first-important-or-unseen_
                This selects the minimum of the first unseen and the first
                important messages.

        _first-important-or-recent_
                This selects the first of the first recent and the first
                important messages.

        _first_
                Set the current message to the first undeleted message
                unless all are deleted. In that case set it to the last
                message.

        _last_
                Set the current message to the last undeleted message
                unless all are deleted. In that case set it to the last
                message.

   _incoming-unseen-background-color_
   _incoming-unseen-foreground-color_
          Incoming Unseen Color.
   _index-answered-background-color_
   _index-answered-foreground-color_
   _index-arrow-background-color_
   _index-arrow-foreground-color_
   _index-deleted-background-color_
   _index-deleted-foreground-color_
   _index-from-background-color_
   _index-from-foreground-color_
   _index-highpriority-background-color_
   _index-highpriority-foreground-color_
   _index-important-background-color_
   _index-important-foreground-color_
   _index-lowpriority-background-color_
   _index-lowpriority-foreground-color_
   _index-new-background-color_
   _index-new-foreground-color_
   _index-opening-background-color_
   _index-opening-foreground-color_
   _index-recent-background-color_
   _index-recent-foreground-color_
   _index-subject-background-color_
   _index-subject-foreground-color_
   _index-to-me-background-color_
   _index-to-me-foreground-color_
   _index-unseen-background-color_
   _index-unseen-foreground-color_
          Index Colors.
   _index-format_
          This option is used to customize the content of lines in the
          MESSAGE INDEX screen. Each line is intended to convey some
          amount of immediately relevant information about each message in
          the current folder.
          _Alpine_ provides a pre-defined set of informational fields with
          reasonable column widths automatically computed. You can,
          however, replace this default set by listing special tokens in
          the order you want them displayed.
          The list of available tokens is here.
          Spaces are used to separate listed tokens. Additionally, you can
          specify how much of the screen's width the taken's associated
          data should occupy on the index line by appending the token with
          a pair of parentheses enclosing either a number or percentage.
          For example, "SUBJECT(13)" means to allocate 13 characters of
          space to the subject column, and "SUBJECT(20%)" means to
          allocate 20% of the available space to the subjects column,
          while plain "SUBJECT" means the system will attempt to figure
          out a reasonable amount of space.
          There is always one space between every pair of columns, so if
          you use fixed column widths (like 13) you should remember to
          take that into account. Several of the fields are virtually
          fixed-width, so it doesn't make much sense to specify the width
          for them. The fields STATUS, FULLSTATUS, IMAPSTATUS, MSGNO, the
          DATE fields, SIZE, and DESCRIPSIZE all fall into that category.
          You _may_ specify widths for those if you wish, but you're
          probably better off letting the system pick those widths.
          The default is equivalent to:

   index-format=STATUS MSGNO SMARTDATETIME24 FROMORTO(33%) SIZENARROW SUBJ
                                  KEY(67%)
          This means that the four fields without percentages will be
          allocated first, and then 33% and 67% of the _remaining_ space
          will go to the from and subject fields. If one of those two
          fields is specified as a percentage and the other is left for
          the system to choose, then the percentage is taken as an
          absolute percentage of the screen, not of the space remaining
          after allocating the first four columns. It doesn't usually make
          sense to do it that way. If you leave off all the widths, then
          the subject and from fields (if both are present) are allocated
          space in a 2 to 1 ratio, which is almost exactly the same as the
          default.
          What you are most likely to do with this configuration option is
          to specify which fields appear at all, which order they appear
          in, and the percentage of screen that is used for the from and
          subject fields if you don't like the 2 to 1 default.
          If you want to retain the default format that _Pine_ 4.64 had,
          use

       Index-Format=STATUS MSGNO DATE FROMORTO(33%) SIZE SUBJKEY(67%)
          _and_ set the feature Disable-Index-Locale-Dates.
   _initial-keystroke-list_
          This is a comma-separated list of keystrokes which _Alpine_
          executes on startup. Items in the list are usually just
          characters, but there are some special values. _SPACE,_ _TAB,_
          and _CR_ mean a space character, tab character, and a carriage
          return, respectively. _F1_ through _F12_ stand for the twelve
          function keys. _UP, DOWN, LEFT, _and_ RIGHT _stand for the arrow
          keys. Control characters are represented with _^<char>_. A
          restriction is that you can't mix function keys and character
          keys in this list even though you can, in some cases, mix them
          when running _Alpine_. A user can always use only _character_
          keys in the startup list even if he or she is using _function_
          keys normally, or vice versa. If an element in this list is a
          string surrounded by double quotes (") then it will be expanded
          into the individual characters in the string, excluding the
          double quotes.
   _kblock-passwd-count_
          System-wide _Alpine_ configuration files only. Number of times a
          user will have to enter a password when they run the keyboard
          lock command in the main menu.
   _keyboard-character-set_
          See the discussion in International Character Sets for details.
   _keylabel-background-color_
   _keylabel-foreground-color_
          KeyLabel Color.
   _keyname-background-color_
   _keyname-foreground-color_
          KeyName Color.
   _keywords_
          You may define your own set of keywords and optionally set them
          on a message by message basis. These are similar to the
          "Important" flag which the user may set using the Flag command.
          The difference is that the Important flag is always present for
          each folder. User-defined keywords are chosen by the user. You
          may set up the list of possible keywords here, or you may add
          keywords from the Flag Details screen that you can get to after
          typing the Flag (*) command. After the keywords have been
          defined, then you use the Flag command to set or clear the
          keywords in each message. The behavior of the flag command may
          be modified by using the Enable-Flag-Screen-Implicitly option or
          the Enable-Flag-Screen-Keyword-Shortcut option.
          Keywords may be used when Selecting messages (Select Keyword).
          Keywords may also be used in the Patterns of Rules (Filters,
          Indexcolors, etc). Filter rules may be used to set keywords
          automatically. Keywords may be displayed as part of the Subject
          of a message by using the SUBJKEY or SUBJKEYINIT tokens in the
          Index-Format option. The Keyword-Surrounding-Chars option may be
          used to modify the display of keywords using SUBJKEY and
          SUBJKEYINIT slightly. Keywords may also be displayed in a column
          of their own in the MESSAGE INDEX screen by using the KEY or
          KEYINIT tokens. It is also possible to color keywords in the
          index using the Setup/Kolor screen (Keyword Colors). Keywords
          are not supported by all mail servers.
          You may give keywords nicknames if you wish. If the keyword
          definition you type in contains a SPACE character, then the
          actual value of the keyword is everything after the last SPACE
          and the nickname for that keyword is everything before the last
          SPACE. For example, suppose you are trying to interoperate with
          another email program which uses a particular keyword with an
          unpleasant name. Maybe it uses a keyword called

                         VendorName.SoftwareName.08
          but for you that keyword means that the message is work-related.
          You could define a keyword to have the value

                       Work VendorName.SoftwareName.08
          and then you would use the name "Work" when dealing with that
          keyword in _Alpine_. If you defined it as

                     My Work VendorName.SoftwareName.08
          the nickname would be everything before the last SPACE, that is
          the nickname would be "My Work".
          Some commonly used keywords begin with dollar signs. This
          presents a slight complication, because the dollar sign is
          normally used to signify environment variable expansion in the
          _Alpine_ configuration. In order to specify a keyword which
          begins with a dollar sign you must precede the dollar sign with
          a second dollar sign to escape its special meaning. For example,
          if you want to include the keyword

                                   $Label1
          as one of your possible keywords, you must enter the text

                                  $$Label1
          instead.
   _keyword-surrounding-chars_
          This option controls a minor aspect of _Alpine_'s MESSAGE INDEX
          and MESSAGE TEXT screens. If you have modified the Index-Format
          option so that either the "SUBJKEY" or "SUBJKEYINIT" tokens are
          used to display keywords or their initials along with the
          Subject; then this option may be used to modify the resulting
          display slightly. By default, the keywords or initials displayed
          for these tokens will be surrounded with curly braces ({ and })
          and a trailing space. For example, if keywords "Work" and "Now"
          are set for a message, the "SUBJKEY" token will normally look
          like

                          {Work Now} actual subject
          and the SUBJKEYINIT token would look like

                             {WN} actual subject
          The default character before the keywords is the left brace ({)
          and the default after the keywords is the right brace followed
          by a space (} ).
          This option allows you to change that. You should set it to two
          values separated by a space. The values may be quoted if they
          include space characters. So, for example, the default value
          could be specified explicitly by setting this option to

                     Keyword-Surrounding-Chars="{" "} "
          The first part wouldn't need to be quoted (but it doesn't hurt).
          The second part does need the quotes because it includes a space
          character. If you wanted to change the braces to brackets you
          could use

                     Keyword-Surrounding-Chars="[" "] "
          Inside the quotes you can use backslash quote to mean quote, so

                    Keyword-Surrounding-Chars="\"" "\" "
          would produce

                          "Work Now" actual subject
          It is also possible to color keywords in the index using the
          Setup/Kolor screen (Keyword Colors).
          It is not possible to change the fact that a space character is
          used to separate the keywords if more than one keyword is set
          for a message. It is also not possible to change the fact that
          there are no separators between the keyword initials if more
          than one keyword is set.
          This option is displayed as "Keyword Surrounding Characters".
   _last-time-prune-questioned_
          Personal configuration file only. This variable records the
          month the user was last asked if his or her _sent-mail_ folders
          should be pruned. The format is _yy.mm_. This is automatically
          updated by _Alpine_ when the the pruning is done or declined. If
          a user wanted to make _Alpine_ stop asking this question he or
          she could set this time to something far in the future. This may
          not be set in the system-wide configuration files. Note: The _yy_
          year is actually the number of years since 1900, so it will be
          equal to 101 in the year 2001.
   _last-version-used_
          Personal configuration file only. This is set automatically by
          _Alpine_. It is used to keep track of the last version of _Alpine_
          that was run by the user. Whenever the version number increases,
          a new version message is printed out. This may not be set in the
          system-wide configuration files.
   _ldap-servers_
          This is only available if _Alpine_ was linked with an LDAP
          library when it was compiled. This variable is normally managed
          by _Alpine_ though it can be set in the system-wide
          configuration files as well as the personal configuration. It is
          a list variable. Each item in the list contains quite a bit of
          extra information besides just the server name. To put this into
          a system-wide config file the easiest thing to do is to
          configure a personal _Alpine_ for the LDAP server then copy the
          configuration line into the system-wide config file. Each item
          in the list looks like:

     server_name[:port] "quoted stuff"
          The server_name is just a hostname and it is followed by an
          optional colon and port number. The default port is 389.
          Following the server name is a single SPACE character followed
          by a bunch of characters inside double quotes. The part inside
          the quotes is a set of _tag_ = _value_ pairs. Each tag is
          preceded by a slash (/) and followed by an equal sign. The value
          for that tag is the text up to the next slash. An example of
          some quoted stuff is:

     "/base=o=University of Washington, c=US/impl=0/.../nick=My Server"
          This would set the search base for this server to o=University
          of Washington, c=US, set the implicit bit to zero, and set the
          nickname for the server to My Server. All of the tags correspond
          directly to items in the Setup/Directory screen so experiment
          with that if you want to see what the possible tags and values
          are.
   _literal-signature_
          With this option your actual signature, as opposed to the name
          of a file containing your signature, is stored in the _Alpine_
          configuration file. If this is defined it takes precedence over
          the _signature-file_ option.
          This is simply a different way to store the signature data. The
          signature is stored inside your _Alpine_ configuration file
          instead of in a separate signature file. Tokens contained in the
          signature work the same way they do with the regular
          signature-file.
          The Setup/Signature command in _Alpine_'s Main Menu will edit
          the _literal-signature_ by default. However, if no
          _literal-signature_ is defined and the file named in the
          _signature-file_ option exists, then the latter will be used
          instead. Compose (Reply, Forward, ...) will default to using the
          _literal-signature_ if defined, otherwise it will use the
          contents of the file named in _signature-file_.
          The _Alpine_ composer is used to edit the literal-signature. The
          result of that edit is first converted to a C-style string
          before it is stored in the configuration file. In particular,
          the two character sequence \n (backslash followed by the
          character "n") will be used to signify a line-break in the
          signature. You don't have to enter the \n, but it will be
          visible in the SETUP CONFIGURATION window after you are done
          editing the signature.
   _mail-check-interval_
          This option specifies, in seconds, how often _Alpine_ will check
          for new mail. If set to zero, new-mail checking is disabled.
          (You can always manually force a new-mail check by typing ^L
          (Ctrl-L), which is also the command to refresh the screen, or by
          typing the Next command when the current message is the last
          message of the folder.) There is a minimum value for this
          option, normally 15 seconds. The default value is normally 150
          seconds. The higher you set this option, the easier it is on the
          server.
          There are some situations where automatic new-mail checking does
          not work. See the discussion about new-mail checking in
          folder-reopen-rule.
          The new-mail checking will not happen exactly at the frequency
          that you specify. For example, _Alpine_ may elect to defer a
          non-INBOX mail check if you are busy typing. Or, it may check
          more frequently than you have specified if that is thought to be
          necessary to keep the server from closing the connection to the
          folder due to inactivity. If _Alpine_ checks for new mail as a
          side effect of another command, it will reset the timer, so that
          new-mail checking may seem to happen irregularly instead of
          every X seconds like clockwork.
          If you are anxious to know about new mail as soon as possible,
          set the check interval low, and you'll know about the new mail
          by approximately that amount of time after it arrives. If you
          aren't so worried about knowing right away, set this option to a
          higher value. That will save the server some processing time and
          may save you some of the time you spend waiting for new-mail
          checks to happen if you are dealing with a slow server or slow
          network connection.
          If you suspect that new-mail checking is causing slow downs for
          you, you may want to look into the options
          Quell-Mailchecks-Composing-Except-Inbox,
          Quell-Mailchecks-Composing-Inbox and
          Mail-Check-Interval-Noncurrent, which refine when mail checking
          is done.
          If the mailbox being check uses a Mail Drop then there is a
          minimum time (maildrop-check-minimum) between new-mail checks.
          Because of this minimum you may notice that new mail does not
          appear promptly when you expect it. The reason for this is to
          protect the server from over-zealous opening and closing of the
          Mail Drop folder, since that is a costly operation.
          A side effect of disabling mail checking is that there will be
          situations in which the user's IMAP connection will be broken
          due to inactivity timers on the server. Another side effect is
          that the user-input-timeout option won't work.
   _mail-check-interval-noncurrent_
          This option is closely related to the Mail-Check-Interval
          option, as well as the Quell-Mailchecks-Composing-Except-Inbox
          and Quell-Mailchecks-Composing-Inbox options. If the
          "Mail-Check-Interval" option is set to zero, then automatic
          new-mail checking is disabled and this option will have no
          effect.
          Normally this option is set to zero, which means that the value
          used will be the same as the value for the
          "Mail-Check-Interval". If you set this option to a value
          different from zero (usually larger than the value for
          "Mail-Check-Interval") then that is the check interval that will
          be used for folders which are not the currently open folder or
          the INBOX. You may not even have any folders that are noncurrent
          and not the INBOX. If you do, it is likely that they are due to
          Stay-Open-Folders you have configured. This option also affects
          the rate of mail checking done on cached connections to folders
          you previously had open but are no longer actively using. You
          aren't expected to understand that last sentence, but if you are
          interested take a look at Max-Remote-Connections, and the
          related options.
   _mail-directory_
          This variable was more important in previous versions of
          _Alpine_. Now it is used only as the default for storing personal
          folders (and only if there are no folder-collections defined).
          The default value is _~/mail_ on UNIX and _${HOME}\MAIL_ on a
          PC.
   _mailcap-search-path_
          This variable is used to replace _Alpine_'s default mailcap file
          search path. It takes one or more file names (full paths must be
          specified) in which to look for mail capability data.
   _maildrop-check-minimum_
          New-mail checking for a Mail Drop is a little different from new
          mail checking for a regular folder. One of the differences is
          that the connection to the Mail Drop is not kept open and so the
          cost of checking (delay for you and additional load for the
          server) may be significant. Because of this additional cost we
          set a minimum time that must pass between checks. This minimum
          only applies to the automatic checking done by _Alpine_. If you
          force a check by typing ^L (Ctrl-L) or by typing the Next
          command when you are at the end of a folder index, then the
          check is done right away.
          This option specifies, in seconds, the _minimum_ time between
          Mail Drop new-mail checks. You may want to set this minimum high
          in order to avoid experiencing some of the delays associated
          with the checks. Note that the time between checks is still
          controlled by the regular Mail-Check-Interval option. When
          _Alpine_ is about to do an automatic check for new mail (because
          the Mail-Check-Interval has expired) then if the time since the
          last new-mail check of any open Mail Drops has been greater than
          the MailDrop-Check-Minimum, the Mail Drop is checked for new
          mail as well. Therefore, it is only useful to set this option to
          a value that is higher than the Mail-Check-Interval.
          If this option is set to zero, automatic Mail Drop new-mail
          checking is disabled. There is a minimum value, normally 60
          seconds. The default value is normally 60 seconds as well. This
          applies to the INBOX and to the currently open folder if that is
          different from the INBOX.
   _max-remote-connections_
          This option affects low-level behavior of _Alpine_. The default
          value for this option is _2_. If your INBOX is accessed using
          the IMAP protocol from an IMAP server, that connection is kept
          open throughout the duration of your _Alpine_ session,
          independent of the value of this option. The same is true of any
          Stay-Open-Folders you have defined. This option controls
          _Alpine_'s behavior when connecting to remote IMAP folders other
          than your INBOX or your Stay-Open-Folders. It specifies the
          maximum number of remote IMAP connections (other than those
          mentioned above) that _Alpine_ will use for accessing the rest
          of your folders. If you set this option to zero, you will turn
          off most remote connection re-use. It's difficult to understand
          exactly what this option does, and it is usually fine to leave
          it set to its default value. It is probably more likely that you
          will be interested in setting the Stay-Open-Folders option
          instead of changing the value of this option. A slightly longer
          explanation of what is going on with this option is given in the
          next paragraphs.
          There are some time costs involved in opening and closing remote
          IMAP folders, the main costs being the time you have to wait for
          the connection to the server and the time for the folder to
          open. Opening a folder may involve not only the time the server
          takes to do its processing but time that _Alpine_ uses to do
          filtering. These times can vary widely. They depend on how
          loaded the server is, how large the folder being opened is, and
          how you set up filtering, among other things. Once _Alpine_ has
          opened a connection to a particular folder, it will attempt to
          keep that connection open in case you use it again. In order to
          do this, _Alpine_ will attempt to use the Max-Remote-Connections
          (the value of this option) IMAP connections you have allotted
          for this purpose.
          For example, suppose the value of this option is set to "2". If
          your INBOX is accessed on a remote server using the IMAP
          protocol, that doesn't count as one of the remote connections
          but it is always kept open. If you then open another IMAP
          folder, that would be your first remote connection counted as
          one of the Max-Remote-Connections connections. If you open a
          third folder the second will be left open, in case you return to
          it. You won't be able to tell it has been left open. It will
          appear to be closed when you leave the folder but the connection
          will remain in the background. Now suppose you go back to the
          second folder (the first folder after the INBOX). A connection
          to that folder is still open so you won't have to wait for the
          startup time to open it. Meanwhile, the connection to the third
          folder will be left behind. Now, if you open a fourth folder,
          you will bump into the Max-Remote-Connections limit, because
          this will be the third folder other than INBOX and you have the
          option set to "2". The connection that is being used for the
          third folder will be re-used for this new fourth folder. If you
          go back to the third folder after this, it is no longer already
          connected when you get there. You'll still save some time since
          _Alpine_ will re-use the connection to the fourth folder and you
          have already logged in on that connection, but the folder will
          have to be re-opened from scratch.
          If a folder is large and the startup cost is dominated by the
          time it takes to open that folder or to run filters on it, then
          it will pay to make the value of this option large enough to
          keep it open. On the other hand, if you only revisit a handful
          of folders or if the folders are small, then it might make more
          sense to keep this number small so that the reconnect time (the
          time to start up a new connection and authenticate) is
          eliminated instead.
          You may also need to consider the impact on the server. On the
          surface, a larger number here may cause a larger impact on the
          server, since you will have more connections open to the server.
          On the other hand, not only will _you_ be avoiding the startup
          costs associated with reopening a folder, but the _server_ will
          be avoiding those costs as well.
          When twenty five minutes pass without any active use of an IMAP
          connection being saved for possible re-use, that connection will
          be shut down,
          This option is displayed as "Maximum Remote Connections".
   _meta-message-background-color_
   _meta-message-foreground-color_
          Meta-message Color.
   _mimetype-search-path_
          This variable is used to replace _Alpine_'s default mime.types
          file search path. It takes one or more file names (full paths
          must be specified) in which to look for file-name-extension to
          MIME type mapping data. See the Config Notes for details on
          _Alpine_'s usage of the MIME.Types File.
   _new-version-threshold_
          When a new version of _Alpine_ is run for the first time it
          offers a special explanatory screen to the user upon startup.
          This option helps control when and if that special screen
          appears for users that have previously run _Alpine_. It takes as
          its value a _Alpine_ version number. _Alpine_ versions less than
          the specified value will suppress this special screen while
          versions equal to or greater than that specified will behave
          normally.
   _newmail-fifo-path_
          This option is only available in UNIX _Alpine_. However, there
          is a very similar feature built in to _PC-Alpine_. In
          _PC-Alpine_'s Config menu at the top of the screen is an option
          called "New Mail Window".
          You may have _Alpine_ create a FIFO special file (also called a
          named pipe, see mkfifo(3) and fifo(4)) where it will send a
          one-line message each time a new message is received in the
          current folder, the INBOX, or any open Stay-Open-Folders. To
          protect against two different _Alpine_s both writing to the same
          FIFO, _Alpine_ will only create the FIFO and write to it if it
          doesn't already exist.
          A possible way to use this option would be to have a separate
          window on your screen running the command

                                cat filename
          where "filename" is the name of the file given for this option.
          Because the file won't exist until after you start _Alpine_, you
          must _first_ start _Alpine_ and _then_ run the "cat" command.
          You may be tempted to use "tail -f filename" to view the new
          mail log. However, the common implementations of the tail
          command will not do what you are hoping.
          The width of the messages produced for the FIFO may be altered
          with the NewMail-Window-Width option.
          On some systems, fifos may only be created in a local
          filesystem. In other words, they may not be in NFS filesystems.
          This requirement is not universal. If the system you are using
          supports it, it should work. (It is often the case that your
          home directory is in an NFS filesystem. If that is the case, you
          might try using a file in the "/tmp" filesystem, which is
          usually a local filesystem.) Even when it is possible to use an
          NFS-mounted filesystem as a place to name the fifo (for example,
          your home directory), it will still be the case that the reader
          (probably the "cat" command) and the writer (_Alpine_) of the
          fifo must be running on the same system.
   _newmail-window-width_
          UNIX _Alpine_ only.
          This option is only useful if you have turned on the
          NewMail-FIFO-Path option. That option causes new mail messages
          to be sent to a fifo file. Those messages will be 80 characters
          wide by default. You can change the width of the messages by
          changing this option. For example, if you are reading those
          messages in another window you might want to set this width to
          the width of that other window.
          For UNIX _Alpine_, this option is only useful if you have turned
          on the NewMail-FIFO-Path option. That option causes new mail
          messages to be sent to a fifo file. Those messages will be 80
          characters wide by default. You can change the width of those
          messages by changing this option. For example, if you are
          reading those messages in another window you might want to set
          this width to the width of that other window.
          If you are using _PC-Alpine_, it has an option in the Config
          menu to turn on the "New Mail Window". The present option also
          controls the width of that window.
   _news-active-file-path_
          This option tells _Alpine_ where to look for the "active file"
          for newsgroups when accessing news locally, rather than via
          NNTP. The default path is usually /usr/lib/news/active.
   _news-collections_
          This is a list of collections where news folders are located.
          See the section describing collections for more information.
   _news-spool-directory_
          This option tells _Alpine_ where to look for the "news spool"
          for newsgroups when accessing news locally, rather than via
          NNTP. The default path is usually /var/spool/news.
   _newsrc-path_
          This option overrides the default name _Alpine_ uses for your
          "newsrc" news status and subscription file. If set, _Alpine_
          will take this value as the full pathname for the desired newsrc
          file.
   _nntp-range_
          This option applies only to newsgroups accessed using the NNTP
          protocol. It does not, for example, apply to newsgroups accessed
          using an IMAP-to-NNTP proxy.
          When you open a connection to a News server using the NNTP
          protocol, you normally have access to all of the articles in
          each newsgroup. If a server keeps a large backlog of messages it
          may speed performance some to restrict attention to only the
          newer messages in a group. This option allows you to set how
          many article numbers should be checked when opening a newsgroup.
          You can think of "nntp-range" as specifying the maximum number
          of messages you ever want to see. For example, if you only ever
          wanted to look at the last 500 messages in each newsgroup you
          could set this option to 500. In actuality, it isn't quite that.
          Instead, for performance reasons, it specifies the range of
          article numbers to be checked, beginning with the highest
          numbered article and going backwards from there. If there are
          messages that have been canceled or deleted their article
          numbers are still counted as part of the range.
          So, more precisely, setting the "nntp-range" will cause article
          numbers

      last_article_number - nntp-range + 1 through last_article_number
          to be considered when reading a newsgroup. The number of
          messages that show up in your index will be less than or equal
          to the value of "nntp-range".
          The purpose of this option is simply to speed up access when
          reading news. The speedup comes because _Alpine_ can ignore all
          but the last nntp-range article numbers, and can avoid
          downloading any information about the ignored articles. There is
          a cost you pay for this speedup. That cost is that there is no
          way for you to see those ignored articles. The articles that
          come before the range you specify are invisible to you and to
          _Alpine_, as if they did not exist at all. There is no way to see
          those messages using, for example, an unexclude command or
          something similar. The only way to see those articles is to set
          this option high enough (or set it to zero) and then to reopen
          the newsgroup.
          If this option is set to 0 (which is also the default), then the
          range is unlimited. This option applies globally to all NNTP
          servers and to all newsgroups on those servers. There is no way
          to set different values for different newsgroups or servers.
   _nntp-server_
          One or more NNTP servers (host name or IP address) which _Alpine_
          will use for reading and posting news. If you read and post news
          to and from a single NNTP server, you can get away with only
          setting the _nntp-server_ variable and leaving the
          _news-collections_ variable unset.
          When you define an NNTP server, _Alpine_ implicitly defines a
          news collection for you, assuming that server as the news server
          and assuming that you will use the NNTP protocol and a local
          newsrc configuration file for reading news. See also Configuring
          News.
          Your NNTP server may offer NNTP "AUTHINFO SASL" or "AUTHINFO
          USER" authentication. It may even require it. If your NNTP
          server does offer such authentication you may specify a user
          name parameter to cause _Alpine_ to attempt to authenticate. The
          same is true for the server name in a folder collection which
          uses NNTP. This parameter requires an associated value, the
          username identifier with which to establish the server
          connection. An example might be:

                      nntpserver.example.com/user=katie
          If authentication is offered by the server, this will cause
          _Alpine_ to attempt to use it. If authentication is not offered
          by the server, this will cause _Alpine_ to fail with an error
          similar to:

                  Error: NNTP authentication not available
          For more details about the server name possibilities see Server
          Name Syntax.
   _normal-background-color_
   _normal-foreground-color_
          Normal Color.
   _opening-text-separator-chars_
          This option controls a minor aspect of _Alpine_'s MESSAGE INDEX
          screen. With some setups the text of the subject is followed by
          the opening text of the message if there is any room available
          in the index line. If you have configured your Index-Format
          option to include one of the Subject tokens which causes this
          behavior (SUBJECTTEXT, SUBJKEYTEXT, or SUBJKEYINITTEXT), then
          this option may be used to modify what is displayed slightly. By
          default, the Subject is separated from the opening text of the
          message by the three characters space dash space;

                                    " - "
          Use this option to set it to something different. The value must
          be quoted if it includes any space characters. For example, the
          default value could be specified explicitly by setting this
          option to

                     Opening-Text-Separator-Chars=" - "
          This option is displayed as "Opening Text Separator Characters".
   _operating-dir_
          System-wide _Alpine_ configuration files only. This names the
          root of the tree to which the user is restricted when reading
          and writing folders and files. It is usually used in the _fixed_
          configuration file.
   _patterns-filters2_
          Matching patterns and their corresponding actions are stored in
          this variable. These patterns are used with Filtering. This
          variable is normally maintained through the Setup/Rules/Filters
          configuration screen. It is a list variable. Each member of the
          list is a single pattern/action pair, or it can be a file which
          contains zero or more lines of pattern/action pairs. The only
          way to create a filters file is to use the InsertFile command in
          the Setup/Rules/Filters screen with a filename which doesn't yet
          exist. Then use the Shuffle command to move existing filter
          patterns into the file. This isn't very convenient but it isn't
          thought that many users will need this functionality. The
          purpose of filter files is for sharing filters.
          This option is displayed as "Patterns Filters".
   _patterns-indexcolors_
          Matching patterns and their corresponding actions are stored in
          this variable. These patterns are used for Index Line Colors.
          This variable is normally maintained through the
          Setup/Rules/Indexcolor configuration screen. It is a list
          variable. Each member of the list is a single pattern/action
          pair, or it can be a file which contains zero or more lines of
          pattern/action pairs. The only way to create a indexcolor file
          is to use the InsertFile command in the Setup/Rules/Indexcolor
          screen with a filename which doesn't yet exist. Then use the
          Shuffle command to move existing patterns into the file. This
          isn't very convenient but it isn't thought that many users will
          need this functionality. The purpose of indexcolor files is for
          sharing indexcolors.
   _patterns-other_
          Matching patterns and their corresponding actions are stored in
          this variable. These patterns are used with Miscellaneous Rules
          configuration. This variable is normally maintained through the
          Setup/Rules/Other configuration screen. It is a list variable.
          Each member of the list is a single pattern/action pair, or it
          can be a file which contains zero or more lines of
          pattern/action pairs. The only way to create a rules file is to
          use the InsertFile command in the Setup/Rules/Other screen with
          a filename which doesn't yet exist. Then use the Shuffle command
          to move existing rules into the file. This isn't very convenient
          but it isn't thought that many users will need this
          functionality.
   _patterns-roles_
          Matching patterns and their corresponding actions are stored in
          this variable. These patterns are used with Roles. This variable
          is normally maintained through the Setup/Rules/Roles
          configuration screen. It is a list variable. Each member of the
          list is a single pattern/action pair, or it can be a file which
          contains zero or more lines of pattern/action pairs. The only
          way to create a roles file is to use the InsertFile command in
          the Setup/Rules/Roles screen with a filename which doesn't yet
          exist. Then use the Shuffle command to move existing roles into
          the file. This isn't very convenient but it isn't thought that
          many users will need this functionality. The purpose of role
          files is for sharing roles.
   _patterns-scores2_
          Matching patterns and their corresponding actions are stored in
          this variable. These patterns are used with Scoring. This
          variable is normally maintained through the
          Setup/Rules/SetScores configuration screen. It is a list
          variable. Each member of the list is a single pattern/action
          pair, or it can be a file which contains zero or more lines of
          pattern/action pairs. The only way to create a scores file is to
          use the InsertFile command in the Setup/Rules/SetScores screen
          with a filename which doesn't yet exist. Then use the Shuffle
          command to move existing scoring patterns into the file. This
          isn't very convenient but it isn't thought that many users will
          need this functionality. The purpose of scoring files is for
          sharing scoring rules.
          This option is displayed as "Patterns Scores".
   _patterns-search_
          Matching patterns for use with the Select command are stored in
          this variable. These patterns are used with Search Rules
          configuration. This variable is normally maintained through the
          Setup/Rules/searCh configuration screen. It is a list variable.
          Each member of the list is a single pattern, or it can be a file
          which contains zero or more lines of patterns. The only way to
          create a rules file is to use the InsertFile command in the
          Setup/Rules/searCh screen with a filename which doesn't yet
          exist. Then use the Shuffle command to move existing rules into
          the file. This isn't very convenient but it isn't thought that
          many users will need this functionality.
   _personal-name_
          Personal configuration file only. User's full personal name. On
          UNIX systems, the default is taken from the accounts data base
          (/etc/passwd). The easiest way to change the full From address
          is with the customized-hdrs variable.
   _personal-print-category_
          Personal configuration file only. This is the category that the
          default print command belongs to. There are three categories.
          Category 1 is an attached printer which uses the ANSI escape
          sequence, category 2 is the standard system print command, and
          category 3 is the set of custom printer commands defined by the
          user. This just helps _Alpine_ figure out where to put the
          cursor when the user runs the _Setup/Printer_ command. This is
          not used by _PC-Alpine_.
   _personal-print-command_
          Personal configuration file only. This corresponds to the third
          category in the printer menu, the personally selected print
          commands. This variable contains the list of custom commands
          that the user has entered in the _Setup/Printer_ screen. This is
          not used by _PC-Alpine_.
   _posting-character-set_
          See the discussion in International Character Sets for details.
   _postponed-folder_
          The folder where postponed messages are stored. The default is
          _postponed-msgs_ (Unix) or _POSTPOND_ (PC).
   _print-font-name_
          Winsock version of _PC-Alpine_ only.
   _print-font-size_
          Winsock version of _PC-Alpine_ only.
   _print-font-style_
          Winsock version of _PC-Alpine_ only.
   _printer_
          Personal configuration file only. This is the current setting
          for a user's printer. This variable is set from _Alpine_'s
          _Setup/Printer_ screen.
   _prompt-background-color_
   _prompt-foreground-color_
          Prompt Color.
   _pruned-folders_
          This variable allows you to define a list of one or more folders
          that _Alpine_ will offer to prune for you in the same way it
          automatically offers to prune your "sent-mail" folder each
          month. Each folder in this list must be a folder in your default
          folder collection (the first folder collection if you have more
          than one), and it is just the relative name of the folder in the
          collection, not the fully-qualified name. It is similar to
          sent-mail. Instead of something like

                   pruned-folders={servername}mail/folder
          the correct value to use would be

                                   folder
          There is an assumption here that your first collection is the
          folders in

                              {servername}mail
          Once a month, for each folder listed, _Alpine_ will offer to
          move the contents of the folder to a new folder of the same name
          but with the previous month's date appended. _Alpine_ will then
          look for any such date-appended folder names created for a
          previous month, and offer each one it finds for deletion.
          If you decline the first offer, no mail is moved and no new
          folder is created.
          The new folders will be created in your default folder
          collection.
   _pruning-rule_
          By default, _Alpine_ will ask at the beginning of each month
          whether or not you want to rename your sent-mail folder to a
          name like sent-mail-month-year. (See the feature
          prune-uses-yyyy-mm to change the format of the folder to
          sent-mail-yyyy-mm.) It will also ask whether you would like to
          delete old sent-mail folders. If you have defined
          read-message-folder or pruned-folders _Alpine_ will also ask
          about pruning those folders. With this option you may provide an
          automatic answer to the rename questions and you may tell
          _Alpine_ to not ask about deleting old folders.
   _quote1-background-color_
   _quote1-foreground-color_
   _quote2-background-color_
   _quote2-foreground-color_
   _quote3-background-color_
   _quote3-foreground-color_
          Quote Colors.
   _quote-replace-string_
          This option specifies what string to use as a quote when
          _viewing_ a message. The standard way of quoting messages when
          replying is the string "> " (quote space). With this variable
          set, viewing a message will replace occurrences of "> " with the
          replacement string. This setting works best when
          Reply-Indent-String or the equivalent setting in your
          correspondents' mail programs is set to the default "> ", but it
          will also work fine with the Reply-Indent-String set to ">".
          Enable the feature Quote-Replace-Nonflowed to also have
          quote-replacement performed on non-flowed messages.
          Setting this option will replace ">" and "> " with the new
          setting. This string may include trailing spaces. To preserve
          those spaces enclose the full string in double quotes.
          No padding to separate the text of the message from the quote
          string is added. This means that if you do not add trailing
          spaces to the value of this variable, text will be displayed
          right next to the quote string, which may be undesirable. This
          can be avoided by adding a new string separated by a space from
          your selection of quote string replacement. This last string
          will be used for padding. For example, setting this variable to
          ">" " " has the effect of setting ">" as the
          quote-replace-string, with the text padded by a space from the
          last quote string to make it more readable.
          One possible setting for this variable could be "    " (four
          spaces wrapped in quotes), which would have the effect of
          indenting each level of quoting four spaces and removing the
          ">"'s. Different levels of quoting could be made more
          discernible by setting colors for quoted text.
          Replying to or forwarding the viewed message will preserve the
          original formatting of the message, so quote-replacement will
          not be performed on messages that are being composed.
   _quote-suppression-threshold_
          This option should be used with care. It will cause some of the
          quoted text to be eliminated from the display when viewing a
          message in the MESSAGE TEXT screen. For example, if you set the
          Quote-Suppression-Threshold to the value "5", this will cause
          quoted text that is longer than five lines to be truncated.
          Quoted text of five or fewer consecutive lines will be displayed
          in its entirety. Quoted text of more than six lines will have
          the first five lines displayed followed by a line that looks
          something like

                [ 12 lines of quoted text hidden from view ]
          As a special case, if exactly one line of quoted text would be
          hidden, the entire quote will be shown instead. So for the above
          example, quoted text which is exactly six lines long will will
          be shown in its entirety. (In other words, instead of hiding a
          single line and adding a line that announces that one line was
          hidden, the line is just shown.)
          If the sender of a message has carefully chosen the quotes that
          he or she includes, hiding those quotes may change the meaning
          of the message. For that reason, _Alpine_ requires that when you
          want to set the value of this variable to something less than
          four lines, you actually have to set it to the negative of that
          number. So if you want to set this option to "3", you actually
          have to set it to "-3". The only purpose of this is to get you
          to think about whether or not you really want to do this! If you
          want to delete all quoted text you set the value of this option
          to the special value "-10".
          The legal values for this option are

               0      Default, don't hide anything
           -1,-2,-3   Suppress quote lines past 1, 2, or 3 lines
           4,5,6,...  Suppress if more than that many lines
             -10      Suppress all quoted lines
          If you set this option to a non-default value you may sometimes
          wish to view the quoted text that is not shown. When this is the
          case, the HdrMode (Header Mode) command may be used to show the
          hidden text. Typing the "H" command once will show the hidden
          text. Typing a second "H" will also turn on Full Header mode.
          The presence or absence of the HdrMode command is determined by
          the "Enable-Full-Header-Cmd" Feature-List option in your _Alpine_
          configuration, so you will want to be sure that is turned on if
          you use quote suppression.
          For the purposes of this option, a quote is a line that begins
          with the character ">".
          Quotes are only suppressed when displaying a message on the
          screen. The entire quote will be left intact when printing or
          forwarding or something similar.
   _read-message-folder_
          If set, mail in the _INBOX_ that has been read but not deleted
          is moved here, or rather, the user is asked whether or not he or
          she wants to move it here upon quitting _Alpine_.
   _remote-abook-history_
          Sets how many extra copies of remote address book data will be
          kept in each remote address book folder. The default is three.
          These extra copies are simply old versions of the data. Each
          time a change is made a new copy of the address book data is
          appended to the folder. Old copies are trimmed, if possible,
          when _Alpine_ exits. An old copy can be put back into use by
          deleting and expunging newer versions of the data from the
          folder. Don't delete the first message from the folder. It is a
          special header message for the remote address book and it must
          be there. This is to prevent regular folders from being used as
          remote address book folders and having their data destroyed.
   _remote-abook-metafile_
          Personal configuration file only. This is usually set by _Alpine_
          and is the name of a file that contains data about remote
          address books and remote configuration files.
   _remote-abook-validity_
          Sets the minimum number of minutes that a remote address book
          will be considered up to date. Whenever an entry contained in a
          remote address book is used, if more than this many minutes have
          passed since the last check the remote server will be queried to
          see if the address book has changed. If it has changed, the
          local copy is updated. The default value is five minutes. The
          special value of -1 means never check. The special value of zero
          means only check when the address book is first opened.
          No matter what the value, the validity check is always done when
          the address book is about to be changed by the user. The check
          can be initiated manually by typing _^L_ (Ctrl-L) while in the
          address book maintenance screen for the remote address book.
   _reply-indent-string_
          This variable specifies an aspect of _Alpine_'s _Reply_ command.
          When a message is replied to and the text of the message is
          included, the included text usually has the string "> "
          prepended to each line indicating it is quoted text.
          This option specifies a different value for that string. If you
          wish to use a string which begins or ends with a space, enclose
          the string in double quotes.
          Besides simple text, the prepended string can be based on the
          message being replied to. The following tokens are substituted
          for the message's corresponding value:

        _FROM_
                This token gets replaced with the message sender's
                "username". At most six characters are used.

        _NICK_
                This token gets replaced with the nickname of the message
                sender's address as found in your addressbook. If no
                addressbook entry is found, Pine replaces the characters
                "_NICK_" with nothing. At most six characters are used.

        _INIT_
                This token gets replaced with the initials of the sender
                of the message.

          When the enable-reply-indent-string-editing feature is enabled,
          you are given the opportunity to edit the string, whether it is
          the default or one automatically generated using the above
          tokens.
   _reply-leadin_
          This option is used to customize the content of the introduction
          line that is included when replying to a message and including
          the original message in the reply. The normal default (what you
          will get if you delete this variable) looks something like:

                 On Sat, 24 Oct 1998, Fred Flintstone wrote:
          where the day of the week is only included if it is available in
          the original message. You can replace this default with text of
          your own. The text may contain tokens that are replaced with
          text that depends on the message you are replying to. For
          example, the default is equivalent to:

                         On _DAYDATE_, _FROM_ wrote:
          Since this variable includes regular text mixed with special
          tokens the tokens have to be surrounded by underscore
          characters. For example, to use the token "PREFDATE" you would
          need to use "_PREFDATE_", not "PREFDATE".
          The list of available tokens is here.
          By default, the text is all on a single line and is followed by
          a blank line. If your _Reply-Leadin_ turns out to be longer than
          80 characters when replying to a particular message, it is
          shortened. However, if you use the token

                                  _NEWLINE_
          anywhere in the value, no end of line or blank line is appended,
          and no shortening is done. The _NEWLINE_ token may be used to
          get rid of the blank line following the text, to add more blank
          lines, or to form a multi-line _Reply-Leadin_. To clarify how
          _NEWLINE_ works recall that the default value is:

                         On _DAYDATE_, _FROM_ wrote:
          That is equivalent to

                On _DAYDATE_, _FROM_ wrote:_NEWLINE__NEWLINE_
          In the former case, two newlines are added automatically because
          no _NEWLINE_ token appears in the value of the option (for
          backwards compatibility). In the latter case, the newlines are
          explicit. If you want to remove the blank line that follows the
          _Reply-Leadin_ text use a single _NEWLINE_ token like

                    On _DAYDATE_, _FROM_ wrote:_NEWLINE_
          Because of the backwards compatibility problem, it is not
          possible to remove all of the ends of lines, because then there
          will be no _NEWLINE_ tokens and that will cause the automatic
          adding of two newlines! If you want, you may embed newlines in
          the middle of the text, as well, producing a multi-line
          _Reply-Leadin_.
          By default, no attempt is made to localize the date. If you
          prefer a localized form you may find that one of the tokens
          _PREFDATE_ or _PREFDATETIME_ is a satisfactory substitute. If
          you want more control one of the many other date tokens, such as
          _DATEISO_, might be better.
          For the adventurous, there is a way to conditionally include
          text based on whether or not a token would result in specific
          replacement text. For example, you could include some text based
          on whether or not the _NEWS_ token would result in any
          newsgroups if it was used. It's explained in detail here.
          In the very unlikely event that you want to include a literal
          token in the introduction line you must precede it with a
          backslash character. For example,

                           \_DAYDATE_ = _DAYDATE_
          would produce something like

                        _DAYDATE_ = Sat, 24 Oct 1998
          It is not possible to have a literal backslash followed by an
          expanded token.
   _reverse-background-color_
   _reverse-foreground-color_
          Reverse Color.
   _rsh-command_
          Sets the format of the command used to open a UNIX remote shell
          connection. The default is "%s %s -l %s exec /etc/r%sd". All
          four "%s" entries MUST exist in the provided command. The first
          is for the command's pathname, the second is for the host to
          connect to, the third is for the user to connect as, and the
          fourth is for the connection method (typically imap).
   _rsh-open-timeout_
          Sets the time in seconds that _Alpine_ will attempt to open a
          UNIX remote shell connection. The default is 15, the minimum
          non-zero value is 5, and the maximum is unlimited. If this is
          set to zero rsh connections will be completely disabled.
   _rsh-path_
          Sets the name of the command used to open a UNIX remote shell
          connection. The default is typically /usr/ucb/rsh.
   _saved-msg-name-rule_
          Determines default folder name when _Sav_ing. If set to
          _default-folder_ (which is the default setting), then _Alpine_
          will offer the folder "saved-messages" (UNIX) or "SAVEMAIL" (PC)
          for _Sav_ing messages. The default folder offered in this way
          may be changed by using the configuration variable
          default-saved-msg-folder.
          If this rule is set to _last-folder-used_, _Alpine_ offers to
          _Save_ to the folder you last successfully _Saved_ a message to
          (this session). The first time you _Save_ a message in a
          session, _Alpine_ offers to _Save_ the message to the default
          folder.
          Choosing any of the _by-_ options causes _Alpine_ to attempt to
          get the chosen option's value for the message being _Saved_ (or
          for the first message being Saved if using an aggregate Save).
          For example, if _by-from_ is chosen, _Alpine_ attempts to get
          the value of who the message came from (i.e. the from address).
          _Alpine_ then attempts to _Save_ the message to a folder matching
          that value. If _by-from_ is chosen and no value is obtained,
          _Alpine_ uses _by-sender_. The opposite is also true. If
          _by-recipient_ was chosen and the message was posted to a
          newsgroup, _Alpine_ will use the newsgroup name. If _by-replyto_
          is chosen and no value is obtained, _Alpine_ uses _by-from_.
          If any of the "by-realname" options are chosen, _Alpine_ will
          attempt to use the personal name part of the address instead of
          the mailbox part. If any of the "by-nick" options are chosen,
          the address is looked up in your address book and if found, the
          nickname for that entry is used. Only simple address book
          entries are checked, not distribution lists. Similarly, if any
          of the "by-fcc" options are chosen, the fcc from the
          corresponding address book entry is used. If by-realname, or the
          by-nick or by-fcc lookups result in no value, then if the chosen
          option ends with the "then-from", "then-sender", "then-replyto",
          or "then-recip" suffix, _Alpine_ reverts to the same behavior as
          "by-from", "by-sender", "by-replyto", or "by-recip" depending on
          which option was specified. If the chosen option doesn't end
          with one of the "then-" suffixes, then _Alpine_ reverts to the
          default folder when no match is found in the address book.
          Here is an example to make some of the options clearer. If the
          message is From

                     Fred Flintstone <flint@bedrock.org>
          and this rule is set to "by-from", then the default folder
          offered in the save dialog would be "flint".
          If this rule is set to "by-realname-of-from" then the default
          would be "Fred Flintstone".
          If this rule is set to "by-nick-of-from" then _Alpine_ will
          search for the address "flint@bedrock.org" in your address book.
          If an entry is found and it has a nickname associated with it,
          that nickname will be offered as the default folder. If not, the
          default saved message folder will be offered as the default.
          If this rule is set to "by-fcc-of-from" then _Alpine_ will
          search for the address "flint@bedrock.org" in your address book.
          If an entry is found and it has an Fcc associated with it, that
          Fcc will be offered as the default folder. If not, the default
          saved message folder will be offered as the default.
          If this rule is set to "by-nick-of-from-then-from" then _Alpine_
          will search for the address "flint@bedrock.org" in your address
          book. If an entry is found and it has a nickname associated with
          it, that nickname will be offered as the default folder. If it
          is not found (or has no nickname) then the default offered will
          be the same as it would be for the "by-from" rule. That is, it
          would be "flint"
          This option is displayed as "Saved Message Name Rule".
   _scroll-margin_
          This option controls when _Alpine_'s line-by-line scrolling
          occurs. Typically, when a selected item is at the top or bottom
          screen edge and the UP or DOWN (and Ctrl-P or Ctrl-N) keys are
          pressed, the displayed items are scrolled down or up by a single
          line.
          This option allows you to tell _Alpine_ the number of lines from
          the top and bottom screen edge that line-by-line scrolling
          should occur. For example, setting this value to one (1) will
          cause _Alpine_ to scroll the display when you move to select an
          item on the display's top or bottom edge (instead of moving when
          you move off the edge of the screen).
          By default, this variable is zero (0), indicating that scrolling
          happens when you move up or down to select an item immediately
          off the display's top or bottom edge.
   _selectable-item-background-color_
   _selectable-item-foreground-color_
          Selectable-item Color.
   _sending-filters_
          This option defines a list of text-filtering commands (programs
          and scripts) that may be selectively invoked to process a
          message just before it is sent. If set, the Composer's _^X Send_
          command will allow you to select which filter (or none) to apply
          to the message before it is sent. For security reasons, the full
          path of the filter program must be specified.
          Sending filters do not work with _PC-Alpine_ and sending filters
          are not used if the feature send-without-confirm is set.
          Command Modifying Tokens:

        __RECIPIENTS__
                When the command is executed, this token is replaced with
                the space delimited list of recipients of the message
                being sent.

        __TMPFILE__
                When the command is executed, this token is replaced with
                the path and name of the temporary file containing the
                text to be filtered. _Alpine_ expects the filter to
                replace this data with the filter's result. NOTE: Use of
                this token implies that the text to be filtered is not
                piped into standard input of the executed command and its
                standard output is ignored. _Alpine_ restores the tty
                modes before invoking the filter in case the filter
                interacts with the user via its own standard input and
                output.

        __RESULTFILE__
                When the command is executed, this token is replaced with
                the path and name of a temporary file intended to contain
                a status message from the filter. _Alpine_ displays this
                in the message status field.

        __DATAFILE__
                When the command is executed, this token is replaced in
                the command line with the path and name of a temporary
                file that _Alpine_ creates once per session and deletes
                upon exit. The file is intended to be used by the filter
                to store state information between instances of the
                filter.

        __PREPENDKEY__
                When the command is executed, this token indicates that a
                random number will be passed down the input stream before
                the message text. It is not included as a command-line
                argument. This number could be used as a session key. It
                is sent in this way to improve security. The number is
                unique to the current _Alpine_ session and is only
                generated once per session.

        __INCLUDEALLHDRS__
                When the command is executed, this token indicates that
                the headers of the message will be passed down the input
                stream before the message text. It is not included as a
                command-line argument. The filter should, of course,
                remove the headers before returning control to _Alpine_.

        __MIMETYPE__
                When the command is executed, this token is replaced in
                the command name with a temporary file name used to accept
                any new MIME Content-Type information necessitated by the
                output of the filter. Upon the filter's exit, if the file
                contains new MIME type information, _Alpine_ verifies its
                format and replaces the outgoing message's MIME type
                information with that contained in the file. This is
                basically a cheap way of sending something other than
                Text/Plain.

   _sendmail-path_
          This names the path to an alternative program, and any necessary
          arguments, to be used in posting mail messages. See the section
          on SMTP and Sendmail for more details.
   _signature-file_
          This is the name of a file which will be automatically inserted
          into outgoing messages. It typically contains information such
          as your name, email address and organizational affiliation.
          _Alpine_ adds the signature into the message as soon as you enter
          the composer so you can choose to remove it or edit it on a
          message by message basis. Signature file placement in message
          replies is controlled by the signature-at-bottom setting in the
          feature list.
          This defaults to ~/.signature on UNIX and <PINERC
          directory>\PINE.SIG on a PC.
          To create or edit your signature file choose Setup from the Main
          Menu and then select S for Signature (Main/Setup/Signature).
          This puts you into the Signature Editor where you can enter a
          _few_ lines of text containing your identity and affiliation.
          If the filename is followed by a vertical bar (|) then instead
          of reading the contents of the file the file is assumed to be a
          program which will produce the text to be used on its standard
          output. The program can't have any arguments and doesn't receive
          any input from _Alpine_, but the rest of the processing works as
          if the contents came from a file.
          Instead of storing the data in a local file, the signature data
          may be stored remotely in an IMAP folder. In order to do this,
          you must use a remote name for the file. A remote signature-file
          name might look like:

                {myimaphost.myschool.k12.wa.us}mail/signature
          or, if you have an SSL-capable version of _Alpine_, you might
          try

      {myimaphost.myschool.k12.wa.us/user=loginname/ssl}mail/signature
          The syntax used here is the same as the syntax used for remote
          configuration files from the command line. Note that you may not
          access an existing signature file remotely, you have to create a
          new _folder_ which contains the signature data. If the name you
          use here for the signature file is a remote name, then when you
          edit the file from the Setup/Signature command the data will be
          stored remotely in the folder. You aren't required to do
          anything special to create the folder, it gets created
          automatically if you use a remote name.
          Besides regular text, the signature file may also contain (or a
          signature program may produce) tokens which are replaced with
          text which usually depends on the message you are replying to or
          forwarding. For example, if the signature file contains the
          token

                                   _DATE_
          anywhere in the text, then that token is replaced by the date
          the message you are replying to or forwarding was sent. If it
          contains

                                  _CURDATE_
          that is replaced with the current date. The first is an example
          of a token which depends on the message you are replying to (or
          forwarding) and the second is an example which doesn't depend on
          anything other than the current date. You have to be a little
          careful with this facility since tokens which depend on the
          message you are replying to or forwarding will be replaced by
          nothing in the case where you are composing a new message from
          scratch. The use of roles may help you in this respect. It
          allows you to use different signature files in different cases.
          The list of tokens available for use in the signature file is
          here.
          Instead of, or along with the use of _roles_ to give you
          different signature files in different situations, there is also
          a way to conditionally include text based on whether or not a
          token would result in specific replacement text. For example,
          you could include some text based on whether or not the _NEWS_
          token would result in any newsgroups if it was used. This is
          explained in detail here. This isn't for the faint of heart.
          In the very unlikely event that you want to include a literal
          token in the signature you must precede it with a backslash
          character. For example,

                           \_DAYDATE_ = _DAYDATE_
          would produce something like

                        _DAYDATE_ = Sat, 24 Oct 1998
          It is not possible to have a literal backslash followed by an
          expanded token.
   _signature-background-color_
   _signature-foreground-color_
          Signature Color.
   _smime-public-cert-directory_
          UNIX _Alpine_ only.
          If the option smime-public-cert-container is set then this
          option will have no effect.
          Normally, Public Certificates for use with S/MIME will be stored
          in the directory which is the value of this option. Those
          certificates will be stored in PEM format, one certificate per
          file. The name of the file for the certificate corresponding to

                                emailaddress
          should be

                              emailaddress.crt
          For example, a file for user@example.com would be in the file

                            user@example.com.crt
          in this directory.
          Use the Setup/SMIME screen to modify this variable.
          Typically, the public certificates that you have will come from
          S/MIME signed messages that are sent to you. _Alpine_ will
          extract the public certificate from the signed message and store
          it in the certificates directory. These PEM format public
          certificates look something like:
-----BEGIN CERTIFICATE-----
MIIFvTCCBKWgAwIBAgIQD4fYFHVI8T20yN4nus097DANBgkqhkiG9w0BAQUFADCB
rjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
...
2b9KGqDyMWW/rjNnmpjzjT2ObGM7lRA8lke4FLOLajhrz4ogO3b4DFfAAM1VSZH8
D6sOwOLJZkLY8FRsfk63K+2EMzA2+qAzMKupgeTLqXIf
-----END CERTIFICATE-----

          + General S/MIME Overview
          This option is displayed as "S/MIME - Public Cert Directory".
   _smime-public-cert-container_
          UNIX _Alpine_ only.
          If this option is set it will be used instead of
          smime-public-cert-directory
          This option gives you a way to store certificates remotely on an
          IMAP server instead of storing the certificates one per file
          locally. In order to do that you just give this option a remote
          folder name for a folder which does not yet exist. The name is
          similar to the name you might use for a remote configuration
          file. A remote folder name might look something like:

               {myimaphost.myschool.k12.wa.us}mail/publiccerts
          Use the Setup/SMIME screen to modify this variable.
          + General S/MIME Overview
          This option is displayed as "S/MIME - Public Cert Container".
   _smime-private-key-directory_
          UNIX _Alpine_ only.
          In order to sign outgoing S/MIME messages you will need a
          personal digital ID certificate. You will usually get such a
          certificate from a certificate authority such as Thawte or
          CAcert. (In order to encrypt outgoing messages you don't need a
          personal digital ID, you need the public certificate of the
          recipient instead.) If the option smime-private-key-container is
          set then this option will have no effect.
          Normally, Private Keys for use with S/MIME will be stored in the
          directory which is the value of this option. Those certificates
          will be stored in PEM format, one certificate per file. The name
          of the file for the certificate corresponding to your

                                emailaddress
          should be

                              emailaddress.key
          For example, if your address is user@example.com the name of the
          file would be

                            user@example.com.key
          in this directory.
          Use the Setup/SMIME screen to modify this variable.
          Typically, the private key that you have will come from a
          Certificate Authority. The private key should be stored in a PEM
          format file that looks something like:
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,2CBD328FD84CF5C6

YBEXYLgLU9NJoc1V+vJ6UvcF08RX54S6jXsmgL0b5HGkudG6fhnmHkH7+UCvM5NI
SXO/F8iuZDfs1VGG0NyitkFZ0Zn2vfaGovBvm15gx24b2xnZDLRB7/bNZkurnK5k
VjAjZ2xXn2hFp2GJwqRdmxYNqsKGu52B99oti5HUWuZ2GFRaWjn5hYOqeApZE2uA
...
oSRqfI51UdSRt0tmGhHeTvybUVrHm9eKft8TTGf+qSBqzSc55CsmoVbRzw4Nfhix
m+4TJybNGNfAgOctSkEyY/OCb49fRRQTCBZVIhzLGGmpYmkO55HbIA==
-----END RSA PRIVATE KEY-----

          + General S/MIME Overview
          This option is displayed as "S/MIME - Private Key Directory".
   _smime-private-key-container_
          UNIX _Alpine_ only.
          If this option is set it will be used instead of
          smime-private-key-directory.
          This option gives you a way to store keys remotely on an IMAP
          server instead of storing the keys one per file locally. In
          order to do that you just give this option a remote folder name
          for a folder which does not yet exist. The name is similar to
          the name you might use for a remote configuration file. A remote
          folder name might look something like:

               {myimaphost.myschool.k12.wa.us}mail/privatekeys
          Use the Setup/SMIME screen to modify this variable.
          + General S/MIME Overview
          This option is displayed as "S/MIME - Private Key Container".
   _smime-cacert-directory_
          UNIX _Alpine_ only.
          If the option smime-cacert-container is set then this option
          will have no effect.
          CACert is a shorthand name for certification authority
          certificate. Normally _Alpine_ will use the CACerts that are
          located in the standard system location for CACerts. It may be
          the case that one of your correspondents has a Digital ID which
          has been signed by a certificate authority that is not in the
          regular set of system certificate authorities. You may
          supplement the system list by adding further certificates of
          your own. These should be stored in the directory which is the
          value of this option. The certificates will be stored in PEM
          format, one certificate per file. The names of the files can be
          anything ending in ".crt".
          Use the Setup/SMIME screen to modify this variable.
          These PEM format CA certificates look very similar to your
          public certificates for particular email addresses
          (smime-public-cert-directory).
          + General S/MIME Overview
          This option is displayed as "S/MIME - Cert Authority Directory".
   _smime-cacert-container_
          UNIX _Alpine_ only.
          If this option is set it will be used instead of
          smime-cacert-directory.
          This option gives you a way to store certificates remotely on an
          IMAP server instead of storing the certificates one per file
          locally. In order to do that you just give this option a remote
          folder name for a folder which does not yet exist. The name is
          similar to the name you might use for a remote configuration
          file. A remote folder name might look something like:

                 {myimaphost.myschool.k12.wa.us}mail/cacerts
          Use the Setup/SMIME screen to modify this variable.
          + General S/MIME Overview
          This option is displayed as "S/MIME - Cert Authority Container".
   _smtp-server_
          One or more SMTP servers (host name or IP address) which _Alpine_
          will use for outgoing mail. If not set, _Alpine_ passes outgoing
          email to the _sendmail_ program on the local machine. _PC-Alpine_
          users must have this variable set in order to send mail as they
          have no _sendmail_ program.
          Your SMTP server may offer SMTP AUTH authentication. It may even
          require it. If your SMTP server offers SMTP AUTH authentication
          you may specify a "user" name parameter to cause _Alpine_ to
          attempt to authenticate. This parameter requires an associated
          value, the username identifier with which to establish the
          server connection. An example might be:

                      smtpserver.example.com/user=katie
          If AUTH authentication is offered by the server, this will cause
          _Alpine_ to attempt to use it. If AUTH authentication is not
          offered by the server, this will cause _Alpine_ to fail sending
          with an error similar to:

                  Error: SMTP authentication not available
          Another type of authentication that is used by some ISPs is
          called "POP before SMTP" or "IMAP before SMTP", which means that
          you have to authenticate yourself to the POP or IMAP server by
          opening a mailbox before you can send mail. To do this, you
          usually only have to open your INBOX.
          You may tell _Alpine_ to use the Message Submission port (587)
          instead of the SMTP port (25) by including the "submit"
          parameter in this option. At this time "/submit" is simply
          equivalent to specifying port 587, though it may imply more than
          that at some point in the future. Some ISPs are blocking port 25
          in order to reduce the amount of spam being sent to their users.
          You may find that the submit option allows you to get around
          such a block.

                        smtpserver.example.com/submit
          To specify any non-standard port number on the SMTP server you
          may follow the hostname with a colon followed by the portnumber.

                        smtpserver.example.com:12345
          Normally, when a connection is made to the Smtp-Server _Alpine_
          will attempt to negotiate a secure (encrypted) session using
          Transport Layer Security (TLS). If that fails then a
          non-encrypted connection will be attempted instead. You may
          specify that a TLS connection is required if you wish. If you
          append "/tls" to the name then the connection will fail instead
          of falling back to a non-secure connection.

                         smtpserver.example.com/tls
          See the SMTP Servers section or the Server Name Syntax section
          for some more details.
          This option is displayed as "SMTP Server (for sending)".
   _sort-key_
          This variable sets up the default Message Index sorting. The
          default is to sort by arrival order (the order the messages
          arrived in the folder). It has the same functionality as the
          _-sort_ command line argument and the _$_ command in the "Folder
          Index". If a _sort-key_ is set, then all folders open during the
          session will have that as the default sort order.
   _speller_
          UNIX _Alpine_ only.
          For _PC-Alpine_, you must install the aspell library code that
          you may get from http://aspell.net/win32/.
          This option affects the behavior of the _^T_ (spell check)
          command in the Composer. It specifies the program invoked by _^T_
          in the Composer. By default, _Alpine_ uses the system's "spell"
          command. _Alpine_ will use the command defined by this option
          (if any) instead. When invoking the spell-checking program,
          _Alpine_ appends a tempfile name (where the message is passed) to
          the command line. _Alpine_ expects the speller to correct the
          spelling in that file. When you exit from the speller program
          _Alpine_ will read the tmpfile back into the composer.
          For Unix _Alpine_ the program _ispell_ works well as an
          alternate spell checker. If your Unix system has _ispell_ it is
          probably reasonable to make it the default speller by
          configuring it as the default in the system configuration file,
          /etc/pine.conf.
          If this option is not set, then the system's _spell_ command is
          used. The spell command does not work the same as the alternate
          speller. It produces a list of misspelled words on its standard
          output, instead, and doesn't take a tempfile as an argument.
          Don't set this speller option to the standard Unix spell
          command. That won't work. If you want to use the standard Unix
          spell command, set the speller option to nothing.
   _ssh-command_
          Sets the format of the command used to open a UNIX secure shell
          connection. The default is "%s %s -l %s exec /etc/r%sd". All
          four "%s" entries MUST exist in the provided command. The first
          is for the command's pathname, the second is for the host to
          connect to, the third is for the user to connect as, and the
          fourth is for the connection method (typically imap).
   _ssh-open-timeout_
          Sets the time in seconds that _Alpine_ will attempt to open a
          UNIX secure shell connection. The default is 15, the minimum
          non-zero value is 5, and the maximum is unlimited. If this is
          set to zero ssh connections will be completely disabled.
   _ssh-path_
          Sets the name of the command used to open a UNIX secure shell
          connection. The default is typically /usr/bin/ssh.
   _standard-printer_
          System-wide configuration file only. Specifies a list of
          commands for category 2 of the _Setup/Printer_ screen, the
          standard print command section. This is not used by _PC-Alpine_.
   _status-background-color_
   _status-foreground-color_
          Status Color.
   _status-message-delay_
          This option has evolved over time, causing the possible values
          to be counter-intuitive. Read carefully before you set this
          option. First we explain what the option does, then there is a
          longer discussion following that.
          If this is set to zero, the default value, it has _no_ effect.
          Positive and negative values serve two similar, but different
          purposes.
          If it is set to a positive number, it causes the cursor to move
          to the status line whenever a status message is printed and
          pause there for this many seconds. It will probably only be
          useful if the show-cursor feature is also turned on. Setting
          this option to a positive number can only be used to _increase_
          the status message delay. This may be useful for Braille
          displays, or other non-traditional displays.
          If it is set to a negative number the interpretation is a bit
          complicated. Negative numbers are used to _decrease_ the amount
          of delay _Alpine_ uses to allow you to read important status
          messages. Of course, this may cause you to miss some important
          messages. If you see a message flash by but miss what it says
          you can use the Journal command from the Main menu to read it.
          If you set this option to a negative value, the delay will be no
          more than one second less than the absolute value of the value
          you set. So if you set it to -1, the delay will be no more than
          zero seconds, no delay at all. If you set it to -2, the delay
          will be no more than 1 second. And so on, -3 is 2 seconds, -4 is
          3 seconds, ... If the delay that _Alpine_ would have used by
          default is less than this delay, then the smaller delay set by
          _Alpine_ will be used. Setting this option to a negative value
          can only reduce the amount of delay, never increase it.
          Here is a more detailed explanation. Status messages are the
          messages which show up spontaneously in the status message line,
          the third line from the bottom of the screen. By default,
          _Alpine_ assigns each status message it produces a minimum
          display time. Some status messages have a minimum display time
          of zero. You can see an example of such a message by paging up
          in this help text until you reach the top of the screen. If you
          try to page past the top you will see the message

                       [Already at start of help text]
          in the status line. If there is another more important use of
          the status message line this message might be replaced quickly,
          or it even might not be shown at all. However, if there is no
          reason to get rid of the message, it might stay there for
          several seconds while you read the help. An example where it is
          replaced immediately happens when you page up in the help text
          past the top of the screen, but then type the "WhereIs" command
          right after paging up. The message will disappear immediately
          without causing a delay (unless you have set this option to a
          positive value) to allow you to type input for the "WhereIs"
          command. Since it isn't a very important message, _Alpine_ has
          set its minimum display time to zero seconds.
          Other messages have minimum display times of three or more
          seconds. These are usually error messages that _Alpine_ thinks
          you ought to see. For example, it might be a message about a
          failed Save or a failed folder open. It is often the case that
          this minimum display time won't delay you in any way because the
          status message line is not needed for another reason. However,
          there are times when _Alpine_ has to delay what it is doing in
          order to display a status message for the minimum display time.
          This happens when a message is being displayed and _Alpine_
          wants to ask for input from the keyboard. For example, when you
          Save a message you use the status message line. You get a prompt
          there asking for the name of the folder to save to. If there is
          a status message being displayed that has not yet displayed for
          its minimum time _Alpine_ will display that status message
          surrounded with the characters > and < to show you that it is
          delaying. That might happen, for example, if you tried to save
          to a folder that caused an error, then followed that immediately
          with another Save command. You might find yourself waiting for a
          status message like

          [>Can't get write access to mailbox, access is readonly<]
          to finish displaying for three seconds. If that is something you
          find happening to you frequently, you may use negative values of
          this option to decrease or eliminate that delay, at the risk of
          missing the message.
   _stay-open-folders_
          This option affects low-level behavior of _Alpine_. There is no
          default value for this option. It is related to the options
          Preopen-Stayopen-Folders, Max-Remote-Connections, and
          offer-expunge-of-Stayopen-Folders.
          Note: changes made to this list take effect the next time you
          open a folder in the list.
          This is a list of folders that will be permanently kept open
          once they are first opened. The names in this list may be either
          the nickname of an Incoming folder or the full technical
          specification of a folder. The folders in this list need not be
          remote IMAP folders, they could usefully be local folders, as
          well. If a folder in the list is a newsgroup or is not accessed
          either locally or via IMAP, then the entry will be ignored. For
          example, folders accessed via NNTP or POP3 will not be kept
          open, since the way that new mail is found with those protocols
          involves closing and reopening the connection.
          Once a Stay Open folder has been opened, new-mail checking will
          continue to happen on that folder for the rest of the _Alpine_
          session. Your INBOX is always implicitly included in this
          Stay-Open list and doesn't need to be added explicitly.
          Another difference that you may notice between a Stay Open
          folder and a non-Stay Open folder is which message is selected
          as the current message when you enter the folder index.
          Normally, the starting position for an incoming folder (which
          most Stay Open folders will likely be) is controlled by the
          Incoming-Startup-Rule. However, if a folder is a Stay Open
          folder, when you re-enter the folder after the first time the
          current message will be the same as it was when you left the
          folder. An exception is made if you use the TAB command to get
          to the folder. In that case, the message number will be
          incremented by one from what it was when you left the folder.
          The above special behavior is thought to be useful. However, it
          is special and different from what you might at first expect.
          The feature Use-Regular-Startup-Rule-for-Stayopen-Folders may be
          used to turn off this special treatment.
          If the message that was current when you left the folder no
          longer exists, then the regular startup rule will be used
          instead.
          This option is displayed as "Stayopen Folders".
   _tcp-open-timeout_
          Sets the time in seconds that _Alpine_ will attempt to open a
          network connection. The default is 30, the minimum is 5, and the
          maximum is system defined (typically 75). If a connection has
          not completed within this many seconds _Alpine_ will give up and
          consider it a failed connection.
   _tcp-query-timeout_
          When _Alpine_ times out a network read or write it will normally
          just display a message saying "Still waiting". However, if
          enough time has elapsed since it started waiting it will offer
          to let you break the connection. That amount of time is set by
          this option, which defaults to 60 seconds, has a minimum of 5
          seconds, and a maximum of 1000 seconds.
   _tcp-read-warning-timeout_
          Sets the time in seconds that _Alpine_ will wait for a network
          read before warning you that things are moving slowly and
          possibly giving you the option to break the connection. The
          default is 15 seconds. The minimum is 5 seconds and the maximumn
          is 1000 seconds.
   _tcp-write-warning-timeout_
          Sets the time in seconds that _Alpine_ will wait for a network
          write before warning you that things are moving slowly and
          possibly giving you the option to break the connection. The
          default is 0 which means it is unset. If set to a non-zero
          value, the minimum is 5 and the maximum is 1000.
   _threading-display-style_
          When a folder is sorted by Threads or OrderedSubject, this
          option will affect the MESSAGE INDEX display. By default,
          _Alpine_ will display the MESSAGE INDEX in the
          "show-thread-structure" style if a folder is sorted by Threads
          or OrderedSubject. The possible values are:

        _none_
                Regular index display. The same index line as would be
                displayed without threading is used. The only difference
                will be in the order of the messages.

        _show-thread-structure_
                Threaded Subjects will be indented and vertical bars and
                horizontal lines will be added to make it easier to see
                the relationships among the messages in a thread (a
                conversation).

        _mutt-like_
                This is the same as the option above except that the
                Subject is suppressed (is blank) if it matches the
                previous Subject in the thread. The name comes from the
                email client Mutt. Here is an example of what a mutt-like
                index might look like. In this example, the first column
                represents the message number, the threading-index-style
                is set to "regular-index-with-expanded-threads", and the
                Threading-Lastreply-Character is set to a backslash:

    1    Some topic
    2  . Subject           original message in thread
    3    |->               reply to 2
    4  . |->               another reply to 2
    5  . | \->             reply to 4
    6  . |   \->           reply to 5
    7    |     \->         reply to 6
    8    |->               another reply to 2
    9  . |->New subject    another reply to 2 but with a New subject
   10    | |->             reply to 9
   11    | \->             another reply to 9
   12    |   \->           reply to 11
   13    \->               final reply to 2
   14    Next topic

        _indent-subject-1_
                Threaded Subjects will be indented one space per level of
                the conversation. The bars and lines that show up in the
                show-thread-structure display will not be there with this
                style.

        _indent-subject-2_
                Same as above but indent two spaces per level instead of
                one space.

        _indent-from-1_
                Similar to indent-subject-1, except that instead of
                indenting the Subject field one space the From field of a
                thread will be indented one space per level of the
                conversation.

        _indent-from-2_
                Same as above but indent two spaces per level instead of
                one space.

        _show-structure-in-from_
                The structure of the thread is illustrated with indenting,
                vertical bars, and horizontal lines just like with the
                show-thread-structure option, but the From field is used
                to show the relationships instead of the Subject field.

   _threading-expanded-character_
          The Threading-Expanded-Character option has a small effect on
          the MESSAGE INDEX display when using a threading-display-style
          other than _none_. The value of this option is a single
          character. This character is used to indicate that part of a
          thread has been expanded and could be collapsed if desired with
          the "/" Collapse/Expand command. By default, the value of this
          option is a dot (.).
          If this option is set to the Empty Value, then the column (and
          the following blank column) will be deleted from the display.
          This option is closely related to the
          threading-indicator-character option. Another similar option
          which affects the thread display is the
          threading-lastreply-character option.
   _threading-index-style_
          When a folder is sorted by Threads or OrderedSubject, this
          option will affect the INDEX displays. The possible values are:

        _regular-index-with-expanded-threads_
                This is the default display. If the configuration option
                threading-display-style is set to something other than
                "none", then this setting will cause _Alpine_ to start off
                with a MESSAGE INDEX with all of the threads expanded.
                That is, each message will have a line in the MESSAGE
                INDEX display. The Collapse/Expand command (/) may be used
                to manually collapse or expand a thread or subthread (see
                also slash-collapses-entire-thread).

                This setting affects the display when the folder is first
                threaded. The collapsed state may also be re-initialized
                by re-sorting the folder manually using the SortIndex
                command ($). After re-sorting the threads will once again
                all be expanded, even if you have previously collapsed
                some of them.

                If "threading-display-style" is set to "none", then the
                display will be the regular default _Alpine_ MESSAGE
                INDEX, but sorted in a different order.

        _regular-index-with-collapsed-threads_
                If the configuration option threading-display-style is set
                to something other than "none", then this setting will
                cause _Alpine_ to start out with all of the threads
                collapsed instead of starting out with all of the threads
                expanded. The Collapse/Expand command (/) may be used to
                manually collapse or expand a thread or subthread (see
                also slash-collapses-entire-thread).

                This setting affects the display when the folder is first
                threaded. The collapsed state may also be re-initialized
                by re-sorting the folder manually using the SortIndex
                command ($). After re-sorting the threads will once again
                all be collapsed, even if you have previously expanded
                some of them.

        _separate-index-screen-always_
                With this setting and the next, you will see an index of
                threads instead of an index of messages, provided you have
                sorted by Threads or OrderedSubject.

                The THREAD INDEX contains a '*' in the first column if any
                message in the thread is marked Important. If not, it
                contains a '+' if any message in the thread is to you. The
                second column is blank. The third column contains a 'D' if
                all of the messages in the thread are deleted. Otherwise,
                it contains an 'N' if any of the messages in the thread
                are New.

                When you view a particular thread from the THREAD INDEX
                you will be in the MESSAGE INDEX display but the index
                will only contain messages from the thread you are
                viewing.

        _separate-index-screen-except-for-single-messages_
                This is very similar to the option above. When you are in
                the THREAD INDEX, one of the available commands is
                "ViewThd". With the setting "separate-index-screen-always"
                (the option above) when you view a particular thread you
                will be in the MESSAGE INDEX display and the index will
                only contain messages from the thread you are viewing. If
                the thread you are viewing consists of a single message,
                the MESSAGE INDEX will be an index with only one message
                in it. If you use this
                "separate-index-screen-except-for-single-messages" setting
                instead, then that index which contains a single message
                will be skipped and you will go directly from the THREAD
                INDEX into the MESSAGE TEXT screen.

   _threading-indicator-character_
          The Threading-Indicator-Character option has a small effect on
          the MESSAGE INDEX display when using a threading-display-style
          other than _none_ and sorting by Threads or OrderedSubject. The
          value of this option is a single character. This character is
          used to indicate that part of a thread (a conversation) is
          hidden beneath a message. The message could be expanded if
          desired with the "/" Collapse/Expand command. By default, the
          value of this option is the greater than sign (>).
          If this option is set to the Empty Value, then the column (and
          the following blank column) will be deleted from the display.
          This option is closely related to the
          threading-expanded-character option. Another similar option
          which affects the thread display is the
          threading-lastreply-character option.
   _threading-lastreply-character_
          The Threading-Lastreply-Character option has a small effect on
          the MESSAGE INDEX display when using a threading-display-style
          of _show-thread-structure_, _mutt-like_, or
          _show-structure-in-from_; and sorting by Threads or
          OrderedSubject. The value of this option is a single character.
          This character is used instead of the vertical line character
          when there are no more replies directly to the parent of the
          current message. It can be used to "round-off" the bottom of the
          vertical line by setting it to a character such as a backslash
          (\) or a backquote (`). The default value of this option is the
          backslash character (\). This option may not be set to the Empty
          Value. In that case, the default will be used instead.
          This option is displayed as "Threading Last Reply Character".
   _title-background-color_
   _title-foreground-color_
          Title Color.
   _title-closed-background-color_
   _title-closed-foreground-color_
          Title-closed Color.
   _titlebar-color-style_
          titlebar-color-style.
   _unknown-character-set_
          A text message should either be made up of all US-ASCII
          characters or it should contain a charset label which tells the
          software which character set encoding to use to interpret the
          message. Sometimes a malformed message may be unlabeled but
          contain non-ascii text. This message is outside of the standards
          so any attempt to read it could fail. When _Alpine_ attempts to
          read such a message it will try to interpret the text in the
          character set you specify here. For example, if you have
          correspondents who send you unlabeled messages that are usually
          made up of characters from the WINDOWS-1251 character set,
          setting this unknown-character-set to WINDOWS-1251 will allow
          you to read those messages. Of course, if the unlabeled message
          is actually in some other character set, then you may see
          garbage on your screen.
          In the Setup/Config screen you may choose from a list of all the
          character sets _Alpine_ knows about by using the "T" ToCharsets
          command.
   _upload-command_
          This option affects the behavior of the Composer's _^R_ (Read
          File) and _^J_ (Attach File, in the header) commands. It
          specifies a Unix program name, and any necessary command line
          arguments, that _Alpine_ can use to transfer files from your
          personal computer into messages that you are composing.
   _upload-command-prefix_
          This option is used in conjunction with the _upload-command_
          option. It defines text to be written to the terminal emulator
          (via standard output) immediately prior to starting the upload
          command. This is useful for integrated serial line file transfer
          agents that permit command passing (e.g., Kermit's APC method).
   _url-viewers_
          List of programs to use to open Internet URLs. This value
          affects _Alpine_'s handling of URLs that are found in the text
          of messages you read. Normally, only URLs _Alpine_ can handle
          directly are automatically offered for selection in the "Message
          Text" screen. When one or more comma delimited Web browsers
          capable of deciphering URLs on their command line are added
          here, _Alpine_ will choose the first available browser to
          display URLs it doesn't recognize.
          Additionally, to support various connection methods and
          browsers, each entry in this list can begin with the special
          token _TEST(test-string)_. The test-string is a shell command
          that _Alpine_ will run and which must exit with a status of zero
          for _Alpine_ to consider that browser for use (the other
          criteria is that the browser must exist as a full path or a path
          relative to your home directory).
          Now for an example:

     url-viewers=_TEST("test -n '${DISPLAY}'")_ /usr/bin/sensible-browser,
     /usr/bin/lynx, C:\BIN\NETSCAPE.BAT
          This example shows that for the first browser in the list to be
          used the environment variable DISPLAY must be defined. If it is,
          then the file /usr/bin/sensible-browser must exist. If either
          condition is not met, then the file /usr/bin/lynx must
          exist. If it doesn't, then the final path and file must exist.
          Note that the last entry is a DOS/Windows path. This is one way
          to support _Alpine_ running on more than one architecture with
          the same configuration file.
   _use-only-domain-name_
          Can be set to _yes_ or _no._ Anything but _yes_ means _no._ If
          set to _yes_ the first label in the host name will be lopped off
          to get the domain name and the domain name will be used for
          outgoing mail and such. That is, if the host name is
          _carson.u.example.edu_ and this variable is set to _yes,_ then
          _u.example.edu_ will be used on outgoing mail. Only meaningful if
          user-domain is NOT set.
   _user-domain_
          Sets the domain or host name for the user, overriding the system
          host or domain name. See the domain name section. The easiest
          way to change the full From address is with the customized-hdrs
          variable.
   _user-id_
          _PC-Alpine_ only and personal configuration file only. Sets the
          username that is placed on all outgoing messages. The username
          is the part of the address that comes before the "@". The
          easiest way to change the full From address is with the
          customized-hdrs variable.
   _user-input-timeout_
          If this is set to an integer greater than zero, then this is the
          number of _hours_ to wait for user input before _Alpine_ times
          out. If _Alpine_ is in the midst of composing a message or is
          waiting for user response to a question, then it will not
          timeout. However, if _Alpine_ is sitting idle waiting for the
          user to tell it what to do next and the user does not give any
          input for this many hours, _Alpine_ will exit. No expunging or
          moving of read messages will take place. It will exit similarly
          to the way it would exit if it received a hangup signal. This
          may be useful for cleaning up unused _Alpine_ sessions which
          have been forgotten by their owners. The _Alpine_ developers
          envision system administrators setting this to a value of
          several hours (24?) so that it won't surprise a user who didn't
          want to be disconnected.
   _viewer-hdr-colors_
          This variable holds the optional Header Colors and patterns
          which have been defined by the user. This is usually modified by
          using the Header Colors section of the Setup Color screen.
   _viewer-hdrs_
          You may change the default list of headers that are viewed by
          listing the headers you want to view here. If the headers in
          your _viewer-hdrs_ list are present in the message, then they
          will be shown. The order of the headers you list will also be
          honored. If the special value _all-except_ is included as the
          first header in the _viewer-hdrs_ list, then all headers in the
          message except those in the list will be shown. The values are
          all case insensitive.
          This option is displayed as "Viewer Headers".
   _viewer-margin-left_
          This variable controls the left-hand vertical margin's width in
          _Alpine_'s Message Viewing screen. Its value is the number of
          space characters preceding each displayed line. For consistency
          with Viewer-Margin-Right, you may specify the column number to
          start in (column numbering begins with number 1) instead of the
          width of the margin by appending a lower case letter "c" to the
          number. For example, a value of "2c" means to start the text in
          column two, which is entirely equivalent to a value of "1",
          which means to leave a margin of 1 space.
          The default is a left margin of 0 (zero). Misconfigurations (for
          example, negative values or values with starting left columns
          greater than the ending right column) are silently ignored. If
          the number of columns for text between the Viewer-Margin-Left
          and the Viewer-Margin-Right is fewer than 8, then margins of
          zero will be used instead.
   _viewer-margin-right_
          This variable controls the right-hand vertical margin's width in
          _Alpine_'s Message Viewing screen. Its value is the number of
          space characters following each displayed line. You may specify
          the column number to end the text in (column numbering begins
          with number 1) instead of the width of the margin by appending a
          lower case letter "c" to the number. For example, a value of
          "76c" means to end the text in column 76. If the screen is 80
          characters wide, this is equivalent to a value of "4", which
          means to leave a margin of 4 spaces. However, if you use
          different size screens at different times, then these two values
          are not equivalent.
          The default right margin is 4. Misconfigurations (for example,
          negative values or values with starting left columns greater
          than the ending right column) are silently ignored. If the
          number of columns for text between the Viewer-Margin-Left and
          the Viewer-Margin-Right is fewer than 8, then margins of zero
          will be used instead.
   _viewer-overlap_
          This option specifies an aspect of _Alpine_'s Message Viewing
          screen. When the space bar is used to page forward in a message,
          the number of lines specified by the _viewer-overlap_ variable
          will be repeated from the bottom of the screen. That is, if this
          was set to two lines, then the bottom two lines of the screen
          would be repeated on the top of the next screen. The normal
          default value is "2".
   _window-position_
          Winsock version of _PC-Alpine_ only. Window position in the
          format: CxR+X+Yn Where C and R are the window size in characters
          and X and Y are the screen position of the top left corner of
          the window.
     __________________________________________________________________

Configuration Features

   There are several features (options) which may be turned off or on. The
   configuration variable feature-list is a list of all the features that
   are turned on or off. If the name of a feature is in the list it will
   be turned on. If the name of a feature with the characters no-
   prepended is in the list, it will turn the feature off. This is useful
   for overriding system-wide defaults. This is because, unlike all the
   other configuration variables, the _feature-list_ is additive. That is,
   first the system-wide _feature-list_ is read and then the user's
   _feature-list_ is read. This makes it possible for the system manager to
   turn some of the features on by default while still allowing the user
   to cancel that default. For example, if the system manager has turned
   on the _allow-talk_ feature by default then a user may turn it back off
   by including the feature _no-allow-talk_ in his or her personal
   configuration file. Of course, these details are usually handled by
   _Alpine_ when the user turns an option on or off from inside the
   _Setup/Config_ screen.

   System managers should take some care when turning on features by
   default. Some of the documentation assumes that all of the features are
   off by default, so it could be confusing for a user if some are on by
   default instead. Feature names are case-independent.

   Here is an alphabetical list of possible features.
   _allow-changing-from_
          Prior to _Pine_ 4.00 there was a _compile_-time option called
          ALLOW_CHANGING_FROM. That has been replaced by a _runtime_
          feature. If this feature is turned on then the From line can be
          changed just like all the other header fields that can be
          changed. See the configuration variables customized-hdrs and
          default-composer-hdrs for more information on editing headers.
          The default value for this feature is ON, so that editing of
          From headers is allowed by default.
   _allow-talk_
          Unix _Alpine_ only. By default, permission for others to _talk_
          to your terminal is turned off when you are running _Alpine_.
          When this feature is set, permission is instead turned on.
          Note: The _talk_ program has nothing to do with _Alpine_ or
          email. The _talk_ daemon on your system will attempt to print a
          message on your screen when someone else is trying to contact
          you. If you wish to see these messages while you are running
          _Alpine_, you should enable this feature.
          If you do enable this feature and see a _talk_ message, you must
          suspend or quit _Alpine_ before you can respond.
   _alternate-compose-menu_
          This feature controls the menu that is displayed when Compose is
          selected. If set, a list of options will be presented, with each
          option representing the type of composition that could be used.
          This feature is most useful for users who want to avoid being
          prompted with each option separately, or who want to avoid the
          checking of remote postponed or form letter folders. The
          possible types of composition are:
          New, for starting a new composition. Note that if New is
          selected and roles are set, roles are checked for matches and
          applied according to the setting of the matching role.
          Interrupted, for continuing an interrupted composition. This
          option is only offered if an interrupted message folder is
          detected.
          Postponed, for continuing postponed compositions. This option is
          offered if a postponed-folder is set in the config _REGARDLESS
          OF_ whether or not the postponed folder actually exists. This
          option is especially handy for avoiding having to check for the
          existence of a remote postponed folder.
          Form, for using form letters. This option is offered if the
          form-letter-folder is set in the config, and is not checked for
          existence for reasons similar to those explained by the
          postponed option.
          setRole, for selecting a role to apply to a composition.
   _alternate-role-menu_
          Normally the Role Command allows you to choose a role and
          compose a new message using that role. When this feature is set,
          the role command will first ask whether you want to Compose a
          new message, Forward the current message, Reply to the current
          message, or Bounce the current message. If you are not in the
          MESSAGE INDEX and are not viewing a message, then there is no
          current message and the question will be skipped. After you have
          chosen to Compose, Forward, Reply or Bounce you will then choose
          the role to be used.
          When Bouncing the "Set From" address is used for the Resent-From
          header, the "Set Fcc" value is used for the Fcc provided that
          the option "Fcc-On-Bounce" is turned on, and the "Use SMTP
          Server" value is used for the SMTP server, if set. Other actions
          of the role are ignored when Bouncing.
          This feature is displayed as "Alternate Role (#) Menu".
   _assume-slow-link_
          UNIX _Alpine_ only.
          This feature affects _Alpine_'s display routines. If set, the
          normal inverse-video cursor (used to highlight the current item
          in a list) will be replaced by an _arrow_ cursor and other
          screen update optimizations for low-speed links (e.g. 2400 bps
          dialup connections) will be activated. One of the optimizations
          is that colored index lines (set up with Indexcolor Rules) will
          not be colored. This might be useful if _you_ know you have a
          slow speed link but for some reason _Alpine_ doesn't know.
   _auto-move-read-msgs_
          This feature controls an aspect of _Alpine_'s behavior upon
          quitting. If set, and the read-message-folder variable is also
          set, then _Alpine_ will automatically transfer all read messages
          from the _INBOX_ to the designated folder and mark them as
          deleted in the _INBOX_. Messages in the _INBOX_ marked with an
          _N_ (meaning New, or unseen) are not affected.
          This feature is displayed as "Auto Move Read Messages".
   _auto-open-next-unread_
          This feature controls the behavior of the TAB key when
          traversing folders in the optional incoming-folders collection
          or in optional news-collections.
          When the TAB (Next New) key is pressed, and there are no more
          unseen messages in the current (incoming message or news)
          folder, _Alpine_ will search the list of folders in the current
          collection for one containing New or Recent (new since the last
          time the folder was opened) messages. This behavior may be
          modified slightly with the Tab-Uses-Unseen-For-Next-Folder
          feature which causes _Alpine_ to look for Unseen messages
          instead of Recent messages. By default, when such a folder is
          found, _Alpine_ will ask whether you wish to open the folder. If
          this feature is set, _Alpine_ will automatically open the folder
          without prompting.
   _auto-unselect-after-apply_
          This feature affects the behavior of the Apply command. If set,
          the Apply command will do the operation you specify, but then
          will implicitly do an "UnSelect All", so that you will
          automatically be back in the normal Index view after the Apply.
   _auto-unzoom-after-apply_
          If set, and if you are currently looking at a Zoomed Index view
          of selected messages, the _Apply_ command will do the operation
          you specify, but then will implicitly do an _UnZoom_, so that
          you will automatically be back in the normal Index view after
          the _Apply_. This feature is set by default.
   _auto-zoom-after-select_
          If set, the _; select_ command will automatically perform a
          _Zoom_ after the _select_ is complete. This feature is set by
          default.
   _busy-cue-spinner-only_
          When _Alpine_ is delayed for some reason it usually shows that
          something is happening with a small animated display in the
          status message line near the bottom of the screen. Setting this
          feature will cause that animation to be the same each time
          instead of having _Alpine_ choose a random animation. You may
          turn the animation off altogether by setting the busy-cue-rate
          option to zero.
   _check-newmail-when-quitting_
          If set, _Alpine_ will check for new mail after you give the Quit
          command. If new mail has arrived since the previous check, you
          will be notified and given the choice of quitting or not
          quitting.
   _combined-addrbook-display_
          This feature affects the address book display screens. Normally,
          expanding an address book from the ADDRESS BOOK LIST screen will
          cause the remaining address books and directory servers to
          disappear from the screen, leaving only the entries of the
          expanded address book. If this feature is set, then the other
          address books will remain on the screen, so that all of the
          address books can be present at once.
          The way that commands work won't be changed. For example, the
          Select All command will select all of the entries in the current
          address book, not all of the entries in all of the address
          books. The WhereIs command will change a little. It will search
          through all of the text on the screen plus all of the entries
          from expanded address books.
          When this feature is set, the setting of the feature
          expanded-view-of-addressbooks has an effect.
          This feature is displayed as "Combined Addressbook Display".
   _combined-folder-display_
          This feature affects the folder list display screens. Normally,
          each folder list is viewed within its collection only. This
          command allows folder lists to be viewed within a single screen
          that combines the contents of all collections.
          The way that commands work won't be changed. For example, the
          Select All command will select all of the folders in the current
          collection, not all of the entries in all of the collections.
          The WhereIs command will change a little. It will search through
          all of the folders in the current collection as well as all the
          folder in any other expanded collection.
          When this feature is set, the setting of the feature
          expanded-view-of-folders has an effect.
   _combined-subdirectory-display_
          This feature affects the Folder List screen when the
          combined-folder-display feature is enabled. Normally, selecting
          a directory from the Folder List takes you into a new screen
          displaying only the contents of that directory.
          Enabling this feature will cause the contents of the selected
          directory to be displayed within the boundaries of the
          Collection it is a part of. All previously displayed collections
          will remain in the screen.
          The way that commands work won't be changed. For example, the
          Select All command will select all of the folders in the
          directory, as opposed to all of the entries in all of the
          collections. The WhereIs command will change a little. It will
          search through all of the folders in the current collection as
          well as all the folder in any other expanded collection.
   _compose-cancel-confirm-uses-yes_
          This feature affects what happens when you type ^C to cancel a
          composition. By default, if you attempt to cancel a composition
          by typing ^C, you will be asked to confirm the cancellation by
          typing a "C" for _C_onfirm. It logically ought to be a "Y" for
          _Y_es, but that is risky because the "^C Y" needed to cancel a
          message is close (on the keyboard) to the "^X Y" needed to send
          a message.
          If this feature is set the confirmation asked for will be a
          "_Y_es" instead of a "_C_onfirm" response.
   _compose-cut-from-cursor_
          If set, the _^K_ command in the composer will cut from the
          current cursor position to the end of the line, rather than
          cutting the entire line.
          This feature is displayed as "Ctrl-K Cuts From Cursor".
   _compose-maps-delete-key-to-ctrl-d_
          If set, Delete will be equivalent to ^D, and delete the current
          character. Normally _Alpine_ defines the Delete key to be
          equivalent to ^H, which deletes the _previous_ character.
          This feature is displayed as "Delete Key Maps to Ctrl-D".
   _compose-rejects-unqualified-addrs_
          If set, unqualified names entered as addresses will be treated
          as errors unless they match an addressbook nickname or are
          looked up successfully on an LDAP server. _Alpine_ will not
          attempt to turn them into complete addresses by adding your
          local domain (which _Alpine_ normally does by default).
          A complete (fully-qualified) address is one containing a
          username followed by an _@_ symbol, followed by a host or domain
          name (e.g. _jsmith@example.com_). An unqualified name is one
          without the _@_ symbol and host or domain name (e.g. _jsmith_).
          This feature is displayed as "Compose Rejects Unqualified
          Addresses".
   _compose-send-offers-first-filter_
          If you have sending-filters configured, setting this feature
          will cause the first filter in the _sending-filters_ list to be
          offered as the default instead of _unfiltered_, the usual
          default.
   _compose-sets-newsgroup-without-confirm_
          If you enter the composer while reading a newsgroup, you will
          normally be prompted to determine whether you intend the new
          message to be posted to the current newsgroup or not. If this
          feature is set, _Alpine_ will not prompt you in this situation,
          and will assume that you do indeed wish to post to the newsgroup
          you are reading.
          This feature is displayed as "Compose Sets Newsgroup Without
          Confirming".
   _confirm-role-even-for-default_
          If you have roles, when you Reply to or Forward a message, or
          Compose a new message, _Alpine_ will search through your roles
          for one which matches. Normally, if no matches are found you
          will be placed into the composer with no opportunity to select a
          role. If this feature is set, then you will be asked to confirm
          that you don't want a role. This will give you the opportunity
          to select a role (with the ^T command). If you confirm no role
          with a Return, you will be placed in the composer with no role.
          You may also confirm with either an "N" or a "Y". These behave
          the same as if you pressed the Return. (The "N" and "Y" answers
          are available because they match what you might type if there
          was a role match.)
          If you are using the alternate form of the Compose command
          called "Role", then all of your roles will be available to you,
          independent of the value of this feature and of the values set
          for all of Reply Use, Forward Use, and Compose Use.
   _continue-tab-without-confirm_
          Normally, when you use the TAB NextNew command and there is a
          problem checking a folder, you are asked whether you want to
          continue with the search in the following folder or not. This
          gives you a chance to stop the NextNew processing.
          If this feature is set you will not be asked. It will be assumed
          that you want to continue.
          This feature is displayed as "Continue NextNew Without
          Confirming".
   _convert-dates-to-localtime_
          Normally, the message dates that you see in the MESSAGE INDEX
          and MESSAGE VIEW are displayed in the timezone they were sent
          from. For example, if a message was sent to you from a few
          timezones to the east it might appear that it was sent from the
          future; or if it was sent from somewhere to the west it might
          appear as if it is from yesterday even though it was sent only a
          few minutes ago. If this feature is set an attempt will be made
          to convert the dates to your local timezone to be displayed.
          Note that this does not affect the results of Select by Date or
          of anything else other than these displayed dates. When viewing
          the message you may look at the original unconverted value of
          the Date header by using the HdrMode Command.
   _copy-to-address-to-from-if-it-is-us_
          This feature affects the From address used when Replying to a
          message. It is probably only useful if you have some
          alt-addresses defined. When enabled, it checks to see if any of
          the addresses in the To or Cc fields of the message you are
          replying to is one of your addresses. If it is, and there is
          only one of them, then that address is used as the From address
          in the message you are composing. In other words, you will be
          using a From address that is the same as the To address that was
          used to get the mail to you in the first place.
          If a role is being used and it has a From address defined, that
          From address will be used rather than the one derived from this
          feature.
   _delete-skips-deleted_
          If set, this feature will cause the _Delete_ command to advance
          past other messages that are marked deleted. In other words,
          pressing _D_ will both mark the current message deleted and
          advance to the next message that is not marked deleted. This
          feature is set by default.
   _disable-config-cmd_
          If set, the configuration screen _Setup/Config_ will not be
          available at all.
   _disable-save-input-history_
          Many of the prompts that ask for input in the status line near
          the bottom of the screen will respond to Up Arrow and Down Arrow
          with the history of previous entries. For example, in the
          MESSAGE INDEX screen when you use the WhereIs command the text
          you entered will be remembered and can be recalled by using the
          Up Arrow key. Another example, when saving a message the folders
          saved to will be remembered and can be recalled using the arrow
          keys.
          In the Save prompt, some users prefer that the Up and Down arrow
          keys be used for the Previous Collection and Next Collection
          commands instead of for a history of previous saves. If this
          option is set the Up and Down arrow keys will become synonyms
          for the Previous Collection and Next Collection (^P and ^N)
          commands in the prompt for the name of a folder to Save to or in
          the prompt for the name of a folder to GoTo. When this feature
          is not set (the default), ^P and ^N will change the collection
          and the arrow keys will show the history.
   _disable-keyboard-lock-cmd_
          In the Main _Alpine_ menu there is a Keyboard locking command
          (_KBLock_). If this feature is set, that command won't be
          available to the user.
   _disable-keymenu_
          If set, the command key menu that normally appears on the bottom
          two lines of the screen will not usually be there. Asking for
          help with _^G_ or _?_ will cause the key menu to appear instead
          of causing the help message to come up. If you want to actually
          see the help text, another _^G_ or _?_ will show it to you.
          After the key menu has popped up with the help key it will
          remain there for an _O Other_ command but will disappear if any
          other command is typed.
   _disable-password-caching_
          Normally, loginname/password combinations are cached in _Alpine_
          so that the user does not have to enter the same password more
          than once in a session. A disadvantage to this approach is that
          the password must be stored in the memory image of the running
          _Alpine_ in order that it can be reused. In the event that
          _Alpine_ crashes and produces a core dump, and that core dump is
          readable by others, the loginname and password could possibly be
          read from the core dump.
          If this feature is set, then the passwords will not be cached
          and the user will have to retype the password whenever _Alpine_
          needs it. Even with this feature set there is still some chance
          that the core file will contain a password, so care should be
          taken to make the core files unreadable.
          NOTE: If PASSFILE caching is enabled, this does not disable it.
          That is a separate and independent feature.
   _disable-password-cmd_
          If set the _Newpassword_ command usually available under the
          _Setup_ command will not be available.
   _disable-pipes-in-sigs_
          If set it will be an error to append a vertical bar (|) to the
          name of a signature file. Appending a vertical bar normally
          causes the signature file to be executed to produce the
          signature.
   _disable-pipes-in-templates_
          If set it will be an error to append a vertical bar (|) to the
          name of a template file. Appending a vertical bar normally
          causes the signature file to be executed to produce the
          signature.
   _disable-regular-expression-matching-for-alternate-addresses_
          Normally, the alt-addresses option is interpreted as a regular
          expression. One type of address that might cause trouble is an
          address that contains a plus sign. If you want to have an
          address with a plus as one of your alternate addresses and you
          don't want to use regular expressions, then setting this feature
          will cause _Alpine_ to treat the addresses you list literally
          instead.
   _disable-roles-setup-cmd_
          If set the _Roles_ command usually available under the _Setup_
          command will not be available.
   _disable-roles-sig-edit_
          If set the roles editor in the _Setup/Roles_ command will not
          allow editing of signature files with the F subcommand.
   _disable-roles-template-edit_
          If set the roles editor in the _Setup/Roles_ command will not
          allow editing of template files with the F subcommand.
   _disable-sender_
          If set, _Alpine_ will not generate a "Sender:" or "X-X-Sender"
          header. This may be desirable on a system which is virtually
          hosting many domains, and the sysadmin has other methods
          available for tracking a message to its originator.
          This feature is displayed as "Do Not Generate Sender Header".
   _disable-setlocale-collate_
          This is a hard to understand feature that should only be used in
          rare cases. Normally, the C function call

                          setlocale(LC_COLLATE, "")
          is used by _Alpine_. If you want to try turning it off, setting
          this feature will turn it off. This part of the locale has to do
          with the sort order of characters in your locale.
   _disable-shared-namespaces_
          If this hidden feature is set the automatic search for
          namespaces "ftp", "imapshared", and "imappublic" by the
          underlying library will be disabled. The reason this feature
          exists is because there are some implementations of system
          password lookup routines which are very slow when presented with
          a long loginname which does not exist. This feature could be set
          to prevent the delay at startup time when the names above are
          searched for in the password file.
   _disable-signature-edit-cmd_
          If set the _Signature_ editing command usually available under
          the _Setup_ command will not be available.
   _disable-take-fullname-in-addresses_
          Normally, when TakeAddr is used to copy an address or addresses
          from a message into an address book entry, _Alpine_ will try to
          preserve the full name associated with each address in the list
          of addresses. The reason for this is so that if the entry is a
          list or later becomes a list, then information about the
          individual addresses in the list is preserved. If you would
          rather just have the simple addresses in the list of addresses,
          set this feature. For example, with the default setting you
          might see something like this in the ADDRESS BOOK editor after
          you type TakeAddr
 Nickname  : nick
 Fullname  : Bedrock Elders
 Fcc       :
 Comment   :
 Addresses : Fred Flintstone <flint@bedrock.org>,
             Barney Rubble <rubble@bedrock.org>

          but with this feature set it would look like
 Nickname  : nick
 Fullname  : Bedrock Elders
 Fcc       :
 Comment   :
 Addresses : flint@bedrock.org,
             rubble@bedrock.org

          instead. Note the difference in the Addresses field.
   _disable-take-last-comma-first_
          Normally, when _TakeAddr_ is used to copy an address from a
          message into an address book, _Alpine_ will attempt to rewrite
          the full name of the address in the form:

     Last, First
          instead of

     First Last
          It does this because many people find it useful to sort by Last
          name instead of First name. If this feature is set, then the
          _TakeAddr_ command will not attempt to reverse the name in this
          manner.
   _disable-terminal-reset-for-display-filters_
          UNIX _Alpine_ only.
          This feature affects _Alpine_'s behavior when using
          Display-Filters. Normally, before the display filter is run, the
          terminal mode is reset to what it was before you started
          _Alpine_. This may be necessary if the filter requires the use of
          the terminal. For example, it may need to interact with you. If
          you set this feature, then the terminal mode will not be reset.
          One thing that turning on this feature should fix is the
          coloring of quoted text in the message view, which breaks
          because the terminal reset resets the color state of the
          terminal (Color Configuration).
   _downgrade-multipart-to-text_
          This feature affects _Alpine_'s behavior when sending mail.
          Internet standards require _Alpine_ to translate all non-ASCII
          characters in messages that it sends using MIME encoding. This
          encoding can be ostensibly broken for recipients if any agent
          between _Alpine_ and the recipient, such as an email list
          expander, appends text to the message, such as list information
          or advertising. When sending such messages _Alpine_ attempts to
          protect such encoding by placing extra MIME boundaries around
          the message text.
          These extra boundaries are invisible to recipients that use
          MIME-aware email programs (the vast majority). However, if you
          correspond with users of email programs that are not MIME-aware,
          or do not handle the extra boundaries gracefully, you can use
          this feature to prevent _Alpine_ from including the extra MIME
          information. Of course, it will increase the likelihood that
          non-ASCII text you send may appear corrupt to the recipient.
   _enable-8bit-esmtp-negotiation_
          This feature affects _Alpine_'s behavior when sending mail. By
          default, this feature is set. Internet standards require that
          all electronic mail messages traversing the global Internet
          consist of 7bit ASCII characters unless a pair of cooperating
          mail transfer agents explicitly agree to allow 8bit messages. In
          general, then, exchanging messages in non-ASCII characters
          requires MIME encoding.
          However, there are now Internet standards that allow for
          unencoded 8bit exchange of messages between cooperating systems.
          When this feature is set _Alpine_ will try to negotiate
          unencoded 8bit transmission during the sending process. Should
          the negotiation fail, _Alpine_ will fall back to its ordinary
          encoding rules.
          Note, this feature relies on your system's mail transport agent
          or configured smtp-server having the negotiation mechanism
          introduced in "Extended SMTP" (ESMTP) and the specific extension
          called _8BITMIME_.
   _enable-8bit-nntp-posting_
          The Internet standard for exchanging USENET news messages
          (RFC-1036) specifies that USENET messages should conform to
          Internet mail standards and contain only 7bit characters, but
          much of the news transport software in use today is capable of
          successfully sending messages containing 8bit characters. Hence,
          many people believe that it is appropriate to send 8bit news
          messages without any MIME encoding.
          Moreover, there is no Internet standard for explicitly
          negotiating 8bit transfer, as there is for Internet email.
          Therefore, _Alpine_ provides the option of posting unencoded
          8bit news messages, though not as the default. Setting this
          feature will turn OFF _Alpine_'s MIME encoding of newsgroup
          postings that contain 8bit characters.
          Note, articles may cross a path or pass through news transport
          software that is unsafe or even hostile to 8bit characters. At
          best this will only cause the posting to become garbled. The
          safest way to transmit 8bit characters is to leave _Alpine_'s
          MIME encoding turned on, but recipients who lack MIME-aware
          tools are often annoyed when they receive MIME-encoded messages.
   _enable-aggregate-command-set_
          When this feature is set you may use the commands and
          subcommands that relate to performing operations on more than
          one message at a time. We call these "aggregate operations". In
          particular, the _; Select_, _A Apply_, and _Z Zoom_ commands are
          enabled by this feature. _Select_ is used to _tag_ one or more
          messages meeting the specified criteria. _Apply_ can then be
          used to apply any message command to all of the selected/tagged
          messages. Further, the _Zoom_ command allows you to toggle the
          "Folder Index" view between just those Selected and all messages
          in the folder.
          This feature also enables the _^X_ subcommand in the "Folder
          Index" _WhereIs_ command which causes all messages matching the
          _WhereIs_ argument to become selected.
          You may also use aggregate operations in the address book
          screens where you are operating on address book entries instead
          of on messages.
   _enable-alternate-editor-cmd_
          If this feature is set (the default), and the editor variable is
          not set, entering the _^__ (Control-underscore) key while
          composing a message will prompt you for the name of the editor
          you would like to use.
          If the environment variable $EDITOR is set, this value will be
          offered as a default. If the _editor_ variable is set, the _^__
          key will activate the specified editor without prompting, in
          which case it is not necessary to set the
          _enable-alternate-editor-cmd_ feature. This feature is not
          available in _PC-Alpine_.
          This feature is displayed as "Enable Alternate Editor Command".
   _enable-alternate-editor-implicitly_
          If this feature and the editor variable are both set, _Alpine_
          will automatically activate the specified editor when the cursor
          is moved from the header of the message being composed into the
          message text. For replies, the alternate editor will be
          activated immediately. If this feature is set but the _editor_
          variable is not set, then _Alpine_ will automatically ask for
          the name of an alternate editor when the cursor is moved out of
          the headers, or if a reply is being done. This feature is not
          available in _PC-Alpine_.
   _enable-arrow-navigation_
          This feature controls the behavior of the left and right arrow
          keys. If set, the left and right arrow keys will operate like
          the usual navigation keys _<_ and _>_. This feature is set by
          default.
          If you set this feature, and do not like the changed behavior of
          the up/down arrow keys when navigating through the FOLDER LIST
          screen -- _first_ from column to column, if more than one folder
          is displayed per row, and _then_ from row to row -- you may
          either also wish to set the feature
          enable-arrow-navigation-relaxed, single-column-folder-list, or
          use the ^P/^N (instead of up/down arrow) keys to move up/down
          the list of folders in each column.
   _enable-arrow-navigation-relaxed_
          This feature controls the behavior of the left and right arrow
          keys in the FOLDER LIST screen when the enable-arrow-navigation
          feature is set. This feature is set by default.
          When this feature is set, the left and right arrow keys in the
          FOLDER LIST screen move the highlight bar to the left or right,
          and the up and down arrows move it up or down.
          When the "Enable-Arrow-Navigation" feature is set and this
          feature is not set; the left and right arrow keys in the Folder
          List screen strictly track the commands bound to the '<' and '>'
          keys, and the up and down arrow keys move the highlight bar to
          the previous and next folder or directory name.
   _enable-background-sending_
          If set, this feature enables a subcommand in the composer's
          _Send?_ confirmation prompt. The subcommand allows you to tell
          _Alpine_ to handle the actual posting in the background. While
          this feature usually allows posting to appear to happen very
          fast, it has no affect on the actual delivery time it takes a
          message to arrive at its destination.
          This feature isn't supported on all systems. All DOS and
          Windows, as well as several Unix ports, do not recognize this
          feature. It is not possible to use background sending if the
          feature send-without-confirm is set.
          Error handling is significantly different when this feature is
          enabled. Any message posting failure results in the message
          being appended to your _Interrupted_ mail folder. When you type
          the _Compose_ command, _Alpine_ will notice this folder and
          offer to extract any messages contained. Upon continuing a
          failed message, _Alpine_ will display the nature of the failure
          in the status message line.
          Under extreme conditions, it is possible for message data to get
          lost. Do not enable this feature if you typically run close to
          any sort of disk-space limits or quotas.
   _enable-bounce-cmd_
          Setting this feature enables the _B Bounce_ command, which will
          prompt for an address and _remail_ the message to the new
          recipient. This command is used to re-direct messages that you
          have received in error, or need to be redirected for some other
          reason (e.g. list moderation). The final recipient will see a
          header indicating that you have Resent the msg, but the
          message's From: header will show the original author of the
          message, and replies to it will go back to that author, and not
          to you.
          This feature is displayed as "Enable Bounce Command".
   _enable-cruise-mode_
          This feature affects _Alpine_'s behavior when you hit the "Space
          Bar" at the end of a displayed message. Typically, _Alpine_
          complains that the end of the text has already been reached.
          Setting this feature causes such keystrokes to be interpreted as
          if the _Tab_ key had been hit, thus taking you to the next
          _interesting_ message, or scanning ahead to the next incoming
          folder with _interesting_ messages.
   _enable-cruise-mode-delete_
          This feature modifies the behavior of _Alpine_'s
          _enable-cruise-mode_ feature. Setting this feature causes _Alpine_
          to implicitly delete read messages when it moves on to display
          the next _interesting_ message.
          NOTE: Beware when enabling this feature _and_ the
          expunge-without-confirm feature.
          This feature is displayed as "Enable Cruise Mode With Deleting".
   _enable-delivery-status-notification_
          If set, this feature enables a subcommand in the composer's
          "Send?" confirmation prompt. The subcommand allows you to tell
          _Alpine_ to request the type of Delivery Status Notification
          (DSN) which you would like. Most users will be happy with the
          default, and need not enable this feature. See the online help
          for more details.
          It is not possible to use delivery status notifications if the
          feature send-without-confirm is set.
          Note that this is not a method to request _READ_ receipts, which
          tells the sender when the receiver has read the message. In this
          case we're talking about notification of delivery to the
          mailbox, not notification that the message has been seen.
   _enable-dot-files_
          If set, files beginning with dot (".") will be visible in the
          file browser. For example, you'll be able to select them when
          using the browser to add an attachment to a message.
   _enable-dot-folders_
          If set, folders beginning with dot (".") may be added and
          viewed. This feature is displayed as "Enable Hidden Folders".
   _enable-exit-via-lessthan-command_
          If set, then on screens where there is an _Exit_ command but no
          _<_ command, the _<_ key will perform the same function as the
          _Exit_ command. This feature is set by default.
   _enable-fast-recent-test_
          This feature controls the behavior of the TAB key when
          traversing folders in the optional Incoming-Folders collection
          or in optional News-Collections.
          When the TAB (NextNew) key is pressed, the default behavior is
          to explicitly examine the status of the folder for the number of
          recent messages (messages delivered since the last time it was
          viewed). Depending on the size and number of messages in the
          folder, this test can be time consuming.
          Enabling this feature will cause _Alpine_ to only test for the
          existence of any recent messages rather than to obtain the
          count. This is much faster in many cases. The downside is that
          you're not given the number of recent messages when prompted to
          view the next folder. If the feature
          Tab-Uses-Unseen-For-Next-Folder is turned on, then the present
          feature will have no effect.
   _enable-flag-cmd_
          Setting this feature enables the _* Flag_ command, which allows
          you to manipulate the status flags associated with a message. By
          default, _Flag_ will set the _Important_ flag, which results in
          an asterisk being displayed in column one of the "Folder Index"
          for such messages.
          This feature is displayed as "Enable Flag Command".
   _enable-flag-screen-implicitly_
          This feature modifies the behavior of the _* Flag_ command
          (provided it too is enabled). By default, when the _* Flag_
          command is selected, _Alpine_ offers a prompt to set one of
          several flags and also offers the option of entering the
          detailed flag manipulation screen via the _^T_ key. Enabling
          this feature causes _Alpine_ to immediately enter the detailed
          flag screen rather than first offer the simple prompt. The
          Enable-Flag-Screen-Keyword-Shortcut option offers a slightly
          different way of setting keywords.
   _enable-flag-screen-keyword-shortcut_
          This feature modifies the behavior of the Flag command and the
          Select command. By default, when the "* Flag" command is
          selected, _Alpine_ offers a prompt to set one of several flags
          and also offers the option of entering the detailed flag
          manipulation screen via the "^T" key. If you have keywords
          defined, then enabling this feature adds a shortcut way to set
          or unset keywords. You use "*" followed by the first letter of a
          keyword (or the nickname of a keyword if you've given it a
          nickname) and that will set the keyword.
          An example is easier to understand than the explanation. The
          flag command can always be used to set the system flags. For
          example, to set the Answered flag you would type

                                     * A
          Now suppose you have defined a keyword "Work" using the Keywords
          option in the Config screen. By default, to set a keyword like
          "Work" you would usually have to go to the Flag Details screen
          using the "^T To Flag Details" command. Instead, if you have
          enabled this feature, you may type

                                     * W
          to set the Work flag, or

                                    * ! W
          to unset it. Just like for the other flag setting commands, the
          case of the letter does not matter, so "w" or "W" both set the
          "Work" keyword.
          Notice that you can only use this trick for one keyword that
          begins with "W". If you happen to have a "Work" keyword and
          another keyword that is "WIFI" the "* W" command will set the
          first one in your list of keywords. Also, there are five letters
          which are reserved for system flags and the NOT command. If you
          type "* A" it will always set the Answered flag, not your
          "Aardvark" keyword. In order to set the "Aardvark" keyword
          you'll still have to use the Flag Details screen.
          Because enabling the Enable-Flag-Screen-Implicitly option causes
          _Alpine_ to skip directly to the Flag Details screen when the
          Flag command is used, setting it will cause this feature to have
          no effect at all.
          Similarly, when Selecting by Keyword, setting this option will
          allow you to use Keyword initials instead of full keywords.
   _enable-full-header-cmd_
          This feature enables the _H Full Headers_ command which toggles
          between the display of all headers in the message and the normal
          edited view of headers. The _Full Header_ command also controls
          which headers are included for _Export_, _Pipe_, _Print_,
          _Forward_, and _Reply_ functions. (For _Reply_, the _Full Header_
          mode will respect the _include-headers-in-reply_ feature
          setting.)
          If Full Header mode is turned on and you Forward a message, you
          will be asked if you'd like to forward the message as an
          attachment, as opposed to including the text of the message in
          the body of your new message.
          If you have also turned on the "Quote Suppression" option then
          the Full Headers command actually rotates through three states
          instead of just two. The first is the normal view with long
          quotes suppressed. The second is the normal view but with the
          long quotes included. The last enables the display of all
          headers in the message. When using Export, Pipe, Print, Forward,
          or Reply the quotes are never suppressed, so the first two
          states are identical.
          Normally, the Header Mode will reset to the default behavior
          when moving to a new message. The mode can be made to persist
          from message to message by setting the feature
          Quell-Full-Header-Auto-Reset.
          This feature is displayed as "Enable Full Header Command".
   _enable-full-header-and-text_
          This feature affects how the _H Full Headers_ command displays
          message text. If set, the raw message text will be displayed.
          This especially affects MIME formatted email, where the entire
          MIME format will be displayed. This feature similarly affects
          how messages are included for the _Export_, _Pipe_, _Print_,
          _Forward_, and _Reply_ functions.
   _enable-goto-in-file-browser_
          Setting this causes _Alpine_ to offer the _G Goto_ command in
          the file browser. The Goto command allows you to explicitly type
          in the desired directory. That is the default.
   _enable-incoming-folders_
          If set, this feature defines a pseudo-folder collection called
          _INCOMING MESSAGE FOLDERS_. Initially, the only folder included
          in this collection will be your _INBOX_, which will no longer
          show up in your default saved-message folder collection.
          This feature is displayed as "Enable Incoming Folders
          Collection".
   _enable-incoming-folders-checking_
          This feature is only operational if you have enabled the
          optional incoming-folders If you do have Incoming Message
          Folders and you also set this feature, then the number of Unseen
          messages in each folder will be displayed in the FOLDER LIST
          screen for the Incoming Message Folders. The number of Unseen
          messages in a folder will be displayed in parentheses to the
          right of the name of each folder. If there are no Unseen
          messages in a folder then only the name is displayed, not a set
          of parentheses with zero inside them. A redraw command, Ctrl-L,
          can be used in the FOLDER LIST screen for the Incoming Message
          Folders to cause an immediate update.
          If a check for Unseen messages fails for a particular folder
          then Alpine will no longer attempt to check that folder for the
          duration of the session and this will be indicated by a question
          mark inside the parentheses.
          The features incoming-checking-includes-total,
          incoming-checking-uses-recent, incoming-check-list,
          incoming-check-interval, incoming-check-interval-secondary, and
          incoming-check-timeout all affect how this feature behaves.
   _Disable-Index-Locale-Dates_
          This feature affects the display of dates in the MESSAGE INDEX.
          Normally an attempt is made to localize the dates used in the
          MESSAGE INDEX display to your locale. This is controlled with
          the LC_TIME locale setting on a UNIX system. On Windows the
          Regional Options control panel may be used to set the date
          format. At the programming level, _Alpine_ is using the strftime
          routine to print the parts of a date.
          If this feature is set, dates are displayed in English and with
          the conventions of the United States.
   _enable-jump-shortcut_
          When this feature is set you may enter a number (followed by
          RETURN) and jump to that message number, when in the MESSAGE
          INDEX or MESSAGE TEXT screens. In other words, it obviates the
          need for typing the _J_ for the _Jump_ command.
   _enable-lame-list-mode_
          This feature modifies the method _Alpine_ uses to ask your IMAP
          server for folder names to display in the the FOLDER LIST
          screen. It is intended to compensate for a small set of IMAP
          servers that are programmed to ignore a part of the request, and
          thus respond to _Alpine_'s query with nonsensical results.
          If you find that _Alpine_ is erroneously displaying blank folder
          lists, try enabling this feature.
          NOTE: Enabling this feature has consequences for the Goto and
          Save commands. Many servers allow access to folders outside the
          area reserved for your personal folders via some reserved
          character, typically '#' (sharp), '~' (tilde) or '/' (slash).
          This mechanism allows, at the Goto and Save prompts, quick
          access to folders outside your personal folder collection
          without requiring a specific collection definition. This
          behavior will generally not be available when this feature is
          enabled.
          This feature is displayed as "Compensate for Deficient IMAP
          servers".
   _enable-mail-check-cue_
          If set, this will cause an asterisk to appear in the upper
          left-hand corner of the screen whenever _Alpine_ checks for new
          mail, and two asterisks whenever _Alpine_ saves (checkpoints)
          the state of the current mailbox to disk.
   _enable-mailcap-param-substitution_
          If set, this will allow mailcap named parameter substitution to
          occur in mailcap entries. By default, this is turned off to
          prevent security problems which may occur with some incorrect
          mailcap configurations. For more information, RFC1524 and look
          for "named parameters" in the text of the RFC.
          This feature is displayed as "Enable Mailcap Parameter
          Substitution".
   _enable-mouse-in-xterm_
          This feature controls whether or not an X terminal mouse can be
          used with _Alpine_. If set, and the $DISPLAY variable indicates
          that an X terminal is being used, the left mouse button on the
          mouse can be used to select text or commands. Clicking on a
          command at the bottom of the screen will behave as if you had
          typed that command. Clicking on an index line will move the
          current message highlight to that line. Double-clicking on an
          index line will view the message. Double-clicking on a link will
          view the link.
          This type of mouse support will also work in some terminal
          emulators which are not actually X terminals, but which have
          extra code to support the xterm style mouse. For those emulators
          you not only need to turn this feature on but you also have to
          set the $DISPLAY environment variable even though it isn't
          needed for your terminal. That will cause _Alpine_ to think that
          it is an xterm and to properly interpret the escape sequences
          sent by the mouse.
          Note: if this feature is set, the behavior of X terminal
          cut-and-paste is also modified. It is sometimes possible to hold
          the shift key down while clicking left or middle mouse buttons
          for the normal xterm cut/paste operations. There is also an
          _Alpine_ command to toggle this mode on or off. The command is
          Ctrl-\ (Control-backslash).
   _enable-msg-view-addresses_
          This feature modifies the behavior of _Alpine_'s "Message Text"
          screen. Setting this feature causes _Alpine_ to select possible
          email addresses from the displayed text and display them in
          boldface for selection.
          The first available email address is displayed in inverse. This
          is the "selected" address. Pressing _RETURN_ will cause _Alpine_
          to enter the message composition screen with the To field filled
          in with the selected address.
          Use the up and down arrow keys to change which of the addresses
          displayed in boldface is the current selection.
          This feature is displayed as "Enable Message View Address
          Links".
   _enable-msg-view-attachments_
          This feature modifies the behavior of _Alpine_'s "Message Text"
          screen. Setting this feature causes _Alpine_ to present
          attachments in boldface. The first available attachment is
          displayed in inverse. This is the "selected" attachment.
          Pressing _RETURN_ will cause _Alpine_ to display the selected
          attachment. Use the up and down arrow keys to change which of
          the attachments displayed in boldface is the current selection.
          Speaking of arrow keys, the Up and Down Arrows will select the
          next and previous attachments if one is available on the screen
          for selection. Otherwise, they will simply adjust the viewed
          text one line up or down.
          Similarly, when selectable items are present in a message, the
          Ctrl-F key can be used to select the next item in the message
          independent of which portion of the viewed message is currently
          displayed. The Ctrl-B key can be used to select the previous
          item in the same way.
          This feature is displayed as "Enable Message View Attachment
          Links".
   _enable-msg-view-forced-arrows_
          This feature modifies Up and Down arrow key behavior in
          _Alpine_'s "Message Text" screen when selectable Attachments,
          URL's, or web-hostnames are presented. _Alpine_'s usual behavior
          is to move to the next or previous selectable item if currently
          displayed or simply to adjust the screen view by one line if the
          next selectable line is off the screen.
          Setting this feature causes the Up and Down arrow keys to behave
          as if no selectable items were present in the message.
          Note, the _Ctrl-F_ (next selectable item) and _Ctrl-B_ (previous
          selectable item) functionality is unchanged.
          This feature is displayed as "Enable Message View Forced
          Arrows".
   _enable-msg-view-urls_
          This feature modifies the behavior of _Alpine_'s "Message Text"
          screen. When this feature is set (the default) _Alpine_ will
          select possible URLs from the displayed text and display them in
          boldface for selection.
          The first available URL is displayed in inverse. This is the
          "selected" URL. Pressing _RETURN_ will cause _Alpine_ to display
          the selected URL via either built-in means as with mailto:,
          imap:, news:, and nntp:, or via an external application as
          defined by the url-viewers variable.
          Use the up and down arrow keys to change which of the URLs
          displayed in boldface is the current selection.
          This feature is displayed as "Enable Message View URL Links".
   _enable-msg-view-web-hostnames_
          This feature modifies the behavior of _Alpine_'s "Message Text"
          screen. When this feature is set (the default) _Alpine_ will
          select possible web hostnames from the displayed text and
          display them in boldface for selection.
          The first available hostname is displayed in inverse. This is
          the "selected" hostname. Pressing _RETURN_ will cause _Alpine_
          to display the selected hostname via an external application as
          defined by the url-viewers variable.
          Use the up and down arrow keys to change which of the hostnames
          displayed in boldface is the current selection.
          This feature is displayed as "Enable Message View Web Hostname
          Links".
   _enable-multiple-newsrcs_
          This feature makes it so _Alpine_ can use multiple newsrcs based
          on the news server being connected to, which allows for separate
          lists of subscribed-to newsgroups. When this feature is not set,
          there is only one list of newsgroups.
          Under this feature, the name of a newsrc is based on the news
          server. For example, if your newsrc-path is set to ".newsrc",
          and the news server you are connecting to is news.example.com,
          then the newsrc to be used is .newsrc-news.example.com. Setting
          this feature for the first time will allow for the option of
          using your old newsrc the next time you read news.
          If this feature is set, then the feature
          Mult-Newsrc-Hostnames-As-Typed also may affect the name of the
          newsrc file that is used.
   _enable-newmail-in-xterm-icon_
          This feature controls whether or not _Alpine_ will attempt to
          announce new mail arrival when it is running in an X terminal
          window and that window is iconified. If set, and the $DISPLAY
          variable indicates that an X terminal is being used, _Alpine_
          will send appropriate escape sequences to the X terminal to
          modify the label on _Alpine_'s icon to indicate that new mail
          has arrived. _Alpine_ will also modify the _Alpine_ window's
          title to indicate new mail. See also
          Enable-Newmail-Short-Text-in-Icon.
   _enable-newmail-short-text-in-icon_
          This feature controls the text to be displayed in an icon in the
          event of a new message arrival. Normally, the message will be
          the one that is displayed on the screen. This feature shortens
          the message to a count of the number of new messages in
          brackets. This may be more useful for those who use the window's
          title bar in the task bar as a new mail indicator. This feature
          is only useful if the Enable-Newmail-in-Xterm-Icon is also set.
          Like the Enable-Newmail-in-Xterm-Icon feature, this feature is
          only relevant when run in an xterm environment.
   _enable-partial-match-lists_
          This feature affects the subcommands available when _Sav_ing or
          Opening a new folder. If set, the subcommand _^X ListMatches_
          will be available. This command allows you to type in a
          substring of the folder you are looking for and when you type
          _^X_ it will display all folders which contain that substring in
          their names. This feature is set by default.
   _enable-print-via-y-command_
          By default, _Alpine_'s print command is available by pressing
          the _%_ key. In older versions of _Pine_, the print command was
          accessed by pressing the _Y_ key.
          Enabling this feature will cause _Alpine_ to recognize both the
          old command, _Y_, and the new _%_ method for invoking printing.
          Note, key menu labels are not changed as a result of enabling
          this feature.
   _enable-reply-indent-string-editing_
          This feature affects the Reply command's "Include original
          message in Reply?" prompt. When enabled, it causes the "Edit
          Indent String" sub-command to appear which allows you to edit
          the string _Alpine_ would otherwise use to denote included text
          from the message being replied to.
          Thus, you can change _Alpine_'s default message quote character
          (usually an angle bracket) on a per message basis. So you could
          change your quoted message to look, for example, like this:
On Tues, 26 Jan 1999, John Q. Smith wrote:

John: I just wanted to say hello and to congratulate you
John: on a job well done!
          The configuration option "reply-indent-string" may be used to
          change what appears as the default string to be edited.
          NOTE: Edited reply-indent-strings only apply to the message
          currently being replied to.
   _enable-rules-under-take_
          Normally, the Take command takes addresses from a message and
          helps you put them into your Address Book. If you use Rules for
          Indexcolors, Roles, Filtering, or Scoring; you may find it
          useful to be able to Take information from a message's headers
          and put it into a new Rule. When this feature is set, you will
          be given an extra prompt which gives you the choice to Take into
          the Address Book or Take into a rule.
          This feature is displayed as "Enable Take Rules".
   _enable-search-and-replace_
          If set _Alpine_'s composer offers the _R Replace_ command option
          inside the _W WhereIs_ command.
   _enable-sigdashes_
          If set and a _signature-file_ exists, the line consisting of the
          three characters "-- " (dash dash space) is included before the
          signature. This only happens if the signature doesn't already
          contain such a line.
          In addition, when you Reply or Followup to a message containing
          one of these special lines and choose to include its text,
          _Alpine_ will observe the convention of not including text beyond
          the special line in your reply.
   _enable-suspend_
          Setting this feature will allow you to type _^Z_ and temporarily
          suspend _Alpine_. Not available on _PC-Alpine_.
   _enable-tab-completion_
          This feature enables the _TAB_ key when at a prompt for a
          filename. In this case, _TAB_ will cause the partial name
          already entered to be automatically completed, provided the
          partial name is unambiguous. This feature is set by default.
          Similarly, this feature also enables TAB completion of address
          book nicknames when at a prompt for a nickname, or when typing
          in an address field in the composer.
   _enable-take-export_
          Normally, the Take command takes addresses from a message and
          helps you put them into your Address Book. When this feature is
          set, you will be given an extra prompt which gives you the
          choice to Take addresses into a file instead of your Address
          Book. Only the user@domain_name part of the address is put in
          the file.
   _enable-tray-icon_
          _PC-Alpine_ only. This option restores a behavior of previous
          versions of PC-Alpine. These versions, when started, installed a
          PC-Alpine icon in the notification tray of Window's Taskbar. The
          primary use of this icon was to indicate new mail arrival by
          turning red (while the Taskbar icon remained green).
          Additionally, the icon now changes to yellow to signify that a
          mail folder has been closed unexpectedly.
          Rather than add another icon to the Taskbar, this version of
          PC-Alpine will color its Taskbar entry's icon red (as well as
          the icon in the Window Title). This feature is only provided for
          backwards compatibility.
   _enable-unix-pipe-cmd_
          This feature enables the _| Pipe_ command that sends the current
          message to the specified Unix command for external processing.
          This feature is displayed as "Enable Unix Pipe Command".
   _enable-verbose-smtp-posting_
          This feature controls an aspect of _Alpine_'s message sending.
          When enabled, _Alpine_ will send a VERB (i.e., VERBose) command
          early in the posting process intended to cause the server SMTP
          to provide a more detailed account of the transaction. This
          feature is typically only useful to system administrators and
          other support personnel as an aid in troubleshooting problems.
          Note, this feature relies on a specific capability of the
          system's mail transport agent or configured smtp-server.
   _expanded-view-of-addressbooks_
          If multiple address books (either personal or global) are
          defined, and you wish to have them all expanded implicitly upon
          entering the ADDRESS BOOK screen, then set this feature. This
          feature will have no effect unless the feature
          combined-addrbook-display is also set.
   _expanded-view-of-distribution-lists_
          If this feature is set, then distribution lists in the address
          book screen will always be expanded automatically.
   _expanded-view-of-folders_
          If multiple folder collections are defined, and you wish to have
          them all expanded implicitly upon entering the FOLDER LIST
          screen, then set this feature. This feature will have no effect
          unless the feature combined-folder-display is also set.
   _expose-hidden-config_
          The purpose of this feature is to allow you to change
          configuration features and variables which are normally hidden.
          This is particularly useful if you are using a remote
          configuration file, where it is difficult to edit the file
          manually, but it may also be used on a local pinerc
          configuration file.
          If set, most configuration variables and features which are
          normally hidden from view will show up in the
          Setup/Configuration screen. They will be at the bottom of the
          configuration screen. You can find them by searching for the
          word "hidden".
          Note that this is an advanced feature which should be used with
          care. The reason that this part of the configuration is normally
          hidden is because there is a significant potential for causing
          problems if you change these variables. If something breaks
          after a change try changing it back to see if that is what is
          causing the problem. There are also some variables which are
          normally hidden because they are manipulated through _Alpine_ in
          other ways. For example, the "address-book" variable is normally
          set using the Setup/AddressBooks screen, so there is little
          reason to edit it directly. The "incoming-folders" variable is
          normally changed by using the Add, Delete, and Rename commands
          in the FOLDER LIST screen, and the "last-time-prune-questioned"
          variable is normally used internally by _Alpine_ and not set
          directly by the user.
   _expunge-only-manually_
          Normally, when you close a folder which contains deleted
          messages you are asked if you want to expunge those messages
          from the folder permanently. If this feature is set, you won't
          be asked and the deleted messages will remain in the folder. If
          you choose to set this feature you will have to expunge the
          messages manually using the eXpunge command, which you can use
          while in the MESSAGE INDEX screen. If you do not expunge deleted
          messages the size of your folder will continue to increase until
          you are out of disk space.
   _expunge-without-confirm_
          If set, you will not be prompted to confirm your intent before
          the expunge takes place. Actually, you will still be prompted
          for confirmation if the folder is not the _INBOX_ folder or
          another folder in the Incoming Folders collection. See the
          _expunge-without-confirm-everywhere_ feature which follows.
          This feature is displayed as "Expunge Without Confirming".
   _expunge-without-confirm-everywhere_
          The regular _expunge-without-confirm_ feature actually only
          works for the _INBOX_ folder and for other folders in the
          "Incoming Folders" collection. If this feature is set then you
          also won't be prompted to confirm expunges for all other
          folders.
          This feature is displayed as "Expunge Without Confirming
          Everywhere".
   _fcc-on-bounce_
          If set, normal Fcc (File Carbon Copy) processing will be done
          for bounced messages, just as if you had composed a message to
          the address you are bouncing to. If not set, no Fcc of the
          message will be saved.
          This feature is displayed as "Include Fcc When Bouncing
          Messages".
   _fcc-only-without-confirm_
          This features controls an aspect of _Alpine_'s composer. The
          only time this feature will be used is if you attempt to send
          mail which has no recipients but does have an Fcc. Normally,
          _Alpine_ will ask if you really mean to copy the message only to
          the Fcc. That is, it asks if you really meant to have no
          recipients. If this feature is set, you will _not_ be prompted
          to confirm your intent to make only a copy of a message with no
          recipients.
          This feature is closely related to
          warn-if-blank-to-and-cc-and-newsgroups. The difference between
          this feature and that feature is that this feature considers a
          Bcc to be a recipient while that feature will ask for
          confirmation even if there is a Bcc when there is no To, Cc, or
          Newsgroup. The default values also differ. This feature defaults
          to asking the question and you have to turn it off. The
          warn-if-blank-to-and-cc-and-newsgroups feature defaults to not
          asking unless you turn it on.
          This feature is displayed as "Send to Fcc Only Without
          Confirming".
   _fcc-without-attachments_
          This features controls the way FCC's (File Carbon Copies) are
          made of the messages you send.
          Normally, _Alpine_ saves an exact copy of your message as it was
          sent. When this feature is enabled, the "body" of the message
          you send (the text you type in the composer) is preserved in the
          copy as before, however all attachments are replaced with text
          explaining what had been sent rather than the attachments
          themselves.
          This feature also affects _Alpine_'s "Send ?" confirmation
          prompt in that a new "^F Fcc Attchmnts" option becomes available
          which allows you to interactively set whether or not attachments
          are saved to the Fcc'd copy.
          This feature is displayed as "Fcc Does Not Include Attachments".
   _force-arrow-cursor_
          This feature affects _Alpine_'s MESSAGE INDEX display routine.
          If set, the normal inverse-video cursor will be replaced by a
          simple "arrow" cursor, which normally occupies the second column
          of the index display.
          This is the same index cursor you get if you turn on
          Assume-Slow-Link, but the index line coloring will still be
          present if this feature is turned on and Assume-Slow-Link is
          off.
          An alternative version of the Arrow cursor is available by
          including the ARROW token in the Index-Format option.
          It ought to be the case that this feature also affects the
          ATTACHMENT INDEX, but that is not implemented.
   _hide-nntp-path_
          Normally the Path header that _Alpine_ generates when posting to
          a newsgroup contains the name of the computer from which the
          message is being sent and the user name. Some believe that this
          information is used by spammers. If this feature is set, that
          information will be replaced with the text

                                not-for-mail
          instead.
          It should be noted that many servers being connected to will
          still reveal the information that this feature attempts to
          protect.
   _include-attachments-in-reply_
          If set, any MIME attachments that were part of the original
          message will automatically be included in a _Reply_.
   _include-header-in-reply_
          If set, and a message being replied to is included in the
          _Reply_, then headers from that message will also be part of the
          reply.
   _include-text-in-reply_
          Normally, _Alpine_ will ask whether you wish to include the
          original message in your _Reply_. If this feature is set and the
          feature enable-reply-indent-string-editing is _not_ set, then
          the original message will be included in the reply
          automatically, without prompting.
   _incoming-checking-includes-total_
          This option has no effect unless the feature
          enable-incoming-folders-checking is set, which in turn has no
          effect unless incoming-folders is set.
          When incoming folder checking is turned on the default is to
          display the number of unseen messages in each folder. More
          precisely, it is the number of undeleted unseen messages. Using
          this option you may also display the total number of messages in
          each folder. Instead of a single number representing the number
          of unseen messages you will get two numbers separated by a slash
          character. The first is the number of unseen messages and the
          second is the total number of messages.
          You may also use the recent message count instead of the unseen
          message count by turning on the feature
          incoming-checking-uses-recent.
   _incoming-checking-uses-recent_
          This option has no effect unless the feature
          enable-incoming-folders-checking is set, which in turn has no
          effect unless incoming-folders is set.
          When incoming folder checking is turned on the default is to
          display the number of unseen messages in each folder. More
          precisely, it is the number of undeleted unseen messages. Using
          this option you may display the number of recent messages
          instead of the number of unseen messages. A message is only
          counted as recent if this is the first session to see it, so the
          recent count might be less than the unseen count. The difference
          between the two would be accounted for by the unseen messages in
          the folder which were there previously but have not been looked
          at yet.
          If you simultaneously run more than one email client at a time
          (for example, you run more than one _Alpine_ in parallel) then
          turning this feature on can cause some confusion. The confusion
          stems from the fact that each message is only considered to be
          recent in one session. That means that the counts of new
          messages may be different in the two _Alpine_s running side by
          side, because each incoming message will only be counted as
          recent in one of the two sessions.
          You may also display the total number of messages in each folder
          by using the incoming-checking-includes-total option.
   _ldap-result-to-addrbook-add_
          This is only available if _Alpine_ was linked with an LDAP
          library when it was compiled. If both the per-directory-server
          option use-implicitly-from-composer and this feature are set,
          then when an implicit directory lookup is done from the composer
          you will automatically be prompted to add the result of the
          directory lookup to your address book.
          This feature is displayed as "LDAP Result to Addressbook Add".
   _maildrops-preserve-state_
          This feature affects the way Mail Drops work. Normally, when
          mail is moved from a Mail Drop folder to a destination folder,
          the state changes that have taken place since the mail was
          originally delivered are lost. Any Seen/New, Answered,
          Important/Flagged state that has changed will be ignored. All of
          the mail will be considered unSeen, unAnswered, and unImportant
          after it is moved.
          If this feature is set, then the state changes will not be lost.
          In any case, messages which are already marked Deleted when the
          mail is to be copied from the Mail Drop will be ignored.
   _mark-fcc-seen_
          This features controls the way FCCs (File Carbon Copies) are
          made of the messages you send. Normally, when _Alpine_ saves a
          copy of a message you sent as an Fcc, that copy will be marked
          as Unseen. When you look at the folder it was saved in the
          message will appear to be a New message until you read it. When
          this feature is enabled, the message will be marked as having
          been Seen.
   _mark-for-cc_
          This feature affects _Alpine_'s MESSAGE INDEX display. By
          default, a '+' is displayed in the first column if the message
          is addressed directly to you. When this feature is set and the
          message is not addressed to you, then a '-' character is
          displayed if the message is instead Cc'd directly to you.
   _mult-newsrc-hostnames-as-typed_
          This feature will be of little use to most users. It has no
          effect unless the feature Enable-Multiple-Newsrcs is set. When
          the Enable-Multiple-Newsrcs feature is set then the setting of
          this feature may have an effect on the names of the newsrc files
          used. Normally, the name of the news server will be
          canonicalized before it is used in the newsrc file name. For
          example, if you type the news server name

                                 servername
          it is likely that the canonical name will be something like

                           servername.example.com
          Or it may be the case that

                           servername.example.com
          is really an alias (a DNS CNAME) for

                            othername.example.com
          If this feature is not set, then the canonicalized names will be
          used. If this feature is set, then the name you typed in (or put
          in your configuration) will be used.
          This feature is displayed as "Multiple Newsrc Hostnames as
          Typed".
   _news-approximates-new-status_
          This feature causes certain messages to be marked as _New_ in
          the MESSAGE INDEX of newsgroups. This feature is set by default.
          When opening a newsgroup, _Alpine_ will consult your _newsrc_
          file and determine the last message you have previously disposed
          of via the _D_ key. If this feature is set, any subsequent
          messages will be shown in the Index with an _N_, and the first
          of these messages will be highlighted. Although this is only an
          approximation of true _New_ or _Unseen_ status, it provides a
          useful cue to distinguish more-or-less recent messages from
          those you have seen previously, but are not yet ready to mark
          deleted.
          Background: your _newsrc_ file (used to store message status
          information for newsgroups) is only capable of storing a single
          flag, and _Alpine_ uses this to record whether or not you are
          "done with" a message, as indicated by marking the message as
          _Deleted_. Unfortunately, this means that _Alpine_ has no way to
          record exactly which messages you have previously seen, so it
          normally does not show the _N_ status flag for any messages in a
          newsgroup. This feature enables a starting _approximation_ of
          seen/unseen status that may be useful.
   _news-deletes-across-groups_
          This feature controls what _Alpine_ does when you delete a
          message in a newsgroup that appears in more than one newsgroup.
          Such a message is sometimes termed a "crossposting" in that it
          was posted across several newsgroups.
          _Alpine_'s default behavior when you delete such a message is to
          remove only the copy in the current newsgroup from view when you
          use the "Exclude" command or the next time you visit the
          newsgroup.
          Enabling this feature causes _Alpine_ to remove every occurrence
          of the message from all newsgroups it appears in and to which
          you are subscribed.
          NOTE: As currently implemented, enabling this feature may
          increase the time it takes the Expunge command and newsgroup
          closing to complete.
   _news-offers-catchup-on-close_
          This feature controls what _Alpine_ does as it closes a
          newsgroup. When set, _Alpine_ will offer to delete all messages
          from the newsgroup as you are quitting _Alpine_ or opening a new
          folder.
          This feature is useful if you typically read all the interesting
          messages in a newsgroup each time you open it. This feature
          saves you from having to delete each message in a newsgroup as
          you read it or from selecting all the messages and doing an
          aggregate delete before you move on to the next folder or
          newsgroup.
   _news-post-without-validation_
          This feature controls whether the NNTP server is queried as
          newsgroups are entered for posting. Validation over slow links
          (e.g. dialup using SLIP or PPP) can cause delays. Set this
          feature to eliminate such delays.
   _news-read-in-newsrc-order_
          This feature controls the order that newsgroups will be
          presented. If set, they will be presented in the same order as
          they occur in your _newsrc_ file. If not set, the newsgroups
          will be presented in alphabetical order.
   _next-thread-without-confirm_
          This feature controls an aspect of _Alpine_'s Next and Prev
          commands in the case where you are using one of the
          "separate-index-screen" styles for the configuration option
          threading-index-style and currently have the folder sorted by a
          Threaded or OrderedSubject sort. When you are Viewing a
          particular thread you have a MESSAGE INDEX of only the messages
          in that thread. If you press the Next command with the last
          message in the thread highlighted you will normally be asked if
          you want to "View next thread?", assuming there is a next thread
          to view. If this feature is set it will be assumed that you
          always want to view the next thread and you won't be asked to
          confirm that. Similarly, if the first message of the thread is
          highlighted and you press the Prev command, this feature will
          prevent the question "View previous thread".
          This feature only has an effect in the MESSAGE INDEX screen. If
          you then view a particular message from that screen and press
          the Next command, you will be sent to the next thread without
          being asked, independent of the setting of this feature.
          The feature auto-open-next-unread, also has some similar
          effects.
          This feature is displayed as "Read Next Thread Without
          Confirming".
   _offer-expunge-of-inbox_
          The INBOX is normally treated differently from regular folders
          in several ways. One of the differences is that the normal
          "close" sequence of events is deferred until _Alpine_ is exited,
          instead of happening when you leave the INBOX to view another
          folder. The "close" sequence normally includes the Expunging of
          deleted messages (either automatically or after a prompt,
          controlled by the features Expunge-Without-Confirm,
          Expunge-Without-Confirm-Everywhere, and Expunge-Only-Manually),
          and the handling of the Read-Message-Folder.
          If this feature is set the "close" sequence handling will take
          place every time you leave the INBOX. The INBOX will still be
          kept open, but the offer to Expunge and the archiving to the
          Read-Message-Folder will take place each time you leave the
          INBOX instead of only once at the end of the session.
   _offer-expunge-of-stayopen-folders_
          This feature is related to the option Stay-Open-Folders. Stay
          Open folders are treated differently from regular folders in
          several ways. One of the differences is that the normal "close"
          sequence of events is deferred until _Alpine_ is exited, instead
          of happening when you leave the folder to view another folder.
          The "close" sequence normally includes the Expunging of deleted
          messages (either automatically or after a prompt, controlled by
          the features Expunge-Without-Confirm,
          Expunge-Without-Confirm-Everywhere, and Expunge-Only-Manually),
          and the handling of Incoming-Archive-Folders.
          If this feature is set the "close" sequence handling will take
          place when you leave the Stay Open folder. The folder will still
          be kept open, but the offer to Expunge and the archiving will
          take place each time you leave the folder instead of only once
          at the end of the session. This feature does not affect the
          INBOX, which will still only be processed when you exit
          _Alpine_.
   _pass-c1-control-characters-as-is_
          It is probably not useful to set this option. This is a legacy
          option left behind "just in case". Multi-byte characters which
          have an octet which has the same value as a control character
          are permitted through whether or not this option is turned on.
          If the feature pass-control-characters-as-is is set, then this
          feature has no effect. However, if you wish to filter out
          regular control characters but pass the so-called C1 control
          characters (0x80 <= char < 0xA0) through unchanged, then you may
          leave pass-control-characters-as-is unset and set this feature.
   _pass-control-characters-as-is_
          It is probably not useful to set this option. This is a legacy
          option left behind "just in case". Multi-byte characters which
          have an octet which has the same value as a control character
          are permitted through whether or not this option is turned on.
          If set, all characters in a message will be sent to the screen.
          Normally, control characters are automatically suppressed in
          order to avoid inadvertently changing terminal setup parameters.
          Control characters are usually displayed as two character
          sequences like

                                     ^C
          for Control-C,

                                     ^[
          for ESCAPE,

                                     ^?
          for DELETE, and

                                     ~E
          for the character with value 133 (0x85). (The DEL character is
          displayed as ^?, regular control characters are displayed as the
          character ^ followed by the character obtained by adding the
          five low-order bits of the character to 0x40, and the C1 control
          characters 0x80 - 0x9F are displayed as the character ~ followed
          by the character obtained by adding the five low-order bits of
          the character to 0x40.) Sometimes, in cases where changing a
          single control character into a two-character sequence would
          confuse _Alpine_'s display routines, a question mark is
          substituted for the control character.
          If you wish to filter out regular control characters but pass
          the so-called C1 control characters (0x80 <= char < 0xA0)
          through unchanged, then you may leave this feature unset and set
          the feature pass-c1-control-characters-as-is instead.
   _predict-nntp-server_
          This feature allows _Alpine_ to assume that the open NNTP server
          at the time of composition is the NNTP server to which the
          message should be posted. This is especially recommended when
          there are multiple News collections. If this feature is not set,
          _Alpine_ will try to post to the first server in the nntp-server
          variable. Setting this feature also negates the need to add News
          collection servers to the nntp-server variable.
          This feature can be especially handy when used in conjunction
          with enable-multiple-newsrcs.
          This option is displayed as "NNTP Server (for news)".
   _prefer-plain-text_
          A message being viewed may contain alternate versions of the
          same content. Those alternate versions are ordered by the
          sending software such that the first alternative is the least
          preferred and the last alternative is the most preferred.
          _Alpine_ will normally display the most-preferred version that it
          knows how to display. This is most often encountered where the
          two alternate versions are a plain text version and an HTML
          version, with the HTML version listed last as the most
          preferred.
          If this option is set, then any plain text version will be
          preferred to all other versions.
   _preopen-stayopen-folders_
          This feature is related to the option Stay-Open-Folders.
          Normally, Stay Open folders are only opened on demand, when the
          user asks to open them. From then on they are kept open for the
          duration of the session. However, if this feature is set, then
          the Stay Open folders will all be opened at startup, at the same
          time that the INBOX is opened.
   _preserve-start-stop-characters_
          This feature controls how special control key characters,
          typically _^S_ and _^Q_, are interpreted when input to _Alpine_.
          These characters are known as the "start" and "stop" characters
          and are sometimes used in communications paths to control data
          flow between devices that operate at different speeds.
          By default, _Alpine_ turns the system's handling of these
          special characters off except during printing. However, if you
          see _Alpine_ reporting input errors such as:

     [ Command "^Q" not defined for this screen. ]
          and, at the same time, see your display become garbled, then it
          is likely that setting this option will solve the problem. Be
          aware, though, that enabling this feature will also cause
          _Alpine_ to ostensibly "hang" whenever the _Ctrl-S_ key
          combination is entered as the system is now interpreting such
          input as a "stop output" command. To "start output" again,
          simply type _Ctrl-Q_.
          This feature is displayed as "Preserve Start/Stop Characters".
   _print-formfeed-between-messages_
          Setting this feature causes a formfeed to be printed between
          messages when printing multiple messages with the _Apply Print_
          command.
   _print-includes-from-line_
          If this feature is set, then the Unix mail style From line is
          included at the start of each message that is printed. This line
          looks something like the following, with the address replaced by
          the address from the From line of the message being printed:

     From user@domain.somewhere.com Mon May 13 14:11:06 1996
   _print-index-enabled_
          This feature controls the behavior of the _Print_ command when
          in the "Folder Index" screen. If set, the _Print_ command will
          give you a prompt asking if you wish to print the message index,
          or the currently highlighted message. If not set, the message
          will be printed.
   _print-offers-custom-cmd-prompt_
          When this feature is set, the _Print_ command will have an
          additional subcommand called _C CustomPrint_. If selected, you
          will have the opportunity to enter any system print command,
          instead of being restricted to using those that have been
          previously configured in the _Setup/Printer_ screen.
          This feature is displayed as "Print Offers Custom Command
          Prompt".
   _prune-uses-yyyy-mm_
          By default, _Alpine_ asks monthly whether or not you would like
          to rename some folders to a new name containing the date. It
          also asks whether or not you would like to delete some old
          folders. See the pruning-rule option for an explanation.
          By default, the name used when renaming a folder looks like

                         <foldername>-<month>-<year>
          For example, the first time you run _Alpine_ in May of 2004, the
          folder "sent-mail" might be renamed to

                             sent-mail-apr-2004
          If this feature is set, the name used will be of the form

                          <foldername>-<yyyy>-<mm>
          where "yyyy" is the year and "mm" is the two-digit month (01,
          02, ..., 12). For the April, 2004 example above, it would
          instead be

                              sent-mail-2004-04
          because April is the 4th month of the year. A reason you might
          want to set this feature is so that the folders will sort in
          chronological order.
   _publiccerts-in-keychain_
          Mac OS X _Alpine_ only.
          If this feature is set the Mac OS X default keychain will be
          used as the place to store public certificates instead of a
          smime-public-cert-directory or a smime-public-cert-container.
          This feature is displayed as "S/MIME -- Public Certs in MacOS
          Keychain".
   _quell-attachment-extension-warn_
          This feature suppresses the extra warning you can get when
          trying to view an attachment for which there is no mime-type
          match. Turning on this feature will just run the program
          according to extension instead of first warning the user that it
          will run according to the file's extension.
          This feature can be used along side
          quell-attachment-extra-prompt to preserve the behavior exhibited
          in _Pine_ versions prior to _Pine_ 4.50.
          This feature is displayed as "Suppress Attachment Extension
          Warning".
   _quell-attachment-extra-prompt_
          By default, when you attempt to view an attachment externally
          from the "Attachment View" screen, you are asked if you really
          want to view the selected attachment.
          If this feature is set, you will _not_ be prompted to confirm
          your selection. Prior to _Pine_ 4.50, the default behavior was
          to not prompt. This feature was added for those wanting to
          preserve that behavior.
          This feature is displayed as "Suppress Attachment Extra Prompt".
   _quell-berkeley-format-timezone_
          POSIX mandates a timezone in UNIX mailbox format folder
          delimiters (the line which begins with From ). Some versions of
          Berkeley mail have trouble with this, and don't recognize the
          line as a message delimiter. If this feature is set, the
          timezone will be left off the delimiter line.
          This feature is displayed as "Suppress Berkeley Format
          Timezone".
   _quell-charset-warning_
          By default, if the message you are viewing contains characters
          that are not representable in your display-character-set then
          _Alpine_ will add a warning to the start of the displayed text.
          If this option is set, then that editorial message will be
          suppressed.
          Setting this feature also suppresses the comment about the
          character set in header lines. For example, when viewing a
          message you might see

                     From: "[ISO-8859-2] Name" <address>
          in the From header if your Character-Set is something other than
          ISO-8859-2. If you set this feature, the comment about the
          character set will no longer be there.
          This feature is displayed as "Suppress Character Set Warning".
   _quell-content-id_
          This feature changes the behavior of _Alpine_ when sending
          messages. It is intended to work around a bug in Microsoft's
          Outlook XP mail user agent. As of this writing, Microsoft has
          acknowledged the bug but has not added it to the Knowledge Base.
          We have been told that there will be a post-SP1 hotfix for
          Outlook XP. This particular bug has bug fix number
          OfficeQFE:4781. The nature of the bug is that messages with
          attachments which contain a Content-ID header (which standard
          _Alpine_ attachments do) do not show the attachment indicator (a
          paperclip) when viewed with Outlook XP. So the user has no
          indication that the message contains an attachment.
          If this feature is set then _Alpine_ will remove most Content-ID
          headers before sending a message. If an attachment is of type
          MESSAGE, then the existing Content-ID headers inside the message
          will be left intact. This would only happen with _Alpine_ if a
          message was forwarded as an attachment or if a message with a
          message attached was forwarded. Similarly if an attachment of
          type MULTIPART/ALTERNATIVE is forwarded, the Content-ID headers
          of the alternative parts will not be removed.
          Because the Content-ID header is a standard part of MIME it is
          possible that setting this feature will break something. For
          example, if an attachment has a Content-ID header which is
          necessary for the correct functioning of that attachment, it is
          possible that _Alpine_ may remove that header when the
          attachment is forwarded. However, it seems fairly safe at this
          time.
          This feature is displayed as "Suppress Content-ID".
   _quell-dead-letter-on-cancel_
          This feature affects _Alpine_'s behavior when you cancel a
          message being composed. _Alpine_'s usual behavior is to write
          the canceled message to a file named dead.letter in your home
          directory (under UNIX; DEADLETR under WINDOWS/DOS) overwriting
          any previous message. Under some conditions (some routine), this
          can introduce a noticeable delay.
          Setting this feature will cause _Alpine_ NOT to write canceled
          compositions into the file called dead.letter.
          This feature affects the newer option Dead-Letter-Files, which
          specifies the number of dead letter files to keep around. If
          this feature is set, then the Dead-Letter-Files option has no
          effect.
          This feature is displayed as "Do Not Save to Deadletter on
          Cancel".
   _quell-empty-directories_
          This feature causes _Alpine_ to remove from the display any
          directories that do not contain at least one file or directory.
          This can be useful to prevent overly cluttered folder lists when
          a collection is stored on a server that treats all names as both
          a folder and a directory.
          Note, enabling this feature can cause surprising behavior! For
          example, you can still use Add to create a directory, but unless
          you immediately enter that directory and create a folder, that
          newly created directory may not be displayed next time you enter
          the folder list.
          This feature is displayed as "Hide Empty Directories".
   _quell-extra-post-prompt_
          This feature causes _Alpine_ to skip the extra question about
          posting a message which may go to thousands of readers when you
          are about to post to a newsgroup.
          This feature is displayed as "Suppress Extra Posting Prompt".
   _quell-filtering-done-message_
          This feature causes _Alpine_ to suppress the "filtering done"
          message.
          This feature is displayed as "Suppress Filtering Done Message".
   _quell-filtering-messages_
          This feature causes _Alpine_ to suppress the messages about
          moving filtered messages and setting flags in messages, due to
          Filter Rules.
          This feature is displayed as "Suppress Filtering Messages".
   _quell-flowed-text_
          _Alpine_ generates flowed text where possible. The method for
          generating flowed text is defined by RFC 3676, the benefit of
          doing so is to send message text that can properly be viewed
          both on normal width displays and on displays with smaller or
          larger than normal screen widths. With flowed text, a space at
          the end of a line tells the receiving mail client that the
          following line belongs to the same paragraph. Quoted text will
          also be affected, with only the innermost level of ">" quoting
          being followed by a space. However, if you have changed the
          "Reply-Indent-String" so that it is not equal to the default
          value of "> ", then quoted text will not be flowed. For this
          reason, we recommend that you leave your "Reply-Indent-String"
          set to the default.
          This feature turns off the generation of flowed text, as it
          might be desired to more tightly control how a message is
          displayed on the receiving end.
          If this feature is _not_ set, you can control on a message by
          message basis whether or not flowed text is generated. You do
          this by typing ^V at the Send confirmation prompt that you get
          after typing ^X to send a message. ^V is a toggle which turns
          flowing off and back on if typed again. If for some reason
          flowing cannot be done on a particular message, then the ^V
          command will not be available. This would be the case, for
          example, if this feature was set, or if your
          "Reply-Indent-String" was set to a non-default value. If the
          feature Send-Without-Confirm is set, then the opportunity to
          control on a message by message basis whether or not flowed text
          is generated is lost.
          When this feature is not set and you have typed ^V to turn off
          flowing, the Send confirmation prompt will change to look like

                         Send message (not flowed)?
          Strip-Whitespace-Before-Send will also turn off the sending of
          flowed text messages, but it differs in that it also trims all
          trailing white space from a message before sending it.
          If alternate editors are used extensively, be aware that a
          message will still be sent flowed if this feature is unset. In
          most cases this will be fine, but if the editor has a "flowed
          text" mode, it would be best to use that.
          This feature is displayed as "Do Not Send Flowed Text".
   _quell-folder-internal-msg_
          This feature determines whether or not _Alpine_ will create
          "pseudo messages" in folders that are in standard Unix or MMDF
          format.
          _Alpine_ will normally create these pseudo messages when they
          are not already present in a standard Unix or MMDF folder. Their
          purpose is to record certain mailbox state data needed for
          correct IMAP and POP server operation, and also for _Alpine_ to
          be able to mark messages as Answered when the Reply has been
          postponed.
          Sites which do not use IMAP/POP for remote mail access, and
          which need to support mail tools that are adversely affected by
          the presence of the pseudo-messages (e.g. some mail notification
          tools) may enable this feature to tell _Alpine_ not to create
          them. Note that _Alpine_'s "Answered" flag capability will be
          adversely affected if this is done.
          Note too that, even if this feature is enabled, _Alpine_ will
          not remove pseudo-messages when it encounters them (e.g. those
          created by UW's imapd or ipopd servers.) This feature has no
          effect on folders that are not in standard Unix or MMDF format,
          as pseudo-messages are not needed in the other formats to record
          mailbox state information.
          This feature is displayed as "Prevent Folder Internal Message".
   _quell-full-header-auto-reset_
          The HdrMode Command normally resets to the default state when
          switching to a new message. For example, if you've used the "H"
          command to turn on Full Headers for a message you are viewing,
          and then you type the Next command to look at the next message,
          the full headers will no longer be shown. Setting this feature
          disables that reset. Instead, the Header Mode remains the same
          from message to message.
          The presence or absence of the HdrMode command is determined by
          the "Enable-Full-Header-Cmd" Feature-List option.
          This feature is displayed as "Suppress Full Header Auto Reset".
   _quell-imap-envelope-update_
          In the MESSAGE INDEX screen, if the open folder is being
          accessed using IMAP, _Alpine_ normally tries to paint the index
          lines on the screen as soon as the information arrives from the
          IMAP server. This means that the index information makes it onto
          the screen more quickly than it otherwise would. This sometimes
          results in behavior that bothers some users. For example, when
          paging to a new page of the index, it may be possible for the
          lines to be painted on the screen in a random order, rather than
          from top to bottom.
          Setting this feature causes _Alpine_ to wait for all of the
          information to be gathered before it paints the index screen.
          Once it collects all of the information, the screen will be
          painted quickly from top to bottom.
          This feature is displayed as "Suppress IMAP Envelope Update".
   _quell-lock-failure-warnings_
          This feature affects _Alpine_'s behavior when it encounters a
          problem acquiring a mail folder lock. Typically, a secondary
          file associated with the mail folder being opened is created as
          part of the locking process. On some systems, such file creation
          has been administratively precluded by the system configuration.
          _Alpine_ issues a warning when such failures occur, which can
          become bothersome if the system is configured to disallow such
          actions. Setting this feature causes _Alpine_ to remain silent
          when this part of lock creation fails.
          WARNING: systems that have been configured in a way that
          precludes locking introduce some risk of mail folder corruption
          when more than one program attempts to modify the mail folder.
          This is most likely to occur to one's _INBOX_ or other "Incoming
          Message Folder".
          This feature is displayed as "Suppress Lock Failure Warnings".
   _Quell-Mailchecks-Composing-Except-Inbox_
          This option is closely related to the Mail-Check-Interval
          option, the Mail-Check-Interval-Noncurrent option, and
          Quell-Mailchecks-Composing-Inbox.
          If this option is set, then the normal new-mail checking which
          happens while you are composing will not happen for folders
          other than your INBOX (which depends on the setting of
          "Quell-Mailchecks-Composing-Inbox").
          You might want to set this option if you are experiencing delays
          while composing which you think might be related to the speed of
          the new-mail checks.
          Even with this option turned on, an occasional new-mail check
          may be done in order to keep the server from killing the
          connection to the folder. For example, IMAP servers may remove a
          connection to a folder if there has been no activity on the
          connection for 30 minutes or more. Instead of letting that
          happen, _Alpine_ will check for new mail before the 30 minutes
          is up even though you have turned on this feature to quell those
          checks.
          Besides new-mail checks, checkpoint operations on the folders
          will also be quelled when you set this option. The purpose of
          checkpointing is to write the changes to a folder out to disk
          periodically in order to avoid losing those changes when system
          or software problems occur. New-mail checking and checkpointing
          while you are not composing are not affected by this option.
          This feature is displayed as "Prevent Mailchecks While Composing
          Except for INBOX".
   _Quell-Mailchecks-Composing-Inbox_
          This option is closely related to the Mail-Check-Interval
          option, the Mail-Check-Interval-Noncurrent option, and
          Quell-Mailchecks-Composing-Except-Inbox.
          If this option is set, then the normal new-mail checking which
          happens while you are composing will not happen for your INBOX.
          Checking of other folders is controlled in a similar way with
          the "Quell-Mailchecks-Composing-Except-Inbox" option.
          You might want to set this option if you are experiencing delays
          while composing which you think might be related to the speed of
          the new-mail checks.
          Even with this option turned on, an occasional new-mail check
          may be done in order to keep the server from killing the
          connection to the folder. For example, IMAP servers may remove a
          connection to a folder if there has been no activity on the
          connection for 30 minutes or more. Instead of letting that
          happen, _Alpine_ will check for new mail before the 30 minutes
          is up even though you have turned on this feature to quell those
          checks.
          Besides new-mail checks, checkpoint operations on the INBOX will
          also be quelled when you set this option. The purpose of
          checkpointing is to write the changes to a folder out to disk
          periodically in order to avoid losing those changes when system
          or software problems occur. New-mail checking and checkpointing
          while you are not composing are not affected by this option.
          This feature is displayed as "Prevent Mailchecks While Composing
          for INBOX".
   _quell-maildomain-warning_
          When your configuration is set up so that your domain name
          contains no dots, it is usually a configuration error. By
          default, _Alpine_ will warn you about this when you start it up.
          You will see a warning message that looks like

                      Incomplete maildomain "<domain>".
          If this feature is set, the warning is turned off. This feature
          is displayed as "Suppress Maildomain Warning".
   _quell-news-envelope-update_
          In the MESSAGE INDEX screen, if the open folder is being
          accessed using NNTP (News), _Alpine_ normally tries to paint the
          index lines on the screen as soon as the information arrives
          from the NNTP server. This means that the index information
          makes it onto the screen more quickly than it otherwise would.
          This sometimes results in behavior that bothers some users. For
          example, when paging to a new page of the index, it may be
          possible for the lines to be painted on the screen in a random
          order, rather than from top to bottom.
          Setting this feature causes _Alpine_ to wait for all of the
          information to be gathered before it paints the index screen.
          Once it collects all of the information, the screen will be
          painted quickly from top to bottom.
          This feature is displayed as "Suppress News Envelope Update".
   _quell-partial-fetching_
          Partial fetching is a feature of the IMAP protocol. By default,
          _Alpine_ will use partial fetching when copying the contents of a
          message or attachment from the IMAP server to _Alpine_. This
          means that the fetch will be done in many small chunks instead
          of one big chunk. The main benefit of this approach is that the
          fetch becomes interruptible. That is, the user can type _^C_ to
          stop the fetch early. In some cases partial fetching may cause a
          performance problem so that the fetching of data takes
          significantly longer when partial fetching is used. Turning on
          this feature will turn off partial fetching.
          This feature is displayed as "Prevent Partial Fetching".
   _quell-personal-name-prompt_
          _PC-Alpine_ only. This feature quells the prompting for a
          personal-name. This prompt normally happens before composing a
          message, and only happens when there is no personal name already
          set.
   _quell-server-after-link-in-html_
          By default, links in HTML text are displayed with the host the
          link references appended, within square brackets, to the link
          text. _Alpine_ does this to help indicate where a link will take
          you, particularly when the link text might suggest a different
          destination.
          Setting this feature will prevent the server name from being
          appended to the displayed text.
          This feature is displayed as "Suppress Server After Link in
          HTML".
   _quell-ssl-largeblocks_
          This feature (_PC-Alpine_ only) changes the behavior of fetching
          messages and attachments so that the message data is fetched in
          chunks no larger than 12K bytes. This works around a bug in
          Microsoft's SSL/TLS support. Some versions of Microsoft SSL are
          not able to read full-sized (16K) SSL/TLS packets. Some servers
          will send such packets and this will cause _PC-Alpine_ to crash
          with the error

              incomplete SecBuffer exceeds maximum buffer size
          Microsoft is aware of the problem and has developed a hotfix for
          it, but as of this writing the hotfix has not yet been added to
          the Knowledge Base.
          This feature is displayed as "Prevent SSL Largeblocks".
   _quell-status-message-beeping_
          If set status messages will never emit a beep.
          This feature is displayed as "Suppress Status Message Beeping".
   _quell-timezone-comment-when-sending_
          Normally, when _Alpine_ generates a Date header for outgoing
          mail, it will try to include the symbolic timezone at the end of
          the header inside parentheses. The symbolic timezone is often
          three characters long, but on some operating systems, it may be
          longer. Apparently there are some SMTP servers in the world
          which will reject an incoming message if it has a Date header
          longer than about 80 characters. If this feature is set, the
          symbolic timezone normally generated by _Alpine_ will not be
          included. You probably don't need to worry about this feature
          unless you run into the problem described above.
          This feature is displayed as "Suppress Timezone Comment When
          Sending".
   _quell-user-id-prompt_
          _PC-Alpine_ only. This feature quells the prompting for a
          user-id if the information can be obtained from the login name
          used to open the INBOX. Normally, this prompt happens before
          composing a message, and only happens when there is no user-id
          already set in the configuration.
          With this feature set, composing a message is only possible
          after establishing a connection to the INBOX.
   _quell-user-lookup-in-passwd-file_
          This feature controls an aspect of _Alpine_'s Composer, and if
          needed, will usually be set by the system manager in _Alpine_'s
          system-wide configuration file. Specifically, if this feature is
          set, _Alpine_ will not attempt to look in the system password
          file to find a Full Name for the entered address.
          Normally, names you enter into address fields (e.g. To: or Cc:)
          are checked against your address book(s) to see if they match an
          address book nickname. Failing that, (in Unix _Alpine_) the name
          is then checked against the Unix password file. If the entered
          name matches a username in the system password file, _Alpine_
          extracts the corresponding Full Name information for that
          individual, and adds that to the address being entered.
          However, password file matching can have surprising (incorrect)
          results if other users of the system do not receive mail at the
          domain you are using. That is, if either the user-domain or
          use-only-domain-name option is set such that the administrative
          domain of other users on the system isn't accurately reflected,
          _Alpine_ should be told that a password file match is
          coincidental, and Full Name info will be incorrect. For example,
          a personal name from the password file could get falsely paired
          with the entered name as it is turned into an address in the
          configured domain.
          If you are seeing this behavior, enabling this feature will
          prevent Unix _Alpine_ from looking up names in the password file
          to find the Full Name for incomplete addresses you enter.
          This feature is displayed as "Prevent User Lookup in Password
          File".
   _quit-without-confirm_
          This feature controls whether or not _Alpine_ will ask for
          confirmation when a _Quit_ command is received.
          This feature is displayed as "Quit Without Confirming".
   _quote-replace-nonflowed_
          This feature, which is only active when Quote-Replace-String is
          also set, enables quote-replacement on non-flowed messages. It
          is off by default because a non-flowed message is more dependent
          on its format, and thus quote-replacement may cause
          less-than-pleasing results. Setting this feature will cause
          quote-replacement similar to that of flowed messages, but with
          the added possibility of long lines being wrapped into new lines
          if the Quote-Replacement-String is longer than the string it is
          replacing, which is "> ".
   _reply-always-uses-reply-to_
          If set, _Alpine_ will not prompt when a message being replied to
          contains a _Reply-To:_ header value, but will simply use its
          value (as opposed to using the _From:_ field's value).
   _return-to-inbox-without-confirm_
          Normally, when you use the TAB command and there are no more
          folders or newsgroups to visit, you are asked if you want to
          return to the INBOX. If this feature is set you will not be
          asked. It will be assumed that you do want to return to the
          INBOX.
          This feature is displayed as "Return to INBOX Without
          Confirming".
   _save-aggregates-copy-sequence_
          This feature will optimize an aggregate copy operation, if
          possible, by issuing a single IMAP _COPY_ command with a list of
          the messages to be copied. This feature is set by default. This
          may reduce network traffic and elapsed time for the Save.
          _However, many IMAP servers (including the UW IMAP server) do not
          preserve the order of messages when this optimization is
          applied._ If this feature is not set, _Alpine_ will copy each
          message individually and the order of the messages will be
          preserved.
          This feature is displayed as "Save Combines Copies (may be out
          of order)".
   _save-partial-msg-without-confirm_
          This feature controls an aspect of _Alpine_'s Save command. By
          default, when you Save a message that has some deleted parts,
          you will be asked to confirm that you want to Save with a prompt
          that looks like:

            Saved copy will NOT include entire message! Continue?
          If this feature is set, you will not be asked.
          This feature is displayed as "Save Partial Message Without
          Confirming".
   _save-will-advance_
          If set, _Save_ will (in addition to copying the current message
          to the designated folder) also advance to the next message.
   _save-will-not-delete_
          If set, _Save_ will not mark the message Deleted (its default
          behavior) after it has been copied to the designated folder.
   _save-will-quote-leading-froms_
          This feature controls an aspect of the _Save_ command (and also
          the way outgoing messages are saved to an FCC folder). If set,
          _Alpine_ will add a leading > character in front of message lines
          beginning with "From" when they are saved to another folder,
          including lines syntactically distinguishable from the type of
          message separator line commonly used on Unix systems.
          The default behavior is that a > will be prepended only to lines
          beginning with "From " that might otherwise be confused with a
          message separator line on Unix systems. If _Alpine_ is the only
          mail program you use, this default is reasonable. If another
          program you use has trouble displaying a message with an
          unquoted From saved by _Alpine_, you should enable this feature.
          This feature only applies to the common Unix mailbox format that
          uses message separator lines beginning with "From ". If _Alpine_
          has been configured to use a different mailbox format (possibly
          incompatible with other mail programs), then this issue does not
          arise, and the feature is irrelevant.
   _scramble-message-id_
          Normally the Message-ID header that _Alpine_ generates when
          sending a message contains the name of the computer from which
          the message is being sent. Some believe that this hostname could
          be used by spammers or could be used by others for nefarious
          purposes. If this feature is set, that name will be transformed
          with a simple Rot13 transformation. The result will still have
          the correct syntax for a Message-ID but the part of the
          MessageID that is often a domain name will not be an actual
          domain name because the letters will be scrambled.
          It is possible (but unlikely?) that some spam detection software
          will use that as a reason to reject the mail as spam. It has
          also been reported that some spam detection software uses the
          fact that there are no dots after the "@" as a reason to reject
          messages. If your _PC-Alpine_ Message-ID is using a name without
          a dot that is because that is what Windows thinks is your "Full
          computer name". The method used to set this varies from one type
          of Windows to another but check under Settings -> Control Panel
          -> System and look for Network Identification or Computer Name
          or something similar. How to set it is beyond the scope of
          _Alpine_.
          This feature is displayed as "Scramble the Message-ID When
          Sending".
   _select-without-confirm_
          This feature controls an aspect of _Alpine_'s _Save_, _Export_,
          and _Goto_ commands. These commands all take text input to
          specify the name of the folder or file to be used, but allow you
          to press _^T_ for a list of possible names. If set, the selected
          name will be used immediately, without further opportunity to
          confirm or edit the name.
          This feature is displayed as "Select Ctrl-T Foldername Without
          Confirming".
   _send-without-confirm_
          By default, when you send or post a message you will be asked to
          confirm with a question that looks something like:

                                Send message?
          If this feature is set, you will _not_ be prompted to confirm
          your intent to send and your message will be sent.
          If this feature is set it disables some possibilities and
          renders some other features meaningless. You will not be able to
          use Sending Filters, Verbose sending mode, Background Sending,
          Delivery Status Notifications, or ^V to turn off the generation
          of flowed text for this message. These options are normally
          available as suboptions in the Send prompt, but with no Send
          prompt the options are gone.
          A somewhat related feature is quell-extra-post-prompt. which may
          be used to eliminate the extra confirmation question when
          posting to a newsgroup.
          This feature is displayed as "Send Without Confirming".
   _separate-folder-and-directory-display_
          This feature affects folder collections wherein a folder and
          directory can have the same name. By default, _Alpine_ displays
          them only once, denoting that it is both a folder and directory
          by appending the folder name with the hierarchy character
          enclosed in square brackets.
          Enabling this feature will cause _Alpine_ to display such names
          separately marking the name representing a directory with a
          trailing hierarchy delimiter (typically the slash, "/",
          character).
          The feature also alters the command set slightly. By default,
          the right-arrow descends into the directory, while hitting the
          Return key will cause the folder by that name to be opened.
          With this feature set, the Return key will open the highlighted
          folder, or enter the highlighted directory.
   _show-cursor_
          If set, the system cursor will move to convenient locations in
          the displays. For example, to the beginning of the status field
          of the highlighted index line, or to the highlighted word after
          a successful _WhereIs_ command. It is intended to draw your
          attention to the _interesting_ spot on the screen.
   _show-plain-text-internally_
          This feature modifies the method _Alpine_ uses to display
          Text/Plain MIME attachments from the Attachment Index screen.
          Normally, the "View" command searches for any externally defined
          (usually via the Mailcap file) viewer, and displays the selected
          text within that viewer.
          Enabling this feature causes _Alpine_ to ignore any external
          viewer settings and always display text with _Alpine_'s internal
          viewer.
   _show-selected-in-boldface_
          This feature controls an aspect of _Alpine_'s aggregate
          operation commands; in particular, the _Select_ and _WhereIs_
          commands. _Select_ and _WhereIs_ (with the _^X_ subcommand) will
          search the current folder for messages meeting a specified
          criteria, and _tag_ the resulting messages with an _X_ in the
          first column of the applicable lines in the "Folder Index". If
          this feature is set, instead of using the _X_ to denote a
          selected message, _Alpine_ will attempt to display those index
          lines in boldface. Whether this is preferable to the _X_ will
          depend on personal taste and the type of terminal being used.
   _show-sort_
          If this feature is set and there is sufficient space on the
          screen, a short indication of the current sort order will be
          added in the titlebar (the top line on the screen), before the
          name of the folder. For example, with the default Arrival sort
          in effect, the display would have the characters

                                     [A]
          added between the title of the screen and the folder name. The
          letters are the same as the letters you may type to manually
          sort a folder with the SortIndex command ($). The letters in the
          table below are the ones that may show up in the titlebar line.

          A _A_rrival
          S _S_ubject
          F _F_rom
          T _T_o
          C _C_c
          D _D_ate
          Z si_Z_e
          O _O_rderedsubject
          E scor_E_
          H t_H_read
          If the sort order is Reversed, the letter above will be preceded
          by the letter "R", for example

                                    [RS]
          means that a Reverse Subject sort is in effect. For the case
          where the sort is in Reverse Arrival order, the "A" is left out,
          and just an "R" is shown.

                                     [R]
          This feature is displayed as "Show Sort in Titlebar".
   _signature-at-bottom_
          If this feature is set, and a message being _Repl_ied to is
          being included in the reply, then the contents of the signature
          file (if any) will be inserted after the included message. This
          feature does not affect the results of a _Forward_ command.
   _single-column-folder-list_
          If set, the "Folder List" screen will list one folder per line
          instead of several per line.
   _slash-collapses-entire-thread_
          Normally, the Collapse/Expand Thread command Collapses or
          Expands the subthread which starts at the currently highlighted
          message, if any. If this feature is set, then the slash command
          Collapses or Expands the _entire_ current thread instead of just
          the subthread.
   _smime-dont-do-smime_
          UNIX _Alpine_ only.
          Setting this feature turns off all of _Alpine_'s S/MIME support.
          You might want to set this if you are having trouble due to the
          S/MIME support.
          + General S/MIME Overview
          This feature is displayed as "S/MIME -- Turn off S/MIME".
   _smime-encrypt-by-default_
          UNIX _Alpine_ only.
          This feature only has an effect if your version of _Alpine_
          includes support for S/MIME. It affects _Alpine_'s behavior when
          you send a message. If this option is set, the "Encrypt" option
          will default to ON when sending messages.
          Only the default value is affected. In any case, you may still
          toggle the Encrypt option on or off before sending with the "E
          Encrypt" command (provided you have a the public digital ID for
          the recipient).
          + General S/MIME Overview
          This feature is displayed as "S/MIME -- Encrypt by Default".
   _smime-remember-passphrase_
          UNIX _Alpine_ only.
          This feature only has an effect if your version of _Alpine_
          includes support for S/MIME. If this option is set, you will
          only have to enter your passphrase for your private key once
          during an _Alpine_ session.
          + General S/MIME Overview
          This feature is displayed as "S/MIME -- Remember S/MIME
          Passphrase".
   _smime-sign-by-default_
          UNIX _Alpine_ only.
          This feature only has an effect if your version of _Alpine_
          includes support for S/MIME. It affects _Alpine_'s behavior when
          you send a message. If this option is set, the "Sign" option
          will default to ON when sending messages.
          Only the default value is affected. In any case, you may still
          toggle the Signing option on or off before sending with the "G
          Sign" command (provided you have a personal digital ID
          certificate).
          + General S/MIME Overview
          This feature is displayed as "S/MIME -- Sign by Default".
   _sort-default-fcc-alpha_
          This feature controls an aspect of _Alpine_'s FOLDER LIST
          screen. If set, the default FCC folder will be sorted
          alphabetically with the other folders instead of appearing right
          after the INBOX.
          This feature is displayed as "Sort Default Fcc Folder
          Alphabetically".
   _sort-default-save-alpha_
          This feature controls an aspect of _Alpine_'s FOLDER LIST
          screen. If set, the default save folder will be sorted
          alphabetically with the other folders instead of appearing right
          after the INBOX (and default FCC folder).
          This feature is displayed as "Sort Default Save Folder
          Alphabetically".
   _spell-check-before-sending_
          When this feature is set, every composed message will be
          spell-checked before being sent.
   _store-window-position-in-config_
          Normally, _PC-Alpine_ will store its window size and position in
          the Windows Registry. This is convenient if you want to use the
          same remote configuration from more than one PC. If you use
          multiple configuration files to start _PC-Alpine_, you may want
          to store the window size and position in the configuration file
          instead of in the Registry. Setting this feature causes that to
          happen.
   _strip-from-sigdashes-on-reply_
          This feature doesn't do anything if the feature enable-sigdashes
          is turned on. However, if the _enable-sigdashes_ feature is not
          turned on, then turning on this feature enables support for the
          convention of not including text beyond the sigdashes line when
          Replying or Following up to a message and including the text of
          that message.
          In other words, this is a way to turn on the signature stripping
          behavior without also turning on the dashes-adding behavior.
   _strip-whitespace-before=send_
          Trailing whitespace is not stripped from a message before
          sending. Trailing whitespace should have no effect on an email
          message, and in flowed text can aid in delimiting paragraphs.
          However, the old behavior of stripping trailing whitespace was
          in place to better deal with older clients that couldn't handle
          certain types of text encodings. This feature restores the old
          behavior
          Trailing whitespace is of aid to flowed-text-formatted messages,
          which are generated by default but can be turned off via the
          quell-flowed-text feature. strip-whitespace-before-send also has
          the effect of turning off sending of flowed text.
          This feature is displayed as "Strip Whitespace Before Sending".
   _suppress-asterisks-in-password-prompt_
          When you are running _Alpine_ you will sometimes be asked for a
          password in a prompt on the third line from the bottom of the
          screen. Normally each password character you type will cause an
          asterisk to echo on the screen. That gives you some feedback to
          know that your typing is being recognized. There is a very
          slight security risk in doing it this way because someone
          watching over your shoulder might be able to see how many
          characters there are in your password. If you'd like to suppress
          the echoing of the asterisks set this feature.
   _suppress-user-agent-when-sending_
          If this feature is set then _Alpine_ will not generate a
          User-Agent header in outgoing messages.
   _tab-checks-recent_
          In a FOLDER LIST screen, the TAB key usually just changes which
          folder is highlighted. If this feature is set, then the TAB key
          will cause the number of recent messages and the total number of
          messages in the highlighted folder to be displayed instead.
          This feature is displayed as "Tab Checks for Recent Messages".
   _tab-uses-unseen-for-next-folder_
          This feature affects _Alpine_'s behavior when using the TAB
          NextNew Command to move from one folder to the next. _Alpine_'s
          usual behavior is to search for folders with _Recent_ messages
          in them. Recent messages are messages which have arrived since
          the last time the folder was opened.
          Setting this feature causes _Alpine_ to search for _Unseen_
          messages instead of Recent messages. Unseen messages remain
          Unseen until you view them (or flag then as Seen with the Flag
          Command). Setting this feature allows you to locate messages you
          have not read instead of only recently received messages. When
          this feature is set, the feature Enable-Fast-Recent-Test will
          have no effect, so the checking may be slower.
          Another reason why you might want to use this feature is that
          _Alpine_ sometimes opens folders implicitly behind the scenes,
          and this clears the Recent status of all messages in the folder.
          One example where this happens is when Saving or filtering a
          message to another folder. If that message has some keywords
          set, then because of some shortcomings in the IMAP
          specification, the best way to ensure that those keywords are
          still set in the saved copy of the message is to open the folder
          and set the keywords explicitly. Because this clears the Recent
          status of all messages in that folder the folder will not be
          found by the NextNew command unless this feature is set.
   _tab-visits-next-new-message-only_
          This feature affects _Alpine_'s behavior when using the _TAB_
          key to move from one message to the next. _Alpine_'s usual
          behavior is to select the next _Unread_ message or message
          flagged as _Important_.
          Setting this feature causes _Alpine_ to skip the messages
          flagged as _Important_, and select _Unread_ messages
          exclusively. Tab behavior when there are no new messages left to
          select remains unchanged.
   _termdef-takes-precedence_
          This feature may affect _Alpine_'s low-level input routines.
          Termcap (or terminfo, depending on how your copy of _Alpine_ was
          compiled and linked) is the name of the database which describes
          terminal capabilities. In particular, it describes the sequences
          of characters that various keys will emit.
          An example would be the Up Arrow key on the keyboard. Up Arrow
          is not a distinct character on most Unix systems. When you press
          the Up Arrow key a short sequence of characters are produced.
          This sequence is supposed to be described in the termcap
          database by the "ku" capability (or by the "kcuu1" capability if
          you are using terminfo instead of termcap).
          By default, _Alpine_ defines some terminal escape sequences that
          are commonly used. For example, the sequence "ESC O A" is
          recognized as an Up Arrow key. The sequence "ESC [ A" is also
          recognized as an Up Arrow key. These are chosen because common
          terminals like VT100's or ANSI standard terminals produce these
          sequences when you press the Up Arrow key.
          If your system's termcap (terminfo) database assigns some other
          function to the sequence "ESC O A" it is usually ignored by
          _Alpine_. Also, if your termcap (terminfo) database assigns a
          sequence which doesn't begin with an escape character (ESC) it
          is usually ignored by _Alpine_. This usually works fine because
          most terminals emit the escape sequences that _Alpine_ has
          defined by default. We have also found that it is usually better
          to have these defaults take precedence over the definitions
          contained in the database because the defaults are more likely
          to be correct than the database.
          There are some terminals where this breaks down. If you want
          _Alpine_ to believe the definitions given in your termcap
          (terminfo) database in preference to the defaults the _Alpine_
          itself sets up, then you may turn this feature on. Then,
          sequences of characters which are defined in both termcap
          (terminfo) and in _Alpine_'s set of defaults will be interpreted
          the way that termcap (terminfo) says they should be interpreted.
          Also, if your terminal capabilities database assigns a sequence
          which doesn't begin with escape, it will not be ignored.
   _thread-index-shows-important-color_
          This option affects only the THREAD INDEX screen. Whether or not
          you ever see a THREAD INDEX screen depends on the setting of the
          configuration option threading-index-style and on the sort order
          of the index. If a message within a thread is flagged as
          Important and this option is set, then the entire line in the
          THREAD INDEX will be colored the color of the Index-important
          Symbol, which can be set using the Setup Kolor screen.
   _try-alternative-authentication-driver-first_
          This feature affects how _Alpine_ connects to IMAP servers. It's
          utility has largely been overtaken by events, but it may still
          be useful in some circumstances. If you only connect to modern
          IMAP servers that support "TLS" you can ignore this feature.
          Details:
          By default, _Alpine_ will attempt to connect to an IMAP server
          on the normal IMAP service port (143), and if the server offers
          "Transport Layer Security" (TLS) and _Alpine_ has been compiled
          with encryption capability, then a secure (encrypted) session
          will be negotiated.
          With this feature enabled, before connecting on the normal IMAP
          port, _Alpine_ will first attempt to connect to an alternate
          IMAP service port (993) used specifically for encrypted IMAP
          sessions via the Secure Sockets Layer (SSL) method. If the SSL
          attempt fails, _Alpine_ will then try the default behavior
          described in the previous paragraph.
          TLS negotiation on the normal port is preferred, and supersedes
          the use of SSL on port 993, but older servers may not provide
          TLS support. This feature may be convenient when accessing IMAP
          servers that do not support TLS, but do support SSL connections
          on port 993. However, it is important to understand that with
          this feature enabled, _Alpine_ will _attempt_ to make a secure
          connection if that is possible, but it will proceed to make an
          insecure connection if that is the only option offered by the
          server, or if the _Alpine_ in question has been built without
          encryption capability.
          Note that this feature specifies a per-user (or system-wide)
          default behavior, but host/folder specification flags may be
          used to control the behavior of any specific connection. This
          feature interacts with some of the possible host/folder path
          specification flags as follows:
          The /tls host flag, for example,

                         {foo.example.com/tls}INBOX
          will over-ride this feature for the specified host by bypassing
          the SSL connection attempt. Moreover, with /tls specified, the
          connection attempt will fail if the service on port 143 does not
          offer TLS support.
          The /ssl host flag, for example,

                         {foo.example.com/ssl}INBOX
          will insist on an SSL connection for the specified host, and
          will fail if the SSL service on port 993 is not available.
          _Alpine_ will not subsequently retry a connection on port 143 if
          /ssl is specified.
   _unselect-will-not-advance_
          Normally, when the Unselect current message command (:) is typed
          when the current message is selected, the message will be
          unselected and the next message will become the current message.
          If this feature is set, the cursor will not advance to the next
          message. Instead, the current message will remain the current
          message after unselecting.
   _use-current-dir_
          This feature controls an aspect of several commands. If set,
          your "current working directory" will be used instead of your
          home directory for all of the following operations:
          + _Export_ in the "Folder Index" and "Message Text" screens
          + Attachment _Save_ in the "Message Text" and "Attachment Text"
            screens
          + _^R_ file inclusion in the Composer
          + _^J_ file attachment in the Composer
          This feature is displayed as "Use Current Directory".
   _use-function-keys_
          This feature specifies that _Alpine_ will respond to function
          keys instead of the normal single-letter commands. In this mode,
          the key menus at the bottom of each screen will show function
          key designations instead of the normal mnemonic key.
   _use-regular-startup-rule-for-stayopen-folders_
          This feature affects which message is selected as the current
          message when you enter a Stay Open folder.
          Normally, the starting position for an incoming folder (which
          most Stay Open folders will likely be) is controlled by the
          Incoming-Startup-Rule. However, if a folder is a Stay Open
          folder, when you re-enter the folder after the first time the
          current message will be the same as it was when you left the
          folder. An exception is made if you use the TAB command to get
          to the folder. In that case, the message number will be
          incremented by one from what it was when you left the folder.
          The above special behavior is thought to be useful. However, it
          is special and different from what you might at first expect. If
          this feature is set, then Stay Open folders will not be treated
          specially as far as the startup rule is concerned.
   _use-resent-to-in-rules_
          This feature is turned off by default because turning it on
          causes problems with some deficient IMAP servers. In _Alpine_
          Filters and other types of Rules, if the Pattern contains a To
          header pattern and this feature is turned on, then a check is
          made in the message to see if a Resent-To header is present, and
          that is used instead of the To header. If this feature is not
          turned on, then the regular To header will always be used.
   _use-sender-not-x-sender_
          Normally _Alpine_ on Unix adds a header line labeled
          _X-X-Sender_, if the sender is different from the _From:_ line.
          The standard specifies that this header line should be labeled
          _Sender_, not _X-X-Sender_. Setting this feature causes _Sender_
          to be used instead of _X-X-Sender_. The standard also states
          that the data associated with this header field should not be
          used as a Reply address. Unfortunately, certain implementations
          of mail list management servers will use the Sender address for
          such purposes. These implementations often even recognize the
          _X-Sender_ fields as being equivalent to the _Sender_ field, and
          use it if present. This is why _Alpine_ defaults to
          _X-X-Sender_.
          Note, _PC-Alpine_ always adds either an _X-X-Sender_ line if
          there is an open, remote mailbox, or an _X-Warning:
          UNAuthenticated User_ otherwise
          This feature is displayed as "Use Sender Instead of X-X-Sender".
   _use-subshell-for-suspend_
          This feature affects _Alpine_'s behavior when process suspension
          is enabled and then activated via the _^Z_ key. _Alpine_
          suspension allows one to temporarily interact with the operating
          system command "shell" without quitting _Alpine_, and then
          subsequently resume the still-active _Alpine_ session.
          When the _enable-suspend_ feature is set and subsequently the
          _^Z_ key is pressed, _Alpine_ will normally suspend itself and
          return temporary control to _Alpine_'s parent shell process.
          However, if this feature is set, _Alpine_ will instead create an
          inferior subshell process. This is useful when the parent
          process is not intended to be used interactively. Examples
          include invoking _Alpine_ via the -e argument of the Unix _xterm_
          program, or via a menu system.
          Note that one typically resumes a suspended _Alpine_ by entering
          the Unix _fg_ command, but if this feature is set, it will be
          necessary to enter the _exit_ command instead.
   _use-system-translation_
          UNIX _Alpine_ only. _Alpine_ normally uses its own internal
          software to convert between the multi-byte representation of
          characters and the Unicode representation of those same
          characters ( see the section on International Character Sets).
          It converts from the multi-byte characters your keyboard
          produces to Unicode, and from Unicode to the multi-byte
          characters your display expects. Alpine also uses its own
          internal software to decide how much space on the screen a
          particular Unicode character will occupy.
          Setting this feature tells _Alpine_ to use the system-supplied
          routines to perform these tasks instead. In particular there are
          three tasks and three system routines that will be used for
          these tasks.
          To convert from multi-byte to Unicode the routine

                                  mbstowcs
          is used. To convert from Unicode to multi-byte the routine

                                   wcrtomb
          is used. And to find the screen width a particular Unicode
          character will occupy the routine used is

                                   wcwidth
          This feature has been only lightly tested. The internal routines
          should normally be used unless you run into a problem that you
          think may be solved by using the system routines. Note that your
          environment needs to be set up for these routines to work
          correctly. In particular, the LANG or LC_CTYPE variable in your
          environment will need to be set.
   _vertical-folder-list_
          This feature controls an aspect of _Alpine_'s FOLDER LIST
          screen. If set, the folders will be listed alphabetically down
          the columns rather than across the columns as is the default.
          This feature is displayed as "Use Vertical Folder List".
   _warn-if-blank-subject_
          This feature affects _Alpine_'s behavior when you send a message
          being composed. If this option is set, _Alpine_ will check to
          see if the message about to be sent has a subject or not. If
          not, you will be asked if you want to send the message anyway.
   _warn-if-blank-to-and-cc-and-newsgroups_
          This feature affects _Alpine_'s behavior when you send a message
          being composed. If this option is set, _Alpine_ will check to
          see if the message about to be sent has either a To address, a
          Cc address, or a Newsgroup. If none of these is set, you will be
          asked if you want to send the message anyway.
          This feature is closely related to fcc-only-without-confirm.
          _Alpine_ will normally ask if you want to copy a message only to
          the Fcc. This feature also applies to cases where there is a Bcc
          but still no To, Cc, or Newsgroup. If the
          Fcc-Only-Without-Confirm feature is set and you are sending a
          message with only an Fcc, then you won't be asked about sending
          with a blank To and Cc and Newsgroups header even if this
          feature is set. Similarly, if you have already been asked if you
          want to send to the Fcc only and you have answered Yes, then you
          won't be asked again about sending with blank To, Cc, and
          Newsgroups headers even if this feature is set.

Hidden Config Variables and Features

   There are several configuration variables and features which are
   normally hidden from the user. That is, they don't appear on any of the
   configuration screens. Some of these are suppressed because they are
   intended to be used by system administrators, and in fact may only be
   set in system-wide configuration files. Others are available to users
   but are thought to be of such little value to most users that their
   presence on the Config screens would cause more confusion than help.
   Others are hidden in the Setup/Config screen because they are normally
   configured in one of the other configuration screens. For example, all
   of the colors are hidden because the normal way to configure colors is
   through Setup/Colors not Setup/Config. You may set the feature
   expose-hidden-config to cause most of these hidden variables and
   features to show up at the bottom of the Setup/Config screen.

  Hidden Variables Not Settable by Users

   These variables are settable only in system-wide configuration files.
     * bugs-additional-data
     * bugs-address
     * bugs-fullname
     * forced-abook-entry
     * kblock-passwd-count
     * local-address
     * local-fullname
     * mail-directory
     * standard-printer
     * suggest-address
     * suggest-fullname

  Hidden Variables Which are Settable by Users

   These variables are not shown to users but are settable by means of
   hand editing the personal configuration file. This first group is
   usually maintained by _Alpine_ and there will usually be no reason to
   edit them by hand.
     * last-version-used
     * patterns-filters2
     * patterns-indexcolors
     * patterns-roles
     * patterns-scores2
     * remote-abook-metafile

   This group is usually correct but may be changed by system managers or
   users in special cases.
     * disable-these-authenticators
     * disable-these-drivers
     * last-time-prune-questioned
     * new-version-threshold
     * remote-abook-history
     * remote-abook-validity
     * rsh-command
     * rsh-open-timeout
     * rsh-path
     * sendmail-path
     * ssh-command
     * ssh-open-timeout
     * ssh-path
     * tcp-open-timeout
     * tcp-query-timeout
     * tcp-read-warning-timeout
     * tcp-write-warning-timeout
     * use-function-keys

   System managers are usually interested in setting these in the
   system-wide configuration files, though users may set them if they
   wish.
     * operating-dir
     * user-input-timeout

  Hidden Features Which are Settable by Users

   These are _features_ (as opposed to variables) which users or system
   administrators may set. Some of them only make sense for
   administrators. To turn these on manually, the configuration file
   should be edited and the feature added to the _feature-list_ variable.
   You may set the feature expose-hidden-config to cause these hidden
   features to show up in the Setup/Config screen. They will be at the
   bottom of the screen.
     * disable-config-cmd
     * disable-keyboard-lock-cmd
     * disable-password-cmd
     * disable-pipes-in-sigs
     * disable-pipes-in-templates
     * disable-roles-setup-cmd
     * disable-roles-sig-edit
     * disable-roles-template-edit
     * disable-setlocale-collate
     * disable-shared-namespaces
     * disable-signature-edit-cmd

Retired Variables and Features

   Variables and features that are no longer used by the current _Alpine_
   version. When an obsolete variable is encountered, its value is applied
   to any new corresponding setting. The replaced values include:

   _character-set_
          Replaced by three separate variables: _display-character-set_,
          _keyboard-character-set_, and _posting-character-set_.
   _compose-mime_
   _elm-style-save_
          Replaced by _saved-msg-name-rule_
   _feature-level_
          Replaced by _feature-list._
   _header-in-reply_
          Replaced by _include-header-in-reply_ in the _feature-list._
   _old-style-reply_
          Replaced by _signature-at-bottom_ in the _feature-list._
   _use-old-unix-format-write_
          No replacement.
   _patterns_
          Replaced by four separate patterns variables: _patterns-roles_,
          _patterns-filters_, _patterns-scores_, and
          _patterns-indexcolors_. Since then, _patterns-filters_ has also
          become obsolete and is replaced by _patterns-filters2_;
          _patterns-scores_ is replaced by _patterns-scores2_.
   _save-by-sender_
          Replaced by _saved-msg-name-rule._
   _show-all-characters_
          No replacement, it always works this way now.

Tokens for Index and Replying

   This set of special tokens may be used in the index-format option, in
   the reply-leadin option, in signature files, in template files used in
   roles, and in the folder name that is the target of a Filter Rule. Some
   of them aren't available in all situations.

   The tokens are used as they appear below for the _Index-Format_ option,
   but they must be surrounded by underscores for the _Reply-Leadin_
   option, in signature and template files, and in the target of Filter
   Rules.

  _Tokens Available for all Cases (except Filter Rules)_

   SUBJECT
          This token represents the Subject the sender gave the message.
          Alternatives for use in the index screen are SUBJKEY,
          SUBJKEYINIT, SUBJECTTEXT, SUBJKEYTEXT, and SUBJKEYINITTEXT. You
          may color the subject text in the MESSAGE INDEX screen
          differently by using the Index Subject Color and the Index
          Opening Color. options available from the Setup Kolor screen.

   FROM
          This token represents the personal name (or email address if the
          name is unavailable) of the person specified in the message's
          "From:" header field. You may color the from text in the MESSAGE
          INDEX screen differently by using the Index From Color option
          available from the Setup Kolor screen.

   ADDRESS
          This is similar to the "FROM" token, only it is always the email
          address, never the personal name. For example, "mailbox@domain".

   MAILBOX
          This is the same as the "ADDRESS" except that the domain part of
          the address is left off. For example, "mailbox".

   SENDER
          This token represents the personal name (or email address) of
          the person listed in the message's "Sender:" header field.

   TO
          This token represents the personal names (or email addresses if
          the names are unavailable) of the persons specified in the
          message's "To:" header field.

   NEWSANDTO
          This token represents the newsgroups from the message's
          "Newsgroups:" header field _and_ the personal names (or email
          addresses if the names are unavailable) of the persons specified
          in the message's "To:" header field.

   TOANDNEWS
          Same as "NEWSANDTO" except in the opposite order.

   NEWS
          This token represents the newsgroups from the message's
          "Newsgroups:" header field.

   CC
          This token represents the personal names (or email addresses if
          the names are unavailable) of the persons specified in the
          message's "Cc:" header field.

   RECIPS
          This token represents the personal names (or email addresses if
          the names are unavailable) of the persons specified in both the
          message's "To:" header field and the message's "Cc:" header
          field.

   NEWSANDRECIPS
          This token represents the newsgroups from the message's
          "Newsgroups:" header field _and_ the personal names (or email
          addresses if the names are unavailable) of the persons specified
          in the message's "To:" and "Cc:" header fields.

   RECIPSANDNEWS
          Same as "NEWSANDRECIPS" except in the opposite order.

   INIT
          This token represents the initials from the personal name of the
          person specified in the message's "From:" header field. If there
          is no personal name, it is blank.

   DATE
          This token represents the date on which the message was sent,
          according to the "Date" header field. It has the format MMM DD.
          For example, "Oct 23". The feature convert-dates-to-localtime,
          which adjusts for the timezone the message was sent from, may
          have an affect on the value of this token as well as the values
          of all of the other DATE or TIME tokens. Some of the DATE and
          TIME tokens are displayed in a locale-specific way unless the
          option Disable-Index-Locale-Dates is set.

   SMARTDATE
          This token represents the date on which the message was sent,
          according to the "Date" header field. It is "Today" if the
          message was sent today, "Yesterday" for yesterday, "Wednesday"
          if it was last Wednesday, and so on. If the message is from last
          year and is more than six months old it includes the year, as
          well. There is no adjustment made for different time zones, so
          you'll get the day the message was sent according to the time
          zone the sender was in. See the SMARTDATE alternatives below, as
          well.

   SMARTTIME
          This token represents the most relevant elements of the date on
          which the message was sent (according to the "Date" header
          field), in a compact form. If the message was sent today, only
          the time is used (e.g. "9:22am", "10:07pm"); if it was sent
          during the past week, the day of the week and the hour are used
          (e.g. "Wed09am", "Thu10pm"); other dates are given as date,
          month, and year (e.g. "23Aug00", "9Apr98"). There is no
          adjustment made for different time zones, so you'll get the
          day/time the message was sent according to the time zone the
          sender was in.

   SMARTDATETIME
          This is a combination of SMARTDATE and SMARTTIME. It is
          SMARTDATE unless the SMARTDATE value is "Today", in which case
          it is SMARTTIME. See the SMARTDATETIME alternatives below, as
          well.

   DATEISO
          This token represents the date on which the message was sent,
          according to the "Date" header field. It has the format
          YYYY-MM-DD. For example, "1998-10-23".

   SHORTDATEISO
          This token represents the date on which the message was sent,
          according to the "Date" header field. It has the format
          YY-MM-DD. For example, "98-10-23".

   SHORTDATE1
          This token represents the date on which the message was sent,
          according to the "Date" header field. It has the format
          MM/DD/YY. For example, "10/23/98".

   SHORTDATE2
          This token represents the date on which the message was sent,
          according to the "Date" header field. It has the format
          DD/MM/YY. For example, "23/10/98".

   SHORTDATE3
          This token represents the date on which the message was sent,
          according to the "Date" header field. It has the format
          DD.MM.YY. For example, "23.10.98".

   SHORTDATE4
          This token represents the date on which the message was sent,
          according to the "Date" header field. It has the format
          YY.MM.DD. For example, "98.10.23".

   LONGDATE
          This token represents the date on which the message was sent,
          according to the "Date" header field. It has the format MMM DD,
          YYYY. For example, "Oct 23, 1998".

   SMARTDATE alternatives
          There are several versions of SMARTDATE which are all the same
          except for the way they format dates far in the past. SMARTDATE
          formats the date using the information from your locale settings
          to format the date string. It may end up formatting dates so
          that they look like DATEISO tokens, or SHORTDATE2 tokens, or
          something else entirely. The feature convert-dates-to-localtime
          may have an affect on the values of these tokens. If you want
          more control you may use one of the following.

        SMARTDATE
                If the option Disable-Index-Locale-Dates is not set then
                this will be locale specific. Control this with the
                LC_TIME locale setting on a UNIX system. On Windows the
                Regional Options control panel may be used to set the
                Short date format. At the programming level, the strftime
                routine is what _Alpine_ uses to print the date. If the
                Disable-Index-Locale-Dates option is set then this is
                equivalent to SMARTDATES1.

        SMARTDATEISO
                DATEISO format. See text above.

        SMARTDATESHORTISO
                SHORTDATEISO format.

        SMARTDATES1
                SHORTDATE1 format.

        SMARTDATES2
                SHORTDATE2 format.

        SMARTDATES3
                SHORTDATE3 format.

        SMARTDATES4
                SHORTDATE4 format.

   SMARTDATETIME alternatives
          There are several versions of SMARTDATETIME which are all very
          similar. The ones which end in 24 use a 24-hour clock for
          Today's messages instead of a 12-hour clock. The other variation
          is for the way they format dates far in the past. SMARTDATETIME
          and SMARTDATETIME24 format the date using the information from
          your locale settings to format the date string. It may end up
          formatting dates so that they look like DATEISO tokens, or
          SHORTDATE2 tokens, or something else entirely. The feature
          convert-dates-to-localtime may have an affect on the values of
          these tokens. The possible choices are:

        SMARTDATETIME
                Locale specific. Control this with the LC_TIME locale
                setting on a UNIX system. On Windows the Regional Options
                control panel may be used to set the Short date format. At
                the programming level, the strftime routine is what
                _Alpine_ uses to print the date.

        SMARTDATETIME
                If the option Disable-Index-Locale-Dates is not set then
                this will be locale specific. Control this with the
                LC_TIME locale setting on a UNIX system. On Windows the
                Regional Options control panel may be used to set the
                Short date format. At the programming level, the strftime
                routine is what _Alpine_ uses to print the date. If the
                Disable-Index-Locale-Dates option is set then this is
                equivalent to SMARTDATETIMES1.

        SMARTDATETIME24
                Use TIME24 for Today

        SMARTDATETIMEISO
                DATEISO format. See text above.

        SMARTDATETIMEISO24
                Use TIME24 for Today

        SMARTDATETIMESHORTISO
                SHORTDATEISO format.

        SMARTDATETIMESHORTISO24
                Use TIME24 for Today

        SMARTDATETIMES1
                SHORTDATE1 format.

        SMARTDATETIMES124
                Use TIME24 for Today

        SMARTDATETIMES2
                SHORTDATE2 format.

        SMARTDATETIMES224
                Use TIME24 for Today

        SMARTDATETIMES3
                SHORTDATE3 format.

        SMARTDATETIMES324
                Use TIME24 for Today

        SMARTDATETIMES4
                SHORTDATE4 format.

        SMARTDATETIMES424
                Use TIME24 for Today

   DAYDATE
          This token represents the date on which the message was sent,
          according to the "Date" header field. It looks like "Sat, 23 Oct
          1998". This token is never converted in any locale-specific way.

   PREFDATE
          This token represents the date on which the message was sent,
          according to the "Date" header field. It is your operating
          system's idea of the preferred date representation for the
          current locale. Internally it uses the %x version of the date
          from the strftime routine.

   PREFTIME
          This token represents the time at which the message was sent,
          according to the "Date" header field. It is the preferred time
          representation for the current locale. Internally it uses the %X
          version of the time from the strftime routine.

   PREFDATETIME
          This token represents the date and time at which the message was
          sent, according to the "Date" header field. It is the preferred
          date and time representation for the current locale. Internally
          it uses the %c version of the time from the strftime routine.

   DAY
          This token represents the day of the month on which the message
          was sent, according to the "Date" header field. For example,
          "23" or "9".

   DAY2DIGIT
          This token represents the day of the month on which the message
          was sent, according to the "Date" header field. For example,
          "23" or "09". It is always 2 digits.

   DAYORDINAL
          This token represents the ordinal number which is the day of the
          month on which the message was sent, according to the "Date"
          header field. For example, "23rd" or "9th".

   DAYOFWEEK
          This token represents the day of the week on which the message
          was sent, according to the "Date" header field. For example,
          "Sunday" or "Wednesday".

   DAYOFWEEKABBREV
          This token represents the day of the week on which the message
          was sent, according to the "Date" header field. For example,
          "Sun" or "Wed".

   MONTHABBREV
          This token represents the month the message was sent, according
          to the "Date" header field. For example, "Oct".

   MONTHLONG
          This token represents the month in which the message was sent,
          according to the "Date" header field. For example, "October".

   MONTH
          This token represents the month in which the message was sent,
          according to the "Date" header field. For example, "10" or "9".

   MONTH2DIGIT
          This token represents the month in which the message was sent,
          according to the "Date" header field. For example, "10" or "09".
          It is always 2 digits.

   YEAR
          This token represents the year the message was sent, according
          to the "Date" header field. For example, "1998" or "2001".

   YEAR2DIGIT
          This token represents the year the message was sent, according
          to the "Date" header field. For example, "98" or "01". It is
          always 2 digits.

   TIME24
          This token represents the time at which the message was sent,
          according to the "Date" header field. There is no adjustment
          made for different time zones, so you'll get the time the
          message was sent according to the time zone the sender was in.
          It has the format HH:MM. For example, "17:28".

   TIME12
          This token represents the time at which the message was sent,
          according to the "Date" header field. This time is for a 12 hour
          clock. It has the format HH:MMpm. For example, "5:28pm" or
          "11:13am".

   TIMEZONE
          This token represents the numeric timezone from the "Date"
          header field. It has the format [+-]HHMM. For example, "-0800".

  _Tokens Available Only for Index-Format_

   MSGNO
          This token represents the message's current position in the
          folder which, of course, may change as the folder is sorted or
          new mail arrives.

   STATUS
          This token represents a three character wide field displaying
          various aspects of the message's state. The first character is
          either blank, a '*' for message marked Important, or a '+'
          indicating a message addressed directly to you (as opposed to
          your having received it via a mailing list, for example). When
          the feature mark-for-cc is set, if the first character would
          have been blank then it will instead be a '-' if the message is
          cc'd to you. The second character is typically blank, though the
          arrow cursor may occupy it if either the assume-slow-link or the
          force-arrow-cursor feature is set (or you actually are on a slow
          link). The third character is either D (Deleted), A (Answered),
          N (New), or blank.

          If you are using a threaded view of the index and this message
          is at the top of a collapsed portion of a thread, then this
          token refers to all of the messages in the collapsed portion of
          the thread instead of just the top message. The first character
          will be a '*' if _any_ of the messages in the thread are marked
          Important, else a '+' if any of the messages are addressed to
          you, else a '-' if any of the messages are cc'd to you. The
          third character will be a 'D' if _all_ of the messages in the
          collapsed thread are marked deleted, an 'A' if _all_ of the
          messages in the collapsed thread are marked answered, it will be
          an 'N' if any of the messages are undeleted and unseen, and it
          will be blank otherwise.

   FULLSTATUS
          This token represents a less abbreviated alternative to the
          "STATUS" token. It is six characters wide. The first character
          is '+', '-', or blank, the second blank, the third either '*' or
          blank, the fourth N or blank, the fifth A or blank, and the
          sixth character is either D or blank.

          If you are using a threaded view of the index and this message
          is at the top of a collapsed portion of a thread, then this
          token refers to all of the messages in the collapsed portion of
          the thread instead of just the top message. The first character
          is '+', '-', or blank depending on whether _any_ of the messages
          in the collapsed thread are addressed to you or cc'd to you. The
          third character will be '*' if any of the messages are marked
          Important. The fourth character will be 'N' if all of the
          messages in the thread are New, else 'n' if some of the messages
          in the thread are New, else blank. The fifth character will be
          'A' or 'a' or blank, and the sixth character will be 'D' or 'd'
          or blank.

   IMAPSTATUS
          This token represents an even less abbreviated alternative to
          the "STATUS" token. It differs from "FULLSTATUS" in only the
          fourth character which is an 'N' if the message is new to this
          folder since the last time it was opened _and_ it has not been
          viewed, an 'R' (Recent) if the message is new to the folder and
          has been viewed, a 'U' (Unseen) if the message is not new to the
          folder since it was last opened _but_ has not been viewed, or a
          blank if the message has been in the folder since it was last
          opened and has been viewed.

          If you are using a threaded view of the index and this message
          is at the top of a collapsed portion of a thread, then the
          fourth character will be 'N' if all of the messages in the
          thread are unseen and recent; else 'n' if some of the messages
          in the thread are unseen and recent; else 'U' if all of the
          messages in the thread are unseen and not recent; else 'u' if
          some of the messages in the thread are unseen and not recent;
          else 'R' if all of the messages in the thread are seen and
          recent; else 'r' if some of the messages in the thread are seen
          and recent; else blank.

   SHORTIMAPSTATUS
          This is the same as the last four of the six characters of
          IMAPSTATUS, so the '+' To Me information will be missing.

   SIZE
          This token represents the total size, in bytes, of the message.
          If a "K" (Kilobyte) follows the number, the size is
          approximately 1,000 times that many bytes (rounded to the
          nearest 1,000). If an "M" (Megabyte) follows the number, the
          size is approximately 1,000,000 times that many bytes. Commas
          are not used in this field. This field is seven characters wide,
          including the enclosing parentheses. Sizes are rounded when "K"
          or "M" is present. The progression of sizes used looks like:

           0 1 ... 9999 10K ... 999K 1.0M ... 99.9M 100M ... 2000M

   SIZECOMMA
          This token represents the total size, in bytes, of the message.
          If a "K" (Kilobyte) follows the number, the size is
          approximately 1,000 times that many bytes (rounded to the
          nearest 1,000). If an "M" (Megabyte) follows the number, the
          size is approximately 1,000,000 times that many bytes. Commas
          are used if the number shown is 1,000 or greater. The SIZECOMMA
          field is one character wider than the SIZE field. Sizes are
          rounded when "K" or "M" is present. The progression of sizes
          used looks like:

      0 1 ... 99,999 100K ... 9,999K 10.0M ... 999.9M 1,000M ... 2,000M

   KSIZE
          This token represents the total size of the message, expressed
          in kilobytes or megabytes, as most appropriate. These are 1,024
          byte kilobytes and 1,024 x 1,024 byte megabytes. The progression
          of sizes used looks like:

                0K 1K ... 1023K 1.0M ... 99.9M 100M ... 2047M

   SIZENARROW
          This token represents the total size, in bytes, of the message.
          If a "K" (Kilobyte) follows the number, the size is
          approximately 1,000 times that many bytes. If an "M" (Megabyte)
          follows the number, the size is approximately 1,000,000 times
          that many bytes. If a "G" (Gigabyte) follows the number, the
          size is approximately 1,000,000,000 times that many bytes. This
          field uses only five characters of screen width, including the
          enclosing parentheses. The progression of sizes used looks like:

       0 1 ... 999 1K ... 99K .1M ... .9M 1M ... 99M .1G ... .9G 1G 2G

   DESCRIPSIZE
          This token is intended to represent a more useful description of
          the message than just its size, but it isn't very useful at this
          point. The plus sign in this view means there are attachments.
          Note that including this token in the "Index-Format" could slow
          down the display a little while _Alpine_ collects the necessary
          information.

   SUBJKEY
          This token is the same as the SUBJECT token unless keywords are
          set for the message. In that case, a list of keywords enclosed
          in braces will be prepended to the subject of the message. Only
          those keywords that you have defined in your Keywords option in
          Setup/Config are considered in the list. In other words,
          keywords that have been set by some other means, perhaps by
          another email program, won't show up unless included in
          Keywords. Having this set in the Index-Format will also cause
          the keywords to be prepended to the subject in the MESSAGE TEXT
          screen. If you have given a keyword a nickname (keywords), that
          nickname is displayed instead of the actual keyword. The
          keyword-surrounding-chars option may be used to modify this
          token slightly. It is also possible to color keywords in the
          index using the Setup/Kolor screen.

   SUBJKEYINIT
          This token is the same as the SUBJKEY token except that instead
          of prepending a list of keywords to the subject, a list of first
          initials of keywords will be prepended instead. For example, if
          a message has the keywords _Work_ and _Now_ set (or Work and Now
          are the _Alpine_ nicknames of keywords which are set) then the
          SUBJKEY token would cause a result like

                          {Work Now} actual subject

          whereas the SUBJKEYINIT token would give

                             {WN} actual subject

          Only those keywords that you have defined in your Keywords
          option in Setup/Config are considered in the list. In other
          words, keywords that have been set by some other means, perhaps
          by another email program, won't show up unless included in
          Keywords. The keyword-surrounding-chars option may be used to
          modify this token slightly. It is also possible to color
          keywords in the index using the Setup/Kolor screen.

   SUBJECTTEXT
          Same as SUBJECT but if there is room in the Subject field for
          more text, the opening part of the text of the message is
          displayed after the subject. The time needed to fetch the text
          may cause a performance problem which can, of course, be avoided
          by using the SUBJECT version of the Subject instead. You may
          color this opening text differently by using the Index Opening
          Color option available from the Setup Kolor screen. You may
          adjust the characters that are displayed between the Subject and
          the opening text with the option Opening-Text-Separator-Chars.

   SUBJKEYTEXT
          Same as SUBJKEY but with the opening message text.

   SUBJKEYINITTEXT
          Same as SUBJKEYINIT but with the opening message text.

   OPENINGTEXT
          This is similar to SUBJECTTEXT. Instead of combining the Subject
          and the opening text in a single field in the index screen this
          token allows you to allocate a separate column just for the
          opening text of the message. The time needed to fetch this text
          may cause a performance problem. You may color this opening text
          differently by using the Index Opening Color option available
          from the Setup Kolor screen.

   OPENINGTEXTNQ
          This is very similar to OPENINGTEXT. The NQ stands for No
          Quotes. The only difference is that quoted text (lines beginning
          with >) is deleted. For some messages this may be confusing. For
          example, a message might have a line preceding some quoted text
          that reads something like "On May 8th person A said." That no
          longer makes sense after the quoted text is deleted and it will
          appear that person A said whatever the text after the quote is,
          even though that is really person B talking.

   KEY
          This is a space-delimited list of keywords that are set for the
          message. Only those keywords that you have defined in your
          Keywords option in Setup/Config are considered in the list. In
          other words, keywords that have been set by some other means,
          perhaps by another email program, won't show up unless included
          in Keywords. If you have given a keyword a nickname that
          nickname is displayed instead of the actual keyword. It is also
          possible to color keywords in the index using the Setup/Kolor
          screen. This token defaults to an arbitrary width of 5. You
          should set it to whatever width suits you using something like
          KEY(17) in the Index-Format.

   KEYINIT
          This is a list of keyword initials that are set for the message.
          If you have given a keyword a nickname the initial of that
          nickname is displayed instead of the initial of the actual
          keyword. It is also possible to color keyword initials in the
          index using the Setup/Kolor screen. This token defaults to an
          arbitrary width of 2. You should set it to whatever width suits
          you using something like KEYINIT(3) in the Index-Format.

   PRIORITY
          The X-Priority header is a non-standard header that is used in a
          somewhat standard way by many mail programs. _Alpine_ expects
          the value of this header to be a digit with a value from 1 to 5,
          with 1 being the highest priority and 5 the lowest priority.
          Since this priority is something that the sender sets it is only
          an indication of the priority that the sender attaches to the
          mail and it is therefore almost totally unreliable for use as a
          filtering criterion. This token will display the numeric value
          of the priority if it is between 1 and 5. It will be suppressed
          (blank) if the value is 3, which is normal priority. It is also
          possible to set the color of the PRIORITY field. By default the
          token is colored the same as the index line it is part of. You
          may set it to be another color with the Index Priority Colors
          options available from the Setup Kolor screen.

   PRIORITYALPHA
          This is a more verbose interpretation of the X-Priority field.
          Once again nothing is displayed unless the value of the field is
          1, 2, 4, or 5. The values displayed for those values are:

          1 Highest
          2 High
          4 Low
          5 Lowest

          You may color this token with the Index Priority Colors options.

   PRIORITY!
          This is a one character, non-numeric version of the X-Priority
          field. If the value of the X-Priority header is 1 or 2 an
          exclamation point is displayed. If the value is 4 or 5 a "v"
          (think down arrow) is displayed. You may color this token with
          the Index Priority Colors options.

   ATT
          This is a one column wide field which represents the number of
          attachments a message has. It will be blank if there are no
          attachments, a single digit for one to nine attachments, or an
          asterisk for more than nine. Note that including this token in
          the "Index-Format" could slow down the display a little while
          _Alpine_ collects the necessary information.

   FROMORTO
          This token represents _either_ the personal name (or email
          address) of the person listed in the message's "From:" header
          field, _or_, if that address is yours or one of your alternate
          addresses, the first person specified in the message's "To:"
          header field with the prefix "To: " prepended. If the from
          address is yours and there is also no "To" address, _Alpine_
          will use the address on the "Cc" line. If there is no address
          there, either, _Alpine_ will look for a newsgroup name from the
          "Newsgroups" header field and put that after the "To: " prefix.

   FROMORTONOTNEWS
          This is almost the same as _FROMORTO_. The difference is that
          newsgroups aren't considered. When a message is from you,
          doesn't have a To or Cc, and does have a Newsgroups header; this
          token will be your name instead of the name of the newsgroup
          (like it would be with FROMORTO).

   TEXT
          This is a different sort of token. It allows you to display a
          label within each index line. It will be the same fixed text for
          each line. It is different from all the other tokens in that
          there is no space column displayed after this token. Instead, it
          is butted up against the following field. It also has a
          different syntax. The text to display is given following a colon
          after the word "TEXT". For example,

                                  TEXT:abc=

          would insert the literal text "abc=" (without the quotes) into
          the index display line. You must quote the text if it includes
          space characters, like

                                TEXT:"abc = "

   HEADER
          This allows you to display the text from a particular header
          line in the message. The syntax for this token is substantially
          different from all the others in order that you might be able to
          display a portion of the text following a particular header. The
          header name you are interested in is given following a colon
          after the word "HEADER". For example,

                                HEADER:X-Spam

          would display the text of the X-Spam header, if any. Like for
          other index tokens a width field may (and probably should)
          follow this.

                              HEADER:X-Spam(10)

          displays the first ten characters of the X-Spam header. Unlike
          other index tokens, the syntax for HEADER is more flexible. An
          optional second argument comes after a comma inside the
          parentheses. It specifies the "field" number. By default, the
          field separator is a space character. No extra space characters
          are allowed in the argument list.

                             HEADER:X-Spam(10,2)

          would display the second field, left-justified, in a 10
          character wide field. The second field would consist of all the
          text after the first space up to the next space or the end of
          the header. The default field number is zero, which stands for
          the entire line. There is also an optional third argument which
          is a list of field separators. It defaults to a space character.
          The example

                           HEADER:X-Spam(10,2,:% )

          would cause the field separators to be any of colon, percent, or
          space (there is a space character between the percent and the
          right parenthesis). The first field runs from the start of the
          header value up to the first colon, percent, or space; the
          second goes from there to the next; and so on. In order to use a
          comma character as a field separator you must escape it by
          preceding it with a backslash (\). The same is true of the
          backslash character itself. There is one further optional
          argument. It is an R or an L to specify right or left adjustment
          of the text within the field. The default is to left justify,
          however if you are displaying numbers you might prefer to right
          justify.

          Here's an example of a SpamAssassin header. The exact look of
          the header will vary, but if your incoming mail contains headers
          that look like the following

       X-Spam-Status: Yes, hits=10.6 tagged_above=-999.0 required=7.0
                                tests=BAYE...

          you might want to display the hits value. The first field starts
          with the Y in Yes. To get what you're interested in you might
          use "=" and space as the field separators and display the third
          field, like

                        HEADER:X-Spam-Status(4,3,= )

          or maybe you would break at the dot instead

                       HEADER:X-Spam-Status(2,2,=.,R)

          Another example we've seen has headers that look like

              X-Spam: Gauge=IIIIIII, Probability=7%, Report=...

          Because there are two equals and a comma before the 7% and a
          comma after it, the token

                       HEADER:X-Spam-Status(3,4,=\,,R)

          should display the probability (for example 7% or 83%) right
          justified in a 3-wide field.

   ARROW
          This gives an alternative way to display the current message in
          the MESSAGE INDEX screen. Usually the current message is
          indicated by the line being shown in reverse video. Instead, if
          the ARROW token is included in your Index-Format, the current
          line will include an "arrow" that looks like

                                     ->

          in the ARROW token's field. For all of the non-current messages,
          the ARROW field will be filled with blanks. If you use the
          fixed-field width feature the length of the "arrow" may be
          adjusted. The arrow will be drawn as width-1 dashes followed by
          a greater than sign. For example, if you use ARROW(3) you will
          get

                                     -->

          and ARROW(1) will give you just

                                      >

          It is also possible to set the color of the ARROW field. By
          default (and for non-current messages) the arrow is colored the
          same as the index line it is part of. You may set it to be
          another color with the Index Arrow Color option available from
          the Setup Kolor screen.

   SCORE
          This gives the score of each message. This will be six columns
          wide to accommodate the widest possible score. You will probably
          want to use the Index-Format fixed-field width feature to limit
          the width of the field to the widest score that you use (e.g.
          SCORE(3) if your scores are always between 0 and 999). If you
          have not defined any score rules the scores will all be zero. If
          any of your score rules contain AllText or BodyText patterns
          then including SCORE in the Index-Format may slow down the
          display of the MESSAGE INDEX screen.

  _Tokens Available for all but Index-Format_

   CURNEWS
          This token represents the current newsgroup if there is one. For
          example, "comp.mail.pine".

   MSGID
          This token represents the message ID of the message. This token
          does not work with Filter Rule folder names.

   CURDATE
          This token represents the current date. It has the format MMM
          DD. For example, "Oct 23".

   CURDATEISO
          This token represents the current date. It has the format
          YYYY-MM-DD. For example, "1998-10-23".

   CURDATEISOS
          This token represents the current date. It has the format
          YY-MM-DD. For example, "98-10-23".

   CURPREFDATE
          This token represents the current date. It is your operating
          system's idea of the preferred date representation for the
          current locale. Internally it uses the %x version of the date
          from the strftime routine.

   CURPREFTIME
          This token represents the current time. It is the preferred time
          representation for the current locale. Internally it uses the %X
          version of the time from the strftime routine.

   CURPREFDATETIME
          This token represents the current date and time. It is the
          preferred date and time representation for the current locale.
          Internally it uses the %c version of the time from the strftime
          routine.

   CURTIME24
          This token represents the current time. It has the format HH:MM.
          For example, "17:28".

   CURTIME12
          This token represents the current time. This time is for a 12
          hour clock. It has the format HH:MMpm. For example, "5:28pm" or
          "11:13am".

   CURDAY
          This token represents the current day of the month. For example,
          "23" or "9".

   CURDAY2DIGIT
          This token represents the current day of the month. For example,
          "23" or "09". It is always 2 digits.

   CURDAYOFWEEK
          This token represents the current day of the week. For example,
          "Sunday" or "Wednesday".

   CURDAYOFWEEKABBREV
          This token represents the current day of the week. For example,
          "Sun" or "Wed".

   CURMONTH
          This token represents the current month. For example, "10" or
          "9".

   CURMONTH2DIGIT
          This token represents the current month. For example, "10" or
          "09". It is always 2 digits.

   CURMONTHLONG
          This token represents the current month. For example, "October".

   CURMONTHABBREV
          This token represents the current month. For example, "Oct".

   CURYEAR
          This token represents the current year. For example, "1998" or
          "2001".

   CURYEAR2DIGIT
          This token represents the current year. For example, "98" or
          "01". It is always 2 digits.

   LASTMONTH
          This token represents last month. For example, if this is
          November (the 11th month), it is equal to "10" or if this is
          October (the 10th month), it is "9". It is possible that this
          and the other tokens beginning with LASTMONTH below could be
          useful when used with a Filtering Rule that has the "Beginning
          of Month" option set.

   LASTMONTH2DIGIT
          This token represents last month. For example, if this is
          November (the 11th month), it is equal to "10" or if this is
          October (the 10th month), it is "09". It is always 2 digits.

   LASTMONTHLONG
          This token represents last month. For example, if this is
          November the value is "October".

   LASTMONTHABBREV
          This token represents last month. For example, if this is
          November the value is "Oct".

   LASTMONTHYEAR
          This token represents what the year was a month ago. For
          example, if this is October, 1998, it is "1998". If this is
          January, 1998, it is "1997".

   LASTMONTHYEAR2DIGIT
          This token represents what the year was a month ago. For
          example, if this is October, 1998, it is "98". If this is
          January, 1998, it is "97".

   LASTYEAR
          This token represents last year. For example, if this is 1998,
          it equals "1997". It is possible that this could be useful when
          used with a Filtering Rule that has the "Beginning of Year"
          option set.

   LASTYEAR2DIGIT
          This token represents last year. For example, if this is 1998,
          it equals "97". It is always 2 digits.

   ROLENICK
          This token represents the nickname of the role currently being
          used. If no role is being used, then no text will be printed for
          this token. This token does not work with Filter Rule folder
          names.

  _Token Available Only for Reply-Leadin_

   See the help for the Reply-Leadin option, to see why you might want to
   use this. Since the _Reply-Leadin_ contains free text this token must
   be surrounded by underscores when used.

   NEWLINE
          This is an end of line marker.

  _Token Available Only for Templates and Signatures_

   CURSORPOS
          This token is different from the others. When it is replaced it
          is replaced with nothing, but it sets a _Alpine_ internal
          variable which tells the composer to start with the cursor
          positioned at the position where this token was. If both the
          template file and the signature file contain a "CURSORPOS"
          token, then the position in the template file is used. If there
          is a template file and neither it nor the signature file
          contains a "CURSORPOS" token, then the cursor is positioned
          after the end of the contents of the template file when the
          composer starts up.

Conditional Inclusion of Text for Reply-Leadin, Signatures, and Templates

   Conditional text inclusion may be used with the Reply-Leadin option, in
   signature files, and in template files used in roles. It may _not_ be
   used with the _Index-Format_ option.

   There is a limited if-else capability for including text. The if-else
   condition is based on whether or not a given token would result in
   replacement text you specify. The syntax of this conditional inclusion
   is

            _token_(match_this, if_matched [ , if_not_matched ] )

   The left parenthesis must follow the underscore immediately, with no
   intervening space. It means the token is expanded and the results of
   that expansion are compared against the "match_this" argument. If there
   is an exact match, then the "if_matched" text is used as the
   replacement text. Otherwise, the "if_not_matched" text is used. One of
   the most useful values for the "match_this" argument is the empty
   string, "". In that case the expansion is compared against the empty
   string.

   Here's an example to make it clearer. This text could be included in
   one of your template files:

         _NEWS_("", "I'm replying to email","I'm replying to news")

   If that is included in a template file which you are using while
   replying to a message (because you chose to use the role it was part
   of), and that message has a newsgroup header and a newsgroup in that
   header, then the text

                            I'm replying to news

   will be included in the message you are about to compose. On the other
   hand, if the message you are replying to does not have a newsgroup,
   then the text

                            I'm replying to email

   would be included instead. This would also work in signature files and
   in the "Reply-Leadin" option. If the "match_this", "if_matched", or
   "if_not_matched" arguments contain spaces, parentheses, or commas; they
   have to be quoted with double quotation marks (like in the example
   above). If you want to include a literal quote in the text you must
   escape the quote by preceding it with a backslash character. If you
   want to include a literal backslash character you must escape it by
   preceding it with another backslash.

   The comma followed by "if_not_matched" is optional. If there is no
   "if_not_matched" present then no text is included if the not_matched
   case is true. Here's another example:

            _NEWS_("", "", "This msg was seen in group: _NEWS_.")

   Here you can see that tokens may appear in the arguments. The same is
   true for tokens with the conditional parentheses. They may appear in
   arguments, though you do have to be careful to get the quoting and
   escaping of nested double quotes correct. If this was in the signature
   file being used and you were replying to a message sent to
   comp.mail.pine the resulting text would be:

                 This msg was seen in group: comp.mail.pine.

   If you were replying to a message which wasn't sent to any newsgroup
   the resulting text would be a single blank line. The reason you'd get a
   blank line is because the end of the line is outside of the
   conditional, so is always included. If you wanted to get rid of that
   blank line you could do so by moving the end of line inside the
   conditional. In other words, it's ok to have multi-line "if_matched" or
   "if_not_matched" arguments. The text just continues until the next
   double quotation, even if it's not on the same line.

   Here's one more (contrived) example illustrating a matching argument
   which is not the empty string.

        _SMARTDATE_("Today", _SMARTDATE_, "On _DATE_") _FROM_ wrote:

   If this was the value of your "Reply-Leadin" option and you were
   replying to a message which was sent today, then the value of the
   "Reply-Leadin" would be

                        Today Fred Flintstone wrote:

   But if you were replying to a message sent on Oct. 27 (and that wasn't
   today) you would get

                      On Oct 27 Fred Flintstone wrote:

Per Server Directory Configuration

   This is only available if _Alpine_ was built with LDAP support. If
   that's the case, there will be a Directory option underneath the Setup
   command on the Main Menu. Each server that is defined there has several
   configuration variables which control the behavior when using it.
   _ldap-server_
          This is the name of the host where an LDAP server is running.
          To find out whether your organization has its own LDAP server,
          contact its computing support staff.
   _search-base_
          This is the search base to be used on this server. It functions
          as a filter by restricting your searches in the LDAP server
          database to the specified contents of the specified fields.
          Without it, searches submitted to this directory server may
          fail. It might be something like:
      O = <Your Organization Name>, C = US

          or it might be blank. (Some LDAP servers actually ignore
          anything specified here.)
          If in doubt what parameters you should specify here, contact the
          maintainers of the LDAP server.
   _port_
          This is the TCP port number to be used with this LDAP server. If
          you leave this blank port 389 will be used.
   _nickname_
          This is a nickname to be used in displays. If you don't supply a
          nickname the server name from "ldap-server" will be used
          instead. This option is strictly for your convenience.
   _use-implicitly-from-composer_
          Set this feature to have lookups done to this server implicitly
          from the composer. If an address doesn't look like a
          fully-qualified address, it will be looked up in your address
          books, and if it doesn't match a nickname there, then it will be
          looked up on the LDAP servers which have this feature set. The
          lookups will also be done when using the address completion
          feature (TAB command) in the composer if any of the serves have
          this feature set. Also see the LDAP feature
          lookup-addrbook-contents and the Setup/Config feature
          ldap-result-to-addrbook-add.
   _lookup-addrbook-contents_
          Normally implicit LDAP lookups from the composer are done only
          for the strings you type in from the composer screen. In other
          words, you type in something in the To or CC field and press
          return, then the string is looked up. First that string is
          looked up in your address books. If a match is found there, then
          the results of that match are looked up again. If you place a
          string in your address book that you want to have looked up on
          the LDAP directory server, you need to turn on this feature. If
          you set this feature for a server, you almost always will also
          want to set the use-implicitly-from-composer feature. An example
          might serve to best illustrate this feature.
          If an LDAP lookup of "William Clinton" normally returns an entry
          with an address of pres@whitehouse.gov, then you might put an
          entry in your address book that looks like:
    Nickname     Address
    bill         "William Clinton"

          Now, when you type "bill" into an address field in the composer
          _Alpine_ will find the "bill" entry in your address book. It will
          replace "bill" with "William Clinton". It will then search for
          an entry with that nickname in your address book and not find
          one. If this feature is set, _Alpine_ will then attempt to
          lookup "William Clinton" on the LDAP server and find the entry
          with address pres@whitehouse.gov.
          A better way to accomplish the same thing is probably to use the
          feature save-search-criteria-not-result.
   _save-search-criteria-not-result_
          Normally when you save the results of an LDAP directory lookup
          to your address book the _results_ of the lookup are saved. If
          this feature is set and the entry being saved was found on this
          directory server, then the search _criteria_ is saved instead of
          the _results_ of the search. When this address book entry is
          used in the future, instead of copying the results from the
          address book the directory lookup will be done again. This could
          be useful if the copied result might become stale because the
          data on the directory server changes (for example, the entry's
          email address changes). You probably don't want to set this
          feature if the server is at all slow or unreliable.
          The way this actually works is that instead of saving the email
          address in your address book, _Alpine_ saves enough information
          to look up the same directory entry again. In particular, it
          saves the server name and the distinguished name of the entry.
          It's possible that the server administrators might change the
          format of distinguished names on the server, or that the entry
          might be removed from the server. If _Alpine_ notices this, you
          will be warned and a backup copy of the email address will be
          used. You may want to create a new entry in this case, since you
          will get the annoying warning every time you use the old entry.
          You may do that by Saving the entry to a new nickname in the
          same address book. You will be asked whether or not you want to
          use the backup email address.
          A related feature in the Setup/Config screen is
          ldap-result-to-addrbook-add.
   _disable-ad-hoc-space-substitution_
          Spaces in your input are normally handled specially. Each space
          character is replaced by
     * <SPACE>

          in the search query (but not by "* <SPACE> *"). The reason this
          is done is so the input string
     Greg Donald

          (which is converted to "Greg* Donald") will match the names
          "Greg Donald", "Gregory Donald", "Greg F. Donald", and "Gregory
          F Donald"; but it won't match "Greg McDonald". If the
          "Search-Rule" you were using was "begins-with", then it would
          also match the name "Greg Donaldson".
          Turning on this feature will disable this substitution.
   _search-type_
          This affects the way that LDAP searches are done. In particular,
          this tells the server where to look for the string to be
          matched. If set to "name" then the string that is being searched
          for will be compared with the string in the "Name" field on the
          server (technically, it is the "commonname" field on the
          server). "Surname" means we're looking for a match in the
          "Surname" field on the server (actually the "sn" field).
          "Givenname" really is "givenname" and "email" is the electronic
          mail address (this is actually the field called "mail" or
          "electronicmail" on the server). The other three types are
          combinations of the types listed so far. "Name-or-email" means
          the string should appear in either the "name" field OR the
          "email" field. Likewise, "surname-or-givenname" means "surname"
          OR "givenname" and "sur-or-given-or-name-or-email" means the
          obvious thing.
          This search _type_ is combined with the search rule to form the
          actual search query.
          The usual default value for this option is
          "sur-or-given-or-name-or-email". This type of search may be slow
          on some servers. Try "name-or-email", which is often faster, or
          just "name" if the performance seems to be a problem.
          Some servers have been configured with different attribute names
          for these four fields. In other words, instead of using the
          attribute name "mail" for the email address field, the server
          might be configured to use something else, for example,
          "rfc822mail" or "internetemailaddress". _Alpine_ can be
          configured to use these different attribute names by using the
          four per-server configuration options:
          + email-attribute
          + name-attribute
          + surname-attribute
          + givenname-attribute
   _search-rule_
          This affects the way that LDAP searches are done. If set to
          "equals" then only exact matches count. "Contains" means that
          the string you type in is a substring of what you are matching
          against. "Begins-with" and "ends-with" mean that the string
          starts or ends with the string you type in.
          Spaces in your input are normally handled specially, but you can
          turn that special handling off with the
          disable-ad-hoc-space-substitution feature.
          The usual default value for this option is _begins-with_.
   _email-attribute_
          This is the name of the attribute which is searched for when
          looking for an email address. The default value for this option
          is "mail" or "electronicmail". If the server you are using uses
          a different attribute name for the email address, put that
          attribute name here.
          This will affect the search filter used if your Search-Type is
          one that contains a search for "email". It will also cause the
          attribute value matching this attribute name to be used as the
          email address when you look up an entry from the composer.
   _name-attribute_
          This is the name of the attribute which is searched for when
          looking for the name of the entry. The default value for this
          option is "cn", which stands for common name. If the server you
          are using uses a different attribute name for the name, put that
          attribute name here. This will affect the search filter used if
          your Search-Type is one that contains a search for "name".
   _surname-attribute_
          This is the name of the attribute which is searched for when
          looking for the surname of the entry. The default value for this
          option is "sn". If the server you are using uses a different
          attribute name for the surname, put that attribute name here.
          This will affect the search filter used if your Search-Type is
          one that contains a search for "surname".
   _givenname-attribute_
          This is the name of the attribute which is searched for when
          looking for the given name of the entry. The default value for
          this option is "givenname". If the server you are using uses a
          different attribute name for the given name, put that attribute
          name here. This will affect the search filter used if your
          Search-Type is one that contains a search for "givenname".
   _timelimit_
          This places a limit on the number of seconds the LDAP search
          will continue. The default is 30 seconds. A value of 0 means no
          limit. Note that some servers may place limits of their own on
          searches.
   _sizelimit_
          This places a limit on the number of entries returned by the
          LDAP server. A value of 0 means no limit. The default is 0. Note
          that some servers may place limits of their own on searches.
   _custom-search-filter_
          This one is for advanced users only! If you define this, then
          the search-type and search-rule defined are both ignored.
          However, the feature disable-ad-hoc-space-substitution is still
          in effect. That is, the space substitution will take place even
          in a custom filter unless you disable it.
          If your LDAP service stops working and you suspect it might be
          because of your custom filter, just delete this filter and try
          using the _search-type_ and _search-rule_ instead. Another
          option that sometimes causes trouble is the search-base option.
          This variable may be set to the string representation of an LDAP
          search filter (see RFC1960). In the places where you want the
          address string to be substituted in, put a '%s' in this filter
          string. Here are some examples:
          A "Search-Type" of "name" with "Search-Rule" of "begins-with" is
          equivalent to the "custom-search-filter"
     (cn=%s*)

          When you try to match against the string "string" the program
          replaces the "%s" with "string" (without the quotes). You may
          have multiple "%s"'s and they will all be replaced with the
          string. There is a limit of 10 "%s"'s.
          A "Search-Type" of "name-or-email" with "Search-Rule" of
          "contains" is equivalent to
     (|(cn=*%s*)(mail=*%s*))

          If your server uses a different attribute _name_ than _Alpine_
          uses by default, (for example, it uses "rfc822mail" instead of
          "mail"), then you may be able to use one or more of the four
          attribute configuration options instead of defining a custom
          filter:
          + email-attribute
          + name-attribute
          + surname-attribute
          + givenname-attribute

Color Configuration

   If the terminal or terminal emulator you are using is capable of using
   color (see color-style option), or if you are using _PC-Alpine_, then
   it is possible to set up _Alpine_ so that various parts of the display
   will be shown in colors you configure. This is done using the Setup
   Color screen. The Setup Color screen is divided into five broad
   sections: Options, General Colors, Index Colors, Header Colors, and
   Keyword Colors. In addition to these five categories you may also color
   lines in the MESSAGE INDEX screen by configuring the Index Line Color.

   Each color is defined as a foreground color (the color of the actual
   text) and a background color (the color of the area behind the text).

  Color Options

   _current-indexline-style_
          This option affects the colors used to display the current line
          in the MESSAGE INDEX screen. If you do not have Index Line
          Colors defined, then this option will have no effect in the
          index. Those Rules may be defined by going to the
          Setup/Rules/Indexcolor screen.

          If the option enable-incoming-folders-checking is turned on and
          the Incoming Unseen Color is set to something other than the
          default, then this option also affects the color used to display
          the current folder in the Incoming FOLDER LIST screen.

          The available options include:

        flip-colors
                This is the default. If an index line is colored because
                it matches one of your Index Color Rules, then its colors
                will be reversed when it is the currently highlighted
                line. For example, if the line is normally red text on a
                blue background, then when it is the current line it will
                be drawn as blue text on a red background.

                The rest of the option values all revert to this
                flip-colors behavior if there is no Reverse Color defined.

        reverse
                With this option the Reverse color is always used to
                highlight the current line.

        reverse-fg
                The foreground part of the Reverse Color is used to
                highlight the current line. If this would cause the text
                to be unreadable (because the foreground and background
                colors are the same) or if it would cause no change in the
                color of the index line, then the colors are flipped
                instead.

                Some people think this works particularly well if you use
                different background colors to emphasize "interesting"
                lines, but always with the same Normal foreground color,
                and you use a different foreground color for the Reverse
                Color.

        reverse-fg-no-ambiguity
                With the "reverse-fg" rule above, it is possible that the
                resulting color will be exactly the same as the regular
                Reverse Color. That can lead to some possible confusion
                because an "interesting" line which is the current line
                will be displayed exactly the same as a non-interesting
                line which is current. You can't tell whether the line is
                just a regular current line or if it is an "interesting"
                current line by looking at the color. Setting the option
                to this value removes that ambiguity. It is the same as
                the "reverse-fg" setting unless the resulting interesting
                current line would look just like a non-interesting
                current line. In that case, the interesting line's colors
                are simply flipped (like in the default behavior).

                As an alternative way to preserve the line's
                interestingness in this case, you may find that using both
                a different foreground and a different background color
                for the interesting line will help.

        reverse-bg
                The background part of the Reverse Color is used to
                highlight the current line. If this would cause the text
                to be unreadable (because the foreground and background
                colors are the same) or if it would cause no change in the
                color of the index line, then the colors are flipped
                instead.

                Some people think this works particularly well if you use
                different foreground colors to emphasize "interesting"
                lines, but always with the same Normal background color,
                and you use a different background color for the Reverse
                Color.

        reverse-bg-no-ambiguity
                As with the "reverse-fg" case, the "reverse-bg" rule may
                also result in a color which is exactly the same as the
                regular Reverse Color. Setting the option to this value
                removes that ambiguity. It is the same as the "reverse-bg"
                setting unless the resulting current line has the same
                color as the Reverse Color. In that case, the interesting
                line's colors are simply flipped (like in the default
                behavior).

   _titlebar-color-style_
          This option affects the colors used to display the titlebar (the
          top line on the screen) when viewing a message.

          The available options include:

        default
                The color of the titlebar will be the color you set for
                the Title Color. The Title Color may be set by using the

        indexline
                The color of the titlebar will be the same as the color of
                the index line corresponding to the message being viewed.
                The rules which determine what color the index line will
                be may be set up by going to the Setup/Rules/Indexcolor
                screen. If the index line for a message is not colored
                explicitly by the Indexcolor rules, then the titlebar will
                be colored the same as for the "default" option above
                (which is not the same color that the index line itself
                will have).

        reverse-indexline
                This is similar to the "indexline" option except the
                foreground and background colors from the corresponding
                index line will be reversed. For example, if the index
                line color is red letters on a white background, then the
                titlebar will be white letters on a red background. If the
                index line for a message is not colored explicitly by the
                Indexcolor rules, then the titlebar will be colored the
                same as for the "default" option above (which is not the
                same color that the index line itself will have).

  General Colors

   _Normal Color_
          This is the color which most of the screen is painted in. By
          default this color is black characters on a white background.
   _Reverse Color_
          The color _Alpine_ uses for reverse video characters. Actually,
          the name is misleading. This used to be reverse video and so the
          name remains. It is still used to highlight certain parts of the
          screen but the color may be set to whatever you'd like.
   _Title Color_
          The color _Alpine_ uses for the titlebar (the top line on the
          screen). By default, the Title Color is black characters on a
          yellow background. The actual titlebar color may be different
          from the Title Color if the option titlebar-color-style is set
          to some value other than the default. It may also be different
          if the current folder is closed and the Title Closed Color is
          set to something different from the Title Color.
   _Title-closed Color_
          The color _Alpine_ uses for the titlebar (the top line on the
          screen) when the current folder is closed. By default, the Title
          Color Closed Color is white characters on a red background.
   _Status Color_
          The color _Alpine_ uses for messages written to the status
          message line near the bottom of the screen. By default, the
          Status Color is the same as the Reverse Color.
   _KeyLabel Color_
          The color _Alpine_ uses for the labels of the commands in the
          two-line menu at the bottom of the screen. The label is the long
          name, for example, "PrevMsg". By default, the KeyLabel Color is
          the same as the Normal Color.
          WARNING: Some terminal emulators have the property that the
          screen will scroll down one line whenever a character is written
          to the character cell in the lower right corner of the screen.
          _Alpine_ can usually avoid writing a character in that corner of
          the screen. However, if you have defined a KeyLabel Color then
          _Alpine_ does have to write a character in that cell in order to
          color the cell correctly. If you find that your display
          sometimes scrolls up a line this could be the problem. The most
          obvious symptom is probably that the titlebar at the top of the
          screen scrolls off the screen. Try setting KeyLabel Color to
          Default to see if that fixes the problem.
   _KeyName Color_
          The color _Alpine_ uses for the names of the commands in the
          two-line menu at the bottom of the screen. The KeyName is the
          shorter name in the menu. For example, the "W" before the
          "WhereIs". By default, the KeyName Color is the same as the
          Normal Color.
   _Selectable-item Color_
          The color _Alpine_ uses for displaying selectable items, such as
          URLs. By default, the Selectable-item Color is the same as the
          Normal Color, except it is also Bold.
   _Meta-message Color_
          The color _Alpine_ uses in the MESSAGE TEXT screen for messages
          to you that aren't part of the message itself. By default, the
          Meta-Message Color is black characters on a yellow background.
   _Quote Colors_
          The colors _Alpine_ uses for coloring quoted text in the MESSAGE
          TEXT screen. If a line begins with a > character (or space
          followed by >) it is considered a quote. That line will be given
          the Quote1 Color (first level quote). If there is a second level
          of quoting then the Quote2 Color will be used. _Alpine_
          considers there to be a second level of quoting if that first >
          is followed by another > (or space followed by >). If there are
          characters other than whitespace and > signs, then it isn't
          considered another level of quoting. Similarly, if there is a
          third level of quoting the Quote3 Color will be used. If there
          are more levels after that the Quote Colors are reused. If you
          define all three colors then it would repeat like Color1,
          Color2, Color3, Color1, Color2, Color3, ... If you only define
          the first two it would be Color1, Color2, Color1, Color2, ... If
          you define only the Quote1 Color, then the entire quote would be
          that color regardless of the quoting levels. By default, the
          Quote1 Color is black characters on a greenish-blue background;
          the Quote2 Color is black characters on a dull yellow
          background; and the Quote3 Color is black characters on a green
          background.
   _Incoming Unseen Color_
          If the option enable-incoming-folders-checking is turned on it
          is possible to highlight the folders that contain unseen
          messages by coloring them with this color. By default, this is
          the same as the Normal Color and no highlighting is done.
          Usually the "current" folder (the folder the cursor is on) is
          highlighted using reverse video. If the current folder is
          colored because it contains unseen messages then the color used
          to show that it is also the current folder is controlled by the
          current-indexline-style feature at the top of the SETUP COLOR
          screen.
   _Signature Color_
          The color _Alpine_ uses for coloring the signature in the
          MESSAGE TEXT screen. According to USENET conventions, the
          signature is defined as the paragraph following the "sigdashes",
          that is, the special line consisting of the three characters
          "-- " (i.e., dash, dash, and space). _Alpine_ allows for one
          empty line right after the sigdashes to be considered as part of
          the signature. By default, the Signature Color is blue
          characters on a white background.
   _Prompt Color_
          The color _Alpine_ uses for confirmation prompts and questions
          which appear in the status message line near the bottom of the
          screen. By default, the Prompt Color is the same as the Reverse
          Color.

  Index Colors

   You may add color to the single character symbols which give the status
   of each message in the MESSAGE INDEX. By default the characters "+",
   "*", "D", "A", and "N" show up near the left hand side of the screen,
   depending on whether the message is addressed to you, and whether the
   message is marked Important, is Deleted, is Answered, or is New. You
   may set the color of those symbols. By default, all of these symbols
   are drawn with the same color as the rest of the index line they are a
   part of.

   Besides coloring the message status symbols, you may also color the
   entire index line. This is done by using the Index Line Color
   configuration screen. It is also possible to color (keywords in the
   index using the Setup/Kolor screen (Keyword Colors); the ARROW cursor;
   the Subject using Index Subject Color; the From using Index From Color;
   and the Index Opening text.

   _Index-to-me Symbol Color_
          The color used for drawing the "+" symbol which signifies a
          message is addressed directly to you.
   _Index-important Symbol Color_
          The color used for drawing the "*" symbol which signifies a
          message has been flagged Important.
   _Index-deleted Symbol Color_
          The color used for drawing the "D" symbol which signifies a
          message has been marked Deleted.
   _Index-answered Symbol Color_
          The color used for drawing the "A" symbol which signifies a
          message has been answered.
   _Index-new Symbol Color_
          The color used for drawing the "N" symbol which signifies a
          message is New.
   _Index-recent Symbol Color_
          The color used for drawing the "R" symbol which signifies a
          message is Recent (only visible if the "IMAPSTATUS" or
          "SHORTIMAPSTATUS" token is part of the index-format option).
   _Index-unseen Symbol Color_
          The color used for drawing the "U" symbol which signifies a
          message is Unseen (only visible if the "IMAPSTATUS" or
          "SHORTIMAPSTATUS" token is part of the Index-Format option).
   _Index-priority Symbol Colors_
          The colors used for drawing the tokens "PRIORITY",
          "PRIORITYALPHA", and "PRIORITY!" when these are configured as
          part of the Index-Format option. You may set the color used to
          draw these tokens by use of the colors Index High Priority
          Symbol Color and Index Low Priority Symbol Color. This coloring
          takes place for all but the current index line, and the Priority
          Color appears to be in front of any color from an Index Color
          Rule. If the priority has a value of 1 or 2 the High Priority
          color will be used, and if the value is 4 or 5 the Low Priority
          color will be used.
          If you don't set these colors the index line will be colored in
          the same color as the bulk of the index line.
   _Index-arrow Symbol Color_
          The color used for drawing the "ARROW" token when it is
          configured as part of the Index-Format option.
   _Index-subject Symbol Color_
          You may set the color used to draw the Subject part of the index
          line. This coloring takes place for all but the current index
          line, and the Subject Color appears to be in front of any color
          from an Index Color Rule.
          If you don't set this color it will be colored in the same color
          as the bulk of the index line.
   _Index-from Symbol Color_
          You may set the color used to draw the From part of the index
          line. This coloring takes place for all but the current index
          line, and the From Color appears to be in front of any color
          from an Index Color Rule.
          If you don't set this color it will be colored in the same color
          as the bulk of the index line.
   _Index-opening Symbol Color_
          It is possible to configure the Index-Format option so that it
          includes the subject followed by the "opening" text of the
          message if there is enough space. This is done by using one of
          the tokens SUBJECTTEXT, SUBJKEYTEXT, or SUBJKEYINITTEXT. The
          color used for drawing this opening text is given by this
          option. The coloring happens for all but the current index line,
          and this opening color appears to be in front of any color from
          an Index Color Rule.
          By default the Index Opening Color is gray characters on a white
          background.

   The default colors for these symbols are:

     Index-to-me     black on cyan
     Index-important white on bright red
     Index-deleted   same as Normal Color
     Index-answered  bright red on yellow
     Index-new       white on magenta
     Index-recent    same as Normal Color
     Index-unseen    same as Normal Color

  Header Colors

   You may add color to the header fields in the MESSAGE TEXT screen. The

   _Header-general Color_
          may be used to color all of the headers of the message.

   It is also possible to set the colors for specific header fields, for
   example for the Subject or From fields, using the viewer-hdr-colors
   option.

   For Header Colors, there is an additional line on the configuration
   screen labeled "Pattern to match". If you leave that blank, then the
   whole field for that header will always be colored. However, if you
   give a pattern to match, the coloring will only take place if there is
   a match for that pattern in the value of the field. For example, if you
   are working on a color for the Subject header and you fill in a pattern
   of "important", then only Subjects which contain the word "important"
   will be colored. For address fields like From or To, a pattern match
   will cause only the addresses which match the pattern to be colored.

   If the pattern you enter is a comma-separated list of patterns, then
   coloring happens if any of those patterns matches.

  Keyword Colors

   Sets the colors _Alpine_ uses for Keyword fields in the MESSAGE INDEX
   screen. Keywords may be displayed as part of the Subject of a message
   by using the "SUBJKEY" or "SUBJKEYINIT" tokens in the Index-Format
   option. Keywords may also be displayed in a column of their own in the
   MESSAGE INDEX screen by using the "KEY" or "KEYINIT" tokens.

   For example, you might have set up a Keyword "Work" using the Keywords
   option in the Setup/Config screen. You could cause that Keyword to show
   up as a special color by setting up the Keyword Color using this
   option, and then including it in the MESSAGE INDEX screen using one of
   the tokens listed above in the Index-Format.

  Index Line Colors

   You may color whole index lines by using roles. This isn't configured
   in the Setup Colors screen, but is configured in the Setup Rules
   IndexColor screen.

Index Line Color Configuration

   Index Line Color causes lines in the MESSAGE INDEX screen to be
   colored. This action is only available if your terminal is capable of
   displaying color and color display has been enabled with the
   Color-Style option. (In PC-Alpine, color is always enabled so there is
   no option to turn on.)

   Each rule has a "Pattern", which is used to decide which of the rules
   is used; and the color which is used if the Pattern matches a
   particular message.

  Rule Patterns

   In order to determine whether or not a message matches a rule the
   message is compared with the rule's Pattern. These Patterns are the
   same for use with Roles, Filtering, Index Coloring, Scoring, Other
   Rules, and Search Rules, so are described in only one place, "here".

  Index Line Color

   This is the color that index lines are colored when there is a matching
   Pattern. This colors the whole index line, except possibly the status
   letters which may be colored separately using the Setup Kolor screen.

Role Configuration

   You may play different roles depending on who you are replying to. For
   example, if you are replying to a message addressed to _help-desk_ you
   may be acting as a Help Desk Worker. That role may require that you use
   a different return address and/or a different signature.

   Roles are optional. If you set up roles they work like this: Each role
   has a set of "Uses", which indicate whether or not a role is eligible
   to be considered for a particular use; a "Pattern", which is used to
   decide which of the eligible roles is used; and a set of "Actions",
   which are taken when that role is used. When you reply to a message,
   the message you are replying to is compared with the Patterns of the
   roles marked as eligible for use when replying. The comparisons start
   with the first eligible role and keep going until there is a match. If
   a match is found, the matching role's Actions are taken.

   It is also possible to set a default role and to change that role
   during your _Alpine_ session. When you start _Alpine_ no default role
   will be set. You may set or change the current default role by using
   the "D" command in the role selection screen. You'll see that screen
   while composing a message and being asked to select a role. An easy way
   to get to that screen is to use the Role Command to compose a message.
   You may find a default role useful if you normally perform the duties
   of one of your roles for a while, then you switch to another role and
   stay in the new role for another period of time. It may be easier than
   using the Role Command to select the role each time you compose a
   message.

  Role Uses

   There are three types of use to be configured; one for Replying, one
   for Forwarding, and one for Composing. These indicate whether or not
   you want a role to be considered when you type the Reply, Forward, or
   Compose commands. (The Role command is an alternate form of the Compose
   command, and it is not affected by these settings.) Each of these Use
   types has three possible values. The value "Never" means that the role
   will never be considered as a candidate for use with the corresponding
   command. For example, if you set a role's Reply Use to Never, then when
   you Reply to a message, the role won't even be considered. (That isn't
   quite true. If the message you are replying to matches some other role
   which requires confirmation, then there will be a ^T command available
   which allows you to select a role from all of your roles, not just the
   reply-eligible roles.)

   The options "With confirmation" and "Without confirmation" both mean
   that you do want to consider this role when using the corresponding
   command. For either of these settings the role's Pattern will be
   checked to see if it matches the message. For Reply Use, the message
   used to compare the Patterns with is the message being replied to. For
   Forward Use, the message used to compare the Pattern with is the
   message being forwarded. For Compose Use, there is no message, so the
   parts of the Pattern which depend on a message (everything other than
   Current Folder Type) are ignored. In all cases, the Current Folder is
   checked if defined. If there is a match then this role will either be
   used without confirmation or will be the default when confirmation is
   asked for, depending on which of the two options is selected. If
   confirmation is requested, you will have a chance to choose No Role
   instead of the offered role, or to change the role to any one of your
   other roles (with the ^T command).

  Role Patterns

   In order to determine whether or not a message matches a role the
   message is compared with the Role Pattern. These Patterns are the same
   for use with Roles, Filtering, Index Coloring, Scoring, Other Rules,
   and Search Rules, so are described in only one place, "here".

   Since header patterns, AllText patterns, and BodyText patterns which
   are unset are ignored, a role which has all header patterns unset, the
   AllText pattern unset, the BodyText pattern unset, the Score Interval
   unset, and the Current Folder Type set to "Any" may be used as a
   default role. It should be put last in the list of roles since the
   matching starts at the beginning and proceeds until one of the roles is
   a match. If no roles at all match, then _Alpine_ will use its regular
   methods of defining the role. If you wanted to, you could define a
   different "default" role for Replying, Forwarding, and Composing by
   setting the "Use" fields appropriately.

  Role Actions

   Once a role match is found, the role's Actions are taken. For each role
   there are several possible actions that may be defined. They are
   actions to set the From address, the Reply-To address, the Fcc, the
   Signature file, and the Template file.

    Initialize Settings Using Role

   This is a power user feature. You will usually want to leave this field
   empty. The value of this field is the nickname of another one of your
   roles. The Action values from that other role are used as the initial
   values of the Action items for this role. If you put something in any
   of the action fields for this role, that will override whatever was in
   the corresponding field of the initializer role.

   You might use this field if the "Action" part of one of your roles is
   something you want to use in more than one role. Instead of filling in
   those action values again for each role, you may give the nickname of
   the role where the values are filled in. It's just a shortcut way to
   define Role Actions.

   Here's an example to help explain how this works. Suppose you have a
   role with nickname "role1" and role1 has (among other things)

               Set Reply-To = The Pres <president@example.com>

   set. If in "role2" you set "Initialize settings using role" to "role1",
   then role2 will inherit the Set Reply-To value from role1 by default
   (and any of the other inheritable action values that are set). So if
   role2 had

                        Set Reply-To = <No Value Set>

   defined, the Reply-To used with role2 would be "The Pres
   <president@example.com>" However, if role2 had

                Set Reply-To = VP <vicepresident@example.com>

   defined, then the Reply-To used with role2 would be "VP
   <vicepresident@example.com>" instead.

   If you wish, you may choose a nickname from your list of roles by using
   the "T" command. If the role you are using to initialize also has a
   role it initializes from, then that initialization happens first. That
   is, inheritance works as expected with the grandparent and
   great-grandparent (and so on) roles having the expected effect.

    Set From

   This field consists of a single address which will be used as the From
   address on the message you are sending. This should be a
   fully-qualified address like

                           Full Name <user@domain>

   or just

                                 user@domain

   If this is left blank, then the normal From address will be used.

    Set Reply-To

   The Reply-To address is the address used on the Reply-To line of the
   message you are sending. You don't need a Reply-To address unless it is
   different from the From address. This should be a fully-qualified
   address like

                           Full Name <user@domain>

   or just

                                 user@domain

   If this is left blank, then there won't be a Reply-To address unless
   you have configured one specially with the customized-hdrs
   configuration option.

    Set Other-Hdrs

   This field gives you a way to set values for headers besides "From" and
   "Reply-To". If you want to set either of those, use the specific "Set
   From" and "Set Reply-To" settings.

   This field is similar to the customized-hdrs option. Each header you
   specify here must include the header tag ("To:", "Approved:", etc.) and
   may optionally include a value for that header. In order to see these
   headers when you compose using this role you must use the rich header
   command. Here's an example which shows how you might set the To
   address.

                Set Other Hdrs = To: Full Name <user@domain>

   Headers set in this way are different from headers set with the
   customized-hdrs option in that the value you give for a header here
   will replace any value that already exists. For example, if you are
   Replying to a message there will already be at least one address in the
   To header (the address you are Replying to). However, if you Reply
   using a role which sets the To header, that role's To header value will
   be used instead. The customized-hdrs headers are defaults.

   Limitation: Because commas are used to separate the list of Other
   Headers, it is not possible to have the value of a header contain a
   comma; nor is there currently an "escape" mechanism provided to make
   this work.

    Set Fcc

   This field consists of a single folder name which will be used in the
   Fcc field of the message you are sending. You may put anything here
   that you would normally type into the Fcc field from the composer.

   In addition, an fcc of "" (two double quotation marks) means no Fcc.

   A blank field here means that _Alpine_ will use its normal rules for
   deciding the default value of the Fcc field. For many roles, perhaps
   most, it may make more sense for you to use the other _Alpine_
   facilities for setting the Fcc. In particular, if you want the Fcc to
   depend on who you are sending the message to then the fcc-name-rule is
   probably more useful. In that case, you would want to leave the Fcc
   field here blank. However, if you have a role that depends on who the
   message you are replying to was From, or what address that message was
   sent to; then it might make sense to set the Fcc for that role here.

    Set LiteralSig

   This field contains the actual text for your signature, as opposed to
   the name of a file containing your signature. If this is defined it
   takes precedence over any value set in the _Set Signature_ field.

   This is simply a different way to store the signature. The signature is
   stored inside your Alpine configuration file instead of in a separate
   signature file. Tokens work the same way they do with _Set Signature_.

   The two character sequence \n (backslash followed by the character n)
   will be used to signify a line-break in your signature. You don't have
   to enter the \n, but it will be visible in the CHANGE THIS ROLE RULE
   window after you are done editing the signature.

    Set Signature

   The Signature is the name of a file to be used as the signature file
   when this role is being used. If the filename is followed by a vertical
   bar (|) then instead of reading the contents of the file the file is
   assumed to be a program which will produce the text to be used on its
   standard output. The program can't have any arguments and doesn't
   receive any input from _Alpine_, but the rest of the processing works
   as if the contents came from a file.

   Signature files may be stored remotely on an IMAP server. In order to
   do that you just give the file a remote name. This works just like the
   regular signature-file option which is configured from the
   Setup/Configuration screen. A remote signature file name might look
   like:

                  {myimaphost.myschool.k12.wa.us}mail/sig3

   or, if you have an SSL-capable version of _Alpine_, you might try

         {myimaphost.myschool.k12.wa.us/user=loginname/ssl}mail/sig3

   Once you have named the remote signature file you create its contents
   by using the "F" "editFile" command when the cursor is on the "Set
   Signature" line of the role editor.

   Besides containing regular text, a signature file may also contain (or
   a signature program may produce) tokens which are replaced with text
   which depends on the message you are replying to or forwarding. The
   tokens all look like _word_ (a word surrounded by underscores). For
   example, if the token

                                   _DATE_

   is included in the text of the signature file, then when you reply to
   or forward a message, the token will be replaced with the actual date
   the message you are replying to or forwarding was sent.

   If you use a role which has a signature file for a plain composition
   (that is, not a reply or forward) then there is no original message, so
   any tokens which depend on the message will be replaced with nothing.
   So if you want a signature file to be useful for new compositions it
   shouldn't include any of the tokens which depend on the message being
   replied to or forwarded.

   The list of available tokens is here.

   Actually, for the adventurous, there is a way to conditionally include
   text based on whether or not a token would result in specific
   replacement text. For example, you could include some text based on
   whether or not the _NEWS_ token would result in any newsgroups if it
   was used. It's explained in detail here.

   In the very unlikely event that you want to include a literal token in
   a signature file, you must precede it with a backslash character. For
   example, to include the literal text _DATE_ you must actually use
   \_DATE_. It is not possible to have a literal backslash followed by an
   expanded token.

   A blank field here means that _Alpine_ will use its normal rules for
   deciding which file (if any) to use for the signature file.

    Set Template

   A Template is the name of a file to be included in the message when
   this role is being used. The template file is a file which is included
   at the top of the message you are composing.

   If the filename is followed by a vertical bar (|) then instead of
   reading the contents of the file the file is assumed to be a program
   which will produce the text to be used on its standard output. The
   program can't have any arguments and doesn't receive any input from
   _Alpine_, but the rest of the processing works as if the contents came
   from a file.

   Template files may be stored remotely on an IMAP server. In order to do
   that you just give the file a remote name. This works just like the
   regular signature-file option which is configured from the
   Setup/Configuration screen. A remote template file name might look
   like:

                 {myimaphost.myschool.k12.wa.us}mail/templ3

   or, if you have an SSL-capable version of _Alpine_, you might try

        {myimaphost.myschool.k12.wa.us/user=loginname/ssl}mail/templ3

   Once you have named the remote template file you create its contents by
   using the "F" "editFile" command when the cursor is on the "Set
   Template" line of the role editor.

   Besides containing regular text, a template file may also contain (or a
   template file program may produce) tokens which are replaced with text
   which depends on the message you are replying to or forwarding. The
   tokens all look like _word_ (a word surrounded by underscores). For
   example, if the token

                                   _DATE_

   is included in the text of the template file, then when you reply to or
   forward a message, the token will be replaced with the actual date the
   message you are replying to or forwarding was sent.

   If you use a role which has a template file for a plain composition
   (that is, not a reply or forward) then there is no original message, so
   any tokens which depend on the message will be replaced with nothing.
   So if you want a template file to be useful for new compositions it
   shouldn't include any of the tokens which depend on the message being
   replied to or forwarded.

   The list of available tokens is here.

   Actually, for the adventurous, there is a way to conditionally include
   text based on whether or not a token would result in specific
   replacement text. For example, you could include some text based on
   whether or not the _NEWS_ token would result in any newsgroups if it
   was used. It's explained in detail here.

   In the very unlikely event that you want to include a literal token in
   a template file, you must precede it with a backslash character. For
   example, to include the literal text _DATE_ you must actually use
   \_DATE_. It is not possible to have a literal backslash followed by an
   expanded token.

   A blank field here means that _Alpine_ will not use a template file
   when this role is being used.

    Use SMTP Server

   If this field has a value, then it will be used as the SMTP server to
   send mail when this role is being used (unless the SMTP server variable
   is set in the system-wide fixed configuration file). It has the same
   semantics as the smtp-server variable in the Setup/Config screen. When
   you postpone the composition this SMTP server list will be saved with
   the postponed composition and it cannot be changed later. Because of
   that, you may want to make this a list of SMTP servers with the
   preferred server at the front of the list and alternate servers later
   in the list.

   If any of the actions are left unset, then the action depends on what
   is present in the "Initialize settings using role" field. If you've
   listed the nickname of another one of your roles there, then the
   corresponding action from that role will be used here. If that action
   is also blank, or if there is no nickname specified, then _Alpine_ will
   do whatever it normally does to set these actions. This depends on
   other configuration options and features you've set.

Filtering Configuration

   The software which actually delivers mail (the stuff that happens
   before _Alpine_ is involved) for you is in a better position to do mail
   filtering than _Alpine_ itself. If possible, you may want to look into
   using that sort of mail filtering to deliver mail to different folders,
   delete it, or forward it. However, if you'd like _Alpine_ to help with
   this, _Alpine_'s filtering is for you.

   Filtering is a way to automatically move certain messages from one
   folder to another or to delete messages. It can also be used to set
   message status bits (Important, Deleted, New, Answered). _Alpine_
   doesn't have the ability to forward mail to another address.

   Each filtering rule has a "Pattern" and a "Filter Action". When a
   folder is opened, when new mail arrives in an open folder, or when mail
   is Expunged from a folder; each message is compared with the Patterns
   of your filtering rules. The comparisons start with the first rule and
   keep going until there is a match. If a match is found, the message may
   be deleted or moved, depending on the setting of the Filter Action. If
   the message is not deleted, it may have its status altered.

   For efficiency, each message is usually only checked once. When new
   mail arrives, the new messages are checked but not the old. There are
   some exceptions to this rule. The expunge command will cause all
   messages to be rechecked, as will editing of the filtering rules.

   _NOTE:_ When setting up a Pattern used to delete messages, it is
   recommended that you test the Pattern first with a "Move" folder
   specified in case unintended matches occur. Messages that are deleted
   will be removed from the folder and _unrecoverable_ from within _Alpine_
   after the next Expunge command or once the folder being filtered has
   been closed.

  Filter Patterns

   In order to determine whether or not a message matches a filter the
   message is compared with the Filter's Pattern. These Patterns are the
   same for use with Roles, Filtering, Index Coloring, Scoring, Other
   Rules, and Search Rules, so are described in only one place, "here".

   Since filtering is a potentially destructive action, if you have a
   filtering Pattern with nothing other than Current Folder Type set, that
   filtering rule is ignored.

  Filter Actions

   Once a filter match is found for a particular message, there are some
   actions which may be taken. First, the message may have its status
   changed. This is the same message status that you can manipulate
   manually using the Flag Command. There are four elements of message
   status that you can control. You can set or clear the Important status,
   the New status, the Deleted status, and the Answered status. Of course,
   if the filter is going to delete the message, then there is no point in
   setting message status. You may also set or clear user-defined keywords
   for a message.

   Second, the filter may delete or move the message. Deleting the message
   marks it Deleted and removes it from view. It is effectively gone
   forever (though it technically is still there until the next expunge
   command, which may happen implicitly). Moving the message moves it from
   the open folder into the folder listed on the "Folder List" line of the
   filter configuration. If you list more than one folder name (separated
   by commas) then the message will be copied to each of those folders. In
   any case, if "Delete" or "Move" is set then the message is removed from
   the current folder. If you just want to set the messages status without
   deleting it from the folder, then set the filter action to "Just Set
   Message Status".

   (There is no way to do a Copy instead of a Move, due to the
   difficulties involved in keeping track of whether or not a message has
   already been copied by a previous _Alpine_ session.)

    Move-only-if-not-deleted option

   If you have specified a Move to Folder to filter messages into, then
   this option has an effect. If this option is set then messages will
   only be moved into the specified folder if they aren't already marked
   deleted. This might be useful if you have more than one _Alpine_
   session running simultaneously and you don't want messages to be
   filtered into a folder more than once. This method is not foolproof.
   There may be cases where a message gets marked deleted and so it is
   never filtered into the folder. For example, if you deleted it in
   another _Alpine_ or another mail program that didn't know about the
   filtering rule.

   This option has no effect if the Filter Action is not set to Move.

    Dont-quit-even-if-rule-matches option

   If this option is set then this is a non-terminating rule. Usually, for
   each message, _Alpine_ searches through the filter rules until a match
   is found and then it performs the action associated with that rule.
   Rules following the match are not considered. If this option is set
   then the search for matches will continue at the next rule.

   If a non-terminating rule matches then the actions associated with that
   rule, except for any implied deletion of the message, are performed
   before the match for the next rule is checked. For example, if the
   non-terminating rule sets the Important status, then that status will
   be set when the next rule is considered. However, if the
   non-terminating rule Moves the message, the message will actually be
   copied instead of copied and deleted so that it is still there for the
   next rule. A moved message is deleted after all the relevant rules have
   been checked. The name of the "Move" action is confusing in this case
   because a single message can be moved to more than one folder. It turns
   the Move into a Copy instead, but it is still followed by a deletion at
   the end.

   This option may be useful if you want to have a single message filtered
   to two different folders because it matches two different Patterns. For
   example, suppose you normally filter messages to a particular mailing
   list into one folder, and messages addressed directly to you into a
   second folder. If a message is sent to both you and the list (and you
   can tell that by looking at the headers of the message) this option may
   give you a convenient way to capture a copy to each folder. (It may
   also cause you to capture two copies to each folder, depending on
   whether your mail system delivers one or two copies of the message to
   you and on how the list works.)

Scoring Configuration

   Most people will not use scores at all, but if you do use them, here's
   how they work in Alpine. Using this screen, you may define Scoring
   rules. The score for a message is calculated by looking at every Score
   rule defined and adding up the Score Values for the ones which match
   the message. If there are no matches for a message, it has a score of
   zero. Message scores may be used a couple of ways in Alpine.

  Sorting by Score

   One of the methods you may use to sort message indexes is to sort by
   score. The scores of all the messages in a folder will be calculated
   and then the index will be ordered by placing the messages in order of
   ascending or descending score.

  Scores for use in Patterns

   The Patterns used for Roles, Index Line Coloring, and Filtering have a
   category labeled "Score Interval". When a message is being compared
   with a Pattern to check for a match, if the Score Interval is set only
   messages which have a score somewhere in the interval are a match.

  Scoring Rule Patterns

   In order to determine whether or not a message matches a scoring rule
   the message is compared with the rule's Pattern. These Patterns are the
   same for use with Roles, Filtering, Index Coloring, Scoring, Other
   Rules, and Search Rules, so are described in only one place, "here".

   Actually, Scoring rule Patterns are slightly different from the other
   types of Patterns because Scoring rule Patterns don't contain a Score
   Interval. In other words, when calculating the score for a message,
   which is done by looking at the Scoring rule Patterns, scores aren't
   used.

  Score Value

   This is the value that will be added to the score for a message if the
   rule's Pattern is a match. Each individual Score Value is an integer
   between -100 and 100, and the values from matching rules are added
   together to get a message's score. There is also a way to extract the
   value from a particular header of each message. See the help text for
   Score Value for further information.

Other Rules Configuration

   Using this screen, you may define configuration Rules which don't fit
   nicely into the other Rules categories.

  Other Rule Patterns

   Other Rules are a little different from the rest of the Rules because
   they depend only on the current folder, and not on a particular
   message. In order to determine whether or not a rule's actions should
   be applied the current folder is compared with the rule's Pattern,
   which consists of only the Current Folder Type. Current Folder Type
   works the same for Other Rules as it does for Roles, Filtering, Index
   Coloring, and Scoring. Keep in mind that the only part of the Pattern
   which applies to Other Rules is the Current Folder Type when looking at
   the description of Patterns given "here".

  Other Rule Actions

   Once a pattern match is found, the rule's Actions are taken. Neither of
   the following two rule's depends on a message for its match. That means
   that all the parts of the Pattern which depend on matching an attribute
   of a message are ignored. So the only part of the Pattern that matters
   for these Actions is the Current Folder Type.

    Set Sort Order

   When you enter a new folder, these rules will be checked to see if you
   have set a sort order which is different from your default sort order.
   The default is set in the Setup/Config screen with the Sort-Key option.
   If the Sort Order action is set, then the folder will be displayed
   sorted in that sort order instead of in the default order.

   A possible point of confusion arises when you change the configuration
   of the Sort Order for the currently open folder. The folder will
   normally be re-sorted when you go back to viewing the index. However,
   if you have manually sorted the folder with the Sort command, it will
   not be re-sorted.

    Set Index Format

   When you enter a new folder, these rules will be checked to see if you
   have set an Index Format which is different from your default Index
   Format, which is set with the Index-Format option. If so, the index
   will be displayed with this format instead of the default.

    Set Startup Rule

   When you enter a new folder, these rules will be checked to see if you
   have set a startup rule which is different from the default startup
   rule. The default for incoming folders is set in the Setup/Config
   screen with the "incoming-startup-rule" option. The default for folders
   other than INBOX that are not part of your incoming collection (see
   enable-incoming-folders feature) is to start with the last message in
   the folder. If the Startup Rule is set to something other than
   "default", then the rule will determine which message will be the
   current message when the folder is first opened.

   The various startup rule possibilities work the same here as they do in
   the incoming collection, except that the folder can be any specific
   folder or any folder type.

Search Rules Configuration

   One of the commands that becomes available when that feature is turned
   on is the "; Select" command, which is used in the MESSAGE INDEX screen
   to select a set of messages. One way of selecting messages is to use a
   Rule. All of the messages which match (or don't match if you wish) a
   Rule's Pattern will be selected.

   Any of your Rules may be used for this purpose. You might already have
   Rules set up for filtering, index line color, scores, or roles; and you
   may use any of those Rules with the Select command. However, you might
   find it more convenient to set up a separate set of Rules just for this
   purpose without having to worry about what other effects they may
   cause. That is the purpose of these Select Rules.

  Rule Patterns

   In order to determine whether or not a message is selected by a rule
   the message is compared with the rule's Pattern. These Patterns are the
   same for use with Roles, Filtering, Index Coloring, Scoring, Other
   Rules, and Search Rules, so are described in only one place, "here".

   There is no action associated with these Search Rules. Only their
   Patterns are used.

Patterns

   Patterns are used with Roles, Filtering, Index Coloring, Scoring, Other
   Rules, and Search Rules. Patterns are compared with a message to see if
   there is a match. For Filtering, the messages being checked are all the
   messages in the folder, one at a time. For Index Line Coloring, each
   message that is visible on the screen is checked for matches with the
   Index Coloring Patterns. Roles are used with the Reply, Forward, and
   Compose commands. For Reply, the message used to compare the Pattern
   with is the message being replied to; for Forward, the message used to
   compare the Pattern with is the message being forwarded; and for
   Compose, there is no message, so the parts of the Pattern which depend
   on a message (everything other than Current Folder Type and the
   Beginning of Month and Year) are not used. Only the Current Folder Type
   matters for Compose (plus the Beginning of Month or Year, which you
   wouldn't usually use for a Role). For Scoring, the message being scored
   is compared with all of the Score Patterns, and the Score Values from
   the ones that match are added together to get the message's score. For
   Other Rules, there is no message. Only the Current Folder Type is
   checked for Other Rules.

   Each Pattern has several possible parts, all of which are optional. In
   order for there to be a match, _ALL_ of the _defined_ parts of the
   Pattern must match the message. If a part is not defined it is
   considered a match. For example, if the To pattern is not defined it
   will be displayed as

                         To pattern = <No Value Set>

   That is considered a match because it is not defined. This means that
   the Pattern with nothing defined is a match if the Current Folder Type
   matches, but there is an exception. Because filtering is a potentially
   destructive action, filtering Patterns with nothing other than Current
   Folder Type defined are ignored. If you really want a filtering Pattern
   to match all messages (subject to Current Folder Type) the best way to
   do it is to define a Score interval which includes all possible scores.
   This would be the score interval (-INF,INF). This can be used even if
   you haven't defined any rules to Set Scores.

   There are six predefined header patterns called the To, From, Sender,
   Cc, News, and Subject patterns. Besides those six predefined header
   patterns, you may add additional header patterns with header fieldnames
   of your choosing. You add an extra header pattern by placing the cursor
   on one of the patterns while in the role editor and using the
   "eXtraHdr" command. The Recip pattern is a header pattern which stands
   for Recipient (To OR Cc) and the Partic pattern is a header pattern
   which stands for Participant (From OR To OR Cc). (Defining the Recip
   pattern does not have the same effect as defining both the To and Cc
   patterns. Recip is To _OR_ Cc, not To _AND_ Cc.) Similar to the header
   patterns are the AllText pattern and the BodyText pattern. Instead of
   comparing this pattern's text against only the contents of a particular
   header field, the text for the AllText pattern is compared with text
   anywhere in the message's header or body, and the text for the BodyText
   pattern is compared with text anywhere in the message's body.

   Any of the header patterns, the AllText pattern, or the BodyText
   pattern may be negated with the "!" "toggle NOT" command. You can tell
   that _NOT_ has been turned on by looking for the character "!" at the
   beginning of the pattern line. When the "!" is present, it reverses the
   meaning of the match. That is, if the pattern matches then it is
   considered to NOT be a match, and if it does not match it is considered
   to be a match.

   Don't make the mistake of putting the "!" in the data field for a
   pattern. For example, if you type the characters "!urgent" into the
   Subject pattern, the pattern will look like:

 Subject pattern = !urgent

   This means you want to match the 7 character sequence "!urgent". In
   order to match messages which do not have "urgent" in their Subject
   field, first type the characters "urgent" followed by carriage return
   for the value of the Subject pattern, then negate it by typing the "!"
   command. It should look like

 ! Subject pattern = urgent

   The contents of each of these header patterns (or the AllText or
   BodyText patterns) may be a complete email address, part of an address,
   or a random set of characters to match against. It may also be a list
   of such patterns, which means you are looking for a match against the
   first pattern in the list _OR_ the second pattern _OR_ the third and so
   on. For example, a Subject pattern equal to

 Subject pattern = urgent
                   emergency
                   alert

   would match all messages with a subject which contained at least one of
   those words. It would also match subjects containing the words "alerts"
   or "Urgently".

   The same example with "NOT" turned on would be

 ! Subject pattern = urgent
                     emergency
                     alert

   which would match all messages with a subject which did NOT contain any
   of those words. You can use the "Add Value" command to add new words to
   the list, or you can enter them as a comma-separated list.

   (It is not possible to specify two patterns which must _BOTH_ be
   present for a match. It is only possible to specify that _EITHER_
   pattern1 _OR_ pattern2 must be present, and that is exactly what using
   a list does.)

   The "Current Folder Type" and the "Score Interval" are also part of the
   Pattern, although the "Score Interval" is not used when checking for
   matches for Scoring. There are five similar settings which relate to
   the status of the message. These settings rely on the message being New
   or not, Deleted or not, Answered or not, Important or not, and Recent
   or not. There are also some other miscellaneous settings. The first is
   the Age of the message in days. Another is the Size of the message in
   bytes. The third is a setting which detects whether or not the Subject
   of a message contains raw 8-bit characters (unencoded characters with
   the most significant bit set). There is a setting which detects whether
   or not this is the first time _Alpine_ has been run this month (doesn't
   depend on individual messages), and another which detects whether or
   not this is the first time _Alpine_ has been run this year. Other parts
   of the Pattern detect whether or not the From address of a message
   appears in your address book, whether or not certain keywords are set
   for a message, and whether or not certain character sets are used in a
   message.

  Parts of a Pattern

    Header patterns

   A header pattern is simply text which is searched for in the
   corresponding header field. For example, if a Pattern has a From header
   pattern with the value "@company.com", then only messages which have a
   From header which contains the text "@company.com" will be possible
   matches. Matches don't have to be exact. For example, if the relevant
   field of a message contains the text "mailbox@domain" somewhere in it,
   then header patterns of "box", or "x@d", or "mailbox@domain" are all
   matches.

   All parts of the Pattern must match so, for example, if a message
   matches a defined From pattern, it still must be checked against the
   other parts of the Pattern which have been defined. The To header
   pattern is a slightly special case. If the message being checked has a
   Resent-To header and the feature Use-Resent-To-in-Rules is turned on,
   the addresses there are used in place of the addresses in the To
   header. This is only true for the To header. Resent-cc and Resent-From
   headers are never used unless you add them with the eXtraHdrs command.

   The meaning of a header pattern may be negated with the "!" "toggle
   NOT" command. You can tell that _NOT_ has been turned on by looking for
   the character "!" at the beginning of the pattern line. It would look
   something like

 ! From pattern = susan@example.com

   When the "!" is present, it reverses the meaning of the match.

   If you want to check for the presence of a header field but don't care
   about its value, then the empty pattern which you get by entering a
   pair of double quotes ("") should match any message which has the
   corresponding header field.

    AllText patterns

   AllText patterns are just like header patterns except that the text is
   searched for anywhere in the message's headers or body, not just in the
   contents of a particular header field.

    BodyText patterns

   BodyText patterns are just like header patterns except that the text is
   searched for anywhere in the message's body, not just in the contents
   of a particular header field.

   If there is more than one header pattern or AllText pattern or BodyText
   pattern for which you want to take the same action there is a shorthand
   notation which may be used. Any of these patterns may be a list of
   patterns instead of just a single pattern. If any one of the patterns
   in the list matches the message then it is considered a match. For
   example, if "company1" and "company2" both required you to use the same
   role when replying to messages, you might have a To pattern which looks
   like

 To pattern = company1.com
              company2.com

   This means that if the mail you are replying to was addressed to either
   "anything@company1.com" or "anything@company2.com", then this Pattern
   is a match and the same actions will be taken.

   The meaning of an AllText or BodyText pattern may be negated with the
   "!" "toggle NOT" command. You can tell that _NOT_ has been turned on by
   looking for the character "!" at the beginning of the pattern line.
   When the "!" is present, it reverses the meaning of the match.

   A technicality: Since comma is the character used to separate multiple
   values in any of the fields which may have multiple values (such as
   header patterns, AllText patterns, BodyText patterns, keywords, folder
   lists, and so on), you must escape comma with a backslash (\) if you
   want to include a literal comma in one of those fields. In other words,
   if you type a backslash followed by a comma it will be interpreted as a
   comma by _Alpine_, instead of as a separator between pattern values.
   All other backslashes (those not followed by a comma) are literal
   backslashes and should not be escaped. It's unlikely you'll ever need
   to enter a literal comma or backslash in any of the patterns.

    Current Folder Type

   The "Current Folder Type" may be set to one of four different values:
   "Any", "News", "Email", or "Specific". If the value is set to "News",
   then the Pattern will only match if the currently open folder is a
   newsgroup. The value "Email" only matches if the current folder is not
   news and the value "Any" causes any folder to match. If the value of
   "Current Folder Type" is set to "Specific", then you must fill in a
   value for "Folder", which is on the line below the "Specific" line. In
   this case you will only get a match if the currently open folder is the
   specific folder you list. You may give a list of folders instead of
   just a single folder name, in which case the Pattern will match if the
   open folder is any one of the folders in the list. The name of each
   folder in the list may be either "INBOX", the technical specification
   of the folder (like what appears in your configuration file) or, if the
   folder is one of your incoming folders, it may be the nickname you've
   given the folder. Here are some samples of specific folder names:

                    {monet.art.example.com}mail/art-class

                 {news.example.com/nntp}#news.comp.mail.pine

                              mail/local-folder

   The easiest way to fill in the "Folder" field is to use the "T" command
   which is available when the "Folder" line is highlighted, or to use the
   "Take" command with the configuration feature "enable-rules-under-take"
   turned on.

   When reading a newsgroup, there may be a performance penalty incurred
   when collecting the information necessary to check whether or not a
   Pattern matches a message. For this reason, the default Current Folder
   Type is set to "Email". If you have Patterns with a Current Folder Type
   of either "Any" or "News" and those Patterns are used for Index Line
   Coloring or Scoring, you may experience slower screen redrawing in the
   MESSAGE INDEX screen when in a newsgroup.

    Age Interval

   The "Age Interval" may be set to an interval of message ages which
   should be considered a match. Like the other parts of the Pattern, if
   it is unset it will be ignored. The Age Interval looks like

                              (min_age,max_age)

   where "min_age" and "max_age" are integers greater than or equal to
   zero. The special value "INF" may be used for the max value. It
   represents infinity.

   Actually, this option may be defined as a list of intervals instead of
   just a single interval. The list is separated by commas. It can look
   like

                 (min_age1,max_age1),(min_age2,max_age2),...

   When there is an Age Interval defined, it is a match if the age, in
   days, of the message is contained in any of the intervals. The
   intervals include both endpoints.

   Even though this option is called Age, it isn't actually the _age_ of
   the message. Instead, it is how many days ago the message arrived in
   one of your folders. If the current time is a little past midnight,
   then a message that arrived just before midnight arrived yesterday,
   even though the message is only a few minutes old. By default, the date
   being used is not the date in the Date header of the message. It is the
   date that the message arrived in one of your folders. When you Save a
   message from one folder to another that arrival date is preserved. If
   you would like to use the date in the Date header that is possible.
   Turn on the option _use-date-header-for-age_ near the bottom of the
   rule definition.

   A value of 0 is today, 1 is yesterday, 2 is the day before yesterday,
   and so on.

    Size Interval

   The "Size Interval" may be set to an interval of message sizes which
   should be considered a match. Like the other parts of the Pattern, if
   it is unset it will be ignored. The Size Interval looks like

                             (min_size,max_size)

   where "min_size" and "max_size" are integers greater than or equal to
   zero. The special value "INF" may be used for the max value. It
   represents infinity.

   Actually, this option may be defined as a list of intervals instead of
   just a single interval. The list is separated by commas. It can look
   like

               (min_size1,max_size1),(min_size2,max_size2),...

   When there is a Size Interval defined, it is a match if the size, in
   bytes, of the message is contained in any of the intervals. The
   intervals include both endpoints.

    Score Interval

   The "Score Interval" may be set to an interval of message scores which
   should be considered a match. Like the other parts of the Pattern, if
   it is unset it will be ignored. The Score Interval looks like

                            (min_score,max_score)

   where "min_score" and "max_score" are integers between -32000 and
   32000. The special values "-INF" and "INF" may be used for the min and
   max values to represent negative and positive infinity.

   Actually, a list of intervals may be used if you wish. A list would
   look like

             (min_score1,max_score1),(min_score2,max_score2),...

   When there is a Score Interval defined, it is a match if the score for
   the message is contained in any of the intervals in the list. The
   intervals include the endpoints. The score for a message is calculated
   by looking at every Score rule defined and adding up the Score Values
   for the ones which match the message. When deciding whether or not a
   Pattern matches a message for purposes of calculating the score, the
   Score Interval is ignored.

    Message Status

   There are five separate message status settings. By default, all five
   are set to the value "Don't care", which will match any message. The
   value "Yes" means that the particular status must be true for a match,
   and the value "No" means that the particular status must not be true
   for a match. For example, one of the five Message Status settings is
   whether a message is marked Important or not. A "Yes" means that the
   message must be Important to be considered a match and "No" means that
   the message must not be Important to be considered a match. The same is
   true of the other four message status settings which depend on whether
   or not the message is New; whether the message has been Answered or
   not; whether the message has been Deleted or not, and whether the
   message is Recent or not.

   The nomenclature for New and Recent is a bit confusing:

   New means that the message is Unseen. It could have been in your
   mailbox for a long time but if you haven't looked at it, it is still
   considered New. That matches the default _Alpine_ index display that
   shows an N for such a message.

   Recent means that the message was added to this folder since the last
   time you opened the folder. _Alpine_ also shows an N by default for
   these types of messages. If you were to run two copies of _Alpine_ that
   opened a folder one right after the other, a message would only show up
   as Recent in (at most) the first _Alpine_ session.

    Message Keywords

   Keywords are similar to Message Status, but they are chosen by the
   user. Provided the mail server allows for it, you may add a set of
   possible keywords to a folder and then you may set those keywords or
   not for each message in the folder. The syntax of this part of the
   Pattern is similar to the header patterns. It is a list of keywords.
   The Keyword part of the Pattern is a match if the message has any of
   the keywords in the list set. Like other parts of the Pattern, if this
   is unset it will be ignored.

    Message Character Set

   A message may use one or more character sets. This part of the Pattern
   matches messages which make use of one or more of the character sets
   specified in the pattern. It will be considered a match if a message
   uses any of the character sets in the list you give here. The syntax of
   this part of the Pattern is similar to the header patterns and the
   Message Keywords pattern. It is a list of character sets.

   Besides actual character set names (for example, ISO-8859-7, KOI8-R, or
   GB2312) you may also use some shorthand names that _Alpine_ provides.
   These names are more understandable shorthand names for sets of
   character set names. Two examples are "Cyrillic" and "Greek". Selecting
   one of these shorthand names is equivalent to selecting all of the
   character sets that make up the set. You can see all of these shorthand
   names and the lists of character sets they stand for by typing the "T"
   command with the Character Set pattern highlighted. The Character Set
   part of the Pattern is a match if the message uses any of the character
   sets in the list. Like other parts of the Pattern, if this is unset it
   will be ignored.

    Raw 8-bit in Subject

   It seems that lots of unwanted email contains unencoded 8-bit
   characters in the Subject. Normally, characters with the 8th bit set
   are not allowed in the Subject header unless they are MIME-encoded.
   This option gives you a way to match messages which have Subjects which
   contain unencoded 8-bit characters. Setting this option will affect
   performance in large folders because the subject of each message in the
   folder has to be checked.

    Beginning of Month

   This option gives you a way to take some action once per month. The
   value "Yes" means that this must be the first time _Alpine_ has been
   run this month in order to count as a match,

    Beginning of Year

   This option gives you a way to take some action once per year. The
   value "Yes" means that this must be the first time _Alpine_ has been
   run this year in order to count as a match,

    From or Reply-To address in Address Books

   This option gives you a way to match messages which have a From or a
   Reply-To address which is in one of your address books. Only the simple
   entries in your address books are searched. Address book distribution
   lists are ignored! Setting this option will affect performance in large
   folders because the From and Reply-To of each message in the folder
   have to be checked.

    Categorizer Command

   This is a command that is run with its standard input set to the
   message being checked and its standard output discarded. The full
   directory path should be specified. The command will be run and then
   its exit status will be checked against the Exit Status Interval, which
   defaults to just the value zero. If the exit status of the command
   falls in the interval, it is considered a match, otherwise it is not a
   match.

   This option may actually be a list of commands. The first one that
   exists and is executable is used. That makes it possible to use the
   same configuration with Unix _Alpine_ and _PC-Alpine_.

   If none of the commands in the list exists and is executable then the
   rule is _not_ a match. If it is possible that the command may not
   exist, you should be careful to structure your rules so that nothing
   destructive happens when the command does not exist. For example, you
   might have a filter that filters away spam when there is a match but
   does nothing when there is not a match. That would continue to work
   correctly if the command didn't exist. However, if you have a filter
   which filters away spam when there is not a match and keeps it when
   there is a match, that would filter everything if the categorizer
   command didn't exist.

  Help Configuring Pattern Fields

   _Nickname_
          This is a nickname to help you. You should have a different
          nickname for each role you define. The nickname will be used in
          the SETUP ROLE RULES screen to allow you to pick a role to edit.
          It will also be used when you send a message to let you know you
          are sending with a different role than you use by default, and
          it will be useful for choosing a role when composing with the
          Role command or when composing with one of the Role Uses set to
          With Confirmation. This field is not used in the outgoing
          message.
   _Comment_
          This is a comment to help you. This comment does not play any
          functional role, it is simply an optional comment to help you
          remember what the rule is for.
   _To pattern_
          If this pattern is non-blank, then for this role to be
          considered a match, at least one of the recipients from the To
          line of the message being replied to or forwarded must match
          this pattern. In the case of the Compose command, this pattern
          and the other header patterns are ignored. If this pattern is a
          list of patterns, then at least one of the recipients must match
          at least one of the patterns. (Any other non-blank parts of the
          Pattern must match, too.) If the message being replied to or
          forwarded has a Resent-To header line, then that is used in
          place of the To line. (Note that this special Resent rule only
          applies to the To header. The Resent-From, Resent-Subject, and
          so on are not consulted.)
          It is possible to add a _NOT_ to the To Pattern meaning with the
          "!" "toggle NOT" command. This changes the meaning of the To
          pattern so that it has the opposite meaning. It will be
          considered a match if there are no matches between the addresses
          in the To: line and the list of To patterns.
          Don't make the mistake of putting the "!" in the data field for
          the pattern. For example, if you type the characters "!frizzle"
          into the To pattern, the pattern will look like:
 To pattern = !frizzle

          This means you want to match the 8 character sequence
          "!frizzle". In order to match messages which do not have
          "frizzle" in their To field, first type the characters "frizzle"
          followed by carriage return for the value of the To pattern,
          then negate it by typing the "!" command. It should end up
          looking like
 ! To pattern = frizzle

   _From pattern_
          This is just like the To pattern except that it is compared with
          the address from the From header of the message being replied to
          or forwarded instead of the addresses from the To header.
   _Sender pattern_
          This is just like the To pattern except that it is compared with
          the address from the Sender header of the message being replied
          to or forwarded instead of the addresses from the To header. If
          there is no Sender header, then the From header is used instead.
   _Cc pattern_
          This is just like the To pattern except that it is compared with
          the address from the CC header of the message being replied to
          or forwarded instead of the addresses from the To header.
   _News pattern_
          If this pattern is non-blank, then for this role to be
          considered a match, at least one of the newsgroups from the
          Newsgroups line of the message must match this pattern. If this
          pattern is a list of patterns, then at least one of the
          newsgroups must match at least one of the patterns. (Any other
          non-blank parts of the Pattern must match, too.)
   _Subject pattern_
          This is similar to the other header patterns. It is compared
          with the contents from the Subject of the message being replied
          to or forwarded.
          If you enter non-ascii characters in this field then the search
          will be done using the character set you have defined with the
          Character-Set configuration variable. (The truly sophisticated
          may use an alternate character set for a search by entering the
          MIME encoding of the header string here.)
   _Extra header patterns_
          There isn't actually a field called Extra header patterns, but
          you may add extra header patterns by moving the cursor to one of
          the header patterns and using the "eXtraHdr" command to add a
          new header pattern. You would do this if the six predefined
          header patterns don't cover the header you want to use for
          pattern matching. Once you've added an extra header pattern, you
          use it just like the Subject pattern. Of course, it is compared
          with the contents from the particular header field of the
          message being replied to or forwarded rather than the contents
          from the subject field. To remove an extra header pattern from a
          role, use the &quotRemoveHdr" command on the highlighted extra
          header.
          If you enter non-ascii characters in this field then the search
          will be done using the character set you have defined with the
          Character-Set configuration variable. (The truly sophisticated
          may use an alternate character set for a search by entering the
          MIME encoding of the header string here.)
   _Recipient pattern_
          This is just like the To pattern except that it is compared with
          the addresses from both the To header and the Cc header instead
          of just the addresses from the To header. It's equivalent to
          having two different rules; one with a To pattern and the other
          with the same Cc pattern.
   _Participant pattern_
          This is just like the To pattern except that it is compared with
          the addresses from the To header, the Cc header, and the From
          header instead of just the addresses from the To header. It's
          equivalent to having three different rules; one with a To
          pattern, another with the same Cc pattern, and another with the
          same From pattern.
   _AllText pattern_
          This is similar to the header patterns. Instead of comparing
          with text in a particular header field it is compared with all
          of the text in the message header and body.
          If you enter non-ascii characters in this field then the search
          will be done using the character set you have defined with the
          Character-Set configuration variable. (The truly sophisticated
          may use an alternate character set for a search by entering the
          MIME encoding of the header string here.)
   _BodyText pattern_
          Just like AllText, except it is compared only with the body of
          the message, not the body and header.
          If you enter non-ascii characters in this field then the search
          will be done using the character set you have defined with the
          Character-Set configuration variable. (The truly sophisticated
          may use an alternate character set for a search by entering the
          MIME encoding of the header string here.)
   _Age Interval_
          The Age Interval, if defined, is part of the Pattern. If you use
          this, it should be set to something like:

                              (min_age,max_age)
          where "min_age" and "max_age" are non-negative integers. The
          special value "INF" may be used for the max value. It represents
          infinity.
          In rare cases it may be useful to use the more general form of
          the value, which is a comma-separated list of intervals. It
          would look something like:

                 (min_age1,max_age1),(min_age2,max_age2),...
          When there is an Age Interval defined, it is a match if the age,
          in days, of the message is contained in the interval. The
          interval includes both endpoints. If the option is set to a list
          of intervals then it is a match if the age of the message is
          contained in any of the intervals.
          Even though this option is called Age, it isn't actually the
          _age_ of the message. Instead, it is how many days ago the
          message arrived in one of your folders. If the current time is a
          little past midnight, then a message that arrived just before
          midnight arrived yesterday, even though the message is only a
          few minutes old. By default, the date being used is not the date
          in the Date header of the message. It is the date that the
          message arrived in one of your folders. When you Save a message
          from one folder to another that arrival date is preserved. If
          you would like to use the date in the Date header that is
          possible. Turn on the option _use-date-header-for-age_ near the
          bottom of the rule definition.
          A value of 0 is today, 1 is yesterday, 2 is the day before
          yesterday, and so on. The age interval

                                    (2,2)
          matches all messages that arrived on the day before yesterday.
          The interval

                                  (180,INF)
          matches all messages that arrived at least 180 days before
          today. The interval

                                    (0,1)
          matches all messages that arrived today or yesterday.
   _Score Interval_
          The Score Interval, if defined, is part of the Pattern. If you
          use this, it should be set to something like:

                            (min_score,max_score)
          where "min_score" and "max_score" are integers between -32000
          and 32000. The special values "-INF" and "INF" can be used for
          the min and max values. These represent negative and positive
          infinity.
          Actually, the value may be a list of intervals rather than just
          a single interval if that is useful. The elements of the list
          are separated by commas like:

             (min_score1,max_score1),(min_score2,max_score2),...
          When there is a Score Interval defined, it is a match if the
          score for the message is contained in any of the intervals. The
          intervals include both endpoints. The score for a message is
          calculated by looking at every scoring rule defined and adding
          up the Score Values for the rules which match the message.
   _Keyword pattern_
          A folder may have user-defined keywords. These are similar to
          the Important flag which the user may set using the Flag
          command. The difference is that the Important flag is always
          present for each folder. User-defined keywords are picked by the
          user. You may add new keywords by defining them in the Keywords
          option in the Setup/Config screen. After you have added a
          potential keyword with the Keywords option, the Flag command may
          be used to set or clear the keyword on individual messages. If
          you have given a keyword a nickname when configuring it, that
          nickname may be used instead of the actual keyword.
          When filling in a value for this field, it may be easiest to use
          the "T" command, which presents you with a list of the keywords
          you have defined to choose from.
          This part of the Pattern matches messages with certain keywords
          set. It will be considered a match if a message has any of the
          keywords in the list set.
          It is possible to add a _NOT_ to the Keyword Pattern meaning
          with the "!" "toggle NOT" command. This changes the meaning of
          the Keyword pattern so that it has the opposite meaning. It will
          be considered a match if none of the keywords in the list are
          set for a message.
          Don't make the mistake of putting the "!" in the data field for
          the pattern. For example, if you type the characters "!frizzle"
          into the Keyword pattern, the pattern will look like:
 Keyword pattern = !frizzle

          This means you want to match the 8 character sequence
          "!frizzle". In order to match messages which do not have the
          keyword "frizzle" set, first type the characters "frizzle"
          followed by carriage return for the value of the Keyword
          pattern, then negate it by typing the "!" command. It should end
          up looking like
 ! Keyword pattern = frizzle

   _Character Set pattern_
          A message may use one or more character sets. This part of the
          Pattern matches messages which make use of certain specified
          character sets. It will be considered a match if a message uses
          any of the character sets in the list you give here.
          When filling in a value for this field, you may use the "T"
          command, which presents you with a large list of possible
          character sets to choose from. You may also just type in the
          name of a character set, and it need not be one that Alpine
          knows about.
          Besides actual character set names (for example, ISO-8859-7,
          KOI8-R, or GB2312) you may also use some shorthand names that
          Alpine provides. These names are more understandable shorthand
          names for sets of character set names. Two examples are
          "Cyrillic" and "Greek". Selecting one of these shorthand names
          is equivalent to selecting all of the character sets that make
          up the set. You can see all of these shorthand names and the
          lists of character sets they stand for by typing the "T"
          command.
          For the purposes of this Pattern, _Alpine_ will search through a
          message for all of the text parts and collect the character sets
          declared for each part. It will also look in the Subject line
          for a character set used there. _Alpine_ does not actually look
          at the text of the message or the text of the Subject to
          determine if a declared character set is actually used, it looks
          only at the declarations themselves in the MIME part headers and
          in the Subject.
          It is possible to add a _NOT_ to the Character Set Pattern
          meaning with the "!" "toggle NOT" command. This changes the
          meaning of the Character Set pattern so that it has the opposite
          meaning. It will be considered a match if none of the character
          sets in the list are used in a message.
          Don't make the mistake of putting the "!" in the data field for
          the pattern. For example, if you type the characters "!GB2312"
          into the Character Set pattern, the pattern will look like:
 Charset pattern = !GB2312

          This means you want to match the 7 character sequence "!GB2312".
          In order to match messages which do not have the character set
          "GB2312" set, first type the characters "GB2312" followed by
          carriage return for the value of the Character Set pattern, then
          negate it by typing the "!" command. It should end up looking
          like
 ! Charset pattern = GB2312

          A technicality: Since comma is the character used to separate
          multiple values in a pattern field, you have to escape comma
          with a backslash (\) if you want to include a literal comma in
          the field. In other words, if you type a backslash followed by a
          comma it will be interpreted as a comma by _Alpine_, instead of
          as a separator between pattern values. All other backslashes are
          literal backslashes and should not be escaped.
   _Current Folder Type_
          The Current Folder Type is part of the Pattern. It refers to the
          type of the currently open folder, which is the folder you were
          last looking at from the MESSAGE INDEX or MESSAGE TEXT screen.
          In order for a pattern to be considered a match, the current
          folder must be of the type you set here. The three types "Any",
          "News", and "Email" are all what you might think.
          If the Current Folder Type for a Pattern is set to "News", for
          example, then that will only be a match if the current folder is
          a newsgroup and the rest of the Pattern matches. The value
          "Specific" may be used when you want to limit the match to a
          specific folder (not just a specific type of folder), or to a
          list of specific folders. In order to match a specific folder
          you must Select the "Specific" button _AND_ you must fill in the
          name (or list of names) of the folder in the "Folder" field. If
          the current folder is any of the folders in the list, that is
          considered a match. The name of each folder in the list may be
          either "INBOX", the technical specification of the folder (like
          what appears in your configuration file) or, if the folder is
          one of your incoming folders, it may be the nickname you've
          given the folder. Here are a couple samples of specific folder
          names:

                    {monet.art.example.com}mail/art-class

                 {news.example.com/nntp}#news.comp.mail.pine
          The easiest way to fill in the "Folder" field is to use the T
          command which is available when the "Folder" line is
          highlighted. Note that you won't be able to edit the "Folder"
          line unless the Current Folder Type is set to "Specific", and
          any value that "Folder" has is ignored unless the type is set to
          "Specific".
          When reading a newsgroup, there may be a performance penalty
          incurred when collecting the information necessary to check a
          Pattern. For this reason, the default Current Folder Type is set
          to "Email". For example, a role with a non-Normal Index Line
          Color and a Current Folder Type of "Any" or "News" may cause the
          MESSAGE INDEX screen to draw more slowly when in a newsgroup.
   _Message Status Important_
          This part of the Pattern may have one of three possible values.
          The default value is "Don't care", which matches any message.
          The other two values are "Yes", which means the message must be
          flagged "Important" in order to be a match; or "No", which means
          the message must _not_ be flagged "Important" in order to be
          considered a match.
   _Message Status New_
          This part of the Pattern may have one of three possible values.
          The default value is "Don't care", which matches any message.
          The other two values are "Yes", which means the message must be
          "New" in order to be a match; or "No", which means the message
          must _not_ be "New" in order to be a match. "New" is the same as
          _Unseen_ and not "New" is the same as _Seen_.
          The nomenclature for New and Recent is a bit confusing:
          New means that the message is Unseen. It could have been in your
          mailbox for a long time but if you haven't looked at it, it is
          still considered New. That matches the default _Alpine_ index
          display that shows an N for such a message.
          Recent means that the message was added to this folder since the
          last time you opened the folder. _Alpine_ also shows an N by
          default for these types of messages. If you were to run two
          copies of _Alpine_ that opened a folder one right after the
          other, a message would only show up as Recent in (at most) the
          first _Alpine_ session.
   _Message Status Recent_
          This part of the Pattern may have one of three possible values.
          The default value is "Don't care", which matches any message.
          The other two values are "Yes", which means the message must be
          "Recent" in order to be a match; or "No", which means the
          message must _not_ be "Recent" in order to be a match. "Recent"
          means that the message was added to the folder since the last
          time the folder was opened. If more than one mail client has the
          folder opened, the message will appear to be "Recent" to only
          one of the clients.
          The nomenclature for New and Recent is a bit confusing:
          New means that the message is Unseen. It could have been in your
          mailbox for a long time but if you haven't looked at it, it is
          still considered New. That matches the default _Alpine_ index
          display that shows an N for such a message.
          Recent means that the message was added to this folder since the
          last time you opened the folder. _Alpine_ also shows an N by
          default for these types of messages. If you were to run two
          copies of _Alpine_ that opened a folder one right after the
          other, a message would only show up as Recent in (at most) the
          first _Alpine_ session.
   _Message Status Deleted_
          This part of the Pattern may have one of three possible values.
          The default value is "Don't care", which matches any message.
          The other two values are "Yes", which means the message must be
          marked "Deleted" in order to be a match; or "No", which means
          the message must _not_ be marked "Deleted" in order to be a
          match.
          If you are thinking of using this part of the Pattern as a way
          to prevent messages from being filtered more than once in a
          Filter Pattern, take a look at the Filter Option
          "move-only-if-not-deleted" instead. It should work better than
          using this field since it will hide the filtered messages even
          if they are already Deleted.
   _Message Status Answered_
          This part of the Pattern may have one of three possible values.
          The default value is "Don't care", which matches any message.
          The other two values are "Yes", which means the message must be
          marked "Answered" in order to be a match; or "No", which means
          the message must _not_ be marked "Answered" in order to be a
          match.
   _Subject Contains Raw 8-bit_
          This part of the Pattern may have one of three possible values.
          The default value is "Don't care", which matches any message.
          The other two values are "Yes", which means the Subject of the
          message must contain unencoded 8-bit characters (characters with
          the most significant bit set) in order to be a match; or "No",
          which means the Subject must _not_ contain unencoded 8-bit
          characters in order to be a match.
   _Beginning of Month_
          This part of the Pattern may have one of three possible values.
          The default value is "Don't care", which matches any message.
          The other two values are "Yes", which means this is the first
          time _Alpine_ has been run this month; or "No", which means this
          is _not_ the first time _Alpine_ has been run this month. The
          way that _Alpine_ decides if it is the beginning of the month or
          not is to compare today's date with the date stored in the
          Last-Time-Prune-Questioned variable in the config file. If the
          month of today's date is later than the month stored in the
          variable, then this is considered to be the first time you have
          run Alpine this month, and that turns the Beginning of the Month
          option on.
   _Beginning of Year_
          This part of the Pattern may have one of three possible values.
          The default value is "Don't care", which matches any message.
          The other two values are "Yes", which means this is the first
          time _Alpine_ has been run this year; or "No", which means this
          is _not_ the first time _Alpine_ has been run this year. The way
          that _Alpine_ decides if it is the beginning of the year or not
          is to compare today's date with the date stored in the
          Last-Time-Prune-Questioned variable in the config file. If the
          year of today's date is later than the year stored in the
          variable, then this is considered to be the first time you have
          run Alpine this year, and that turns the Beginning of the Year
          option on.
   _From or Reply-To in Address Book_
          This part of the Pattern may have one of five possible values.
          The default value is "Don't care", which matches any message.
          The value "Yes, in any address book" means either the From
          address or the Reply-To address of the message must be in at
          least one of your address books in order to be a match. The
          value "No, not in any address book" means neither the From nor
          the Reply-To addresses may be in any of your address books in
          order to be a match.
          The values "Yes, in specific address books" and "No, not in any
          of specific address books" are similar but instead of depending
          on all address books you are allowed to give a list of address
          books to look in. Usually this would be a single address book
          but it may be a list of address books as well. For each of these
          "specific" address book options you Select which of the Specific
          options you want (Yes or No) _AND_ fill in the name (or list of
          names) of the address book in the "Abook List" field. The names
          to be used are those that appear in the ADDRESS BOOK LIST
          screen. The easiest way to fill in the Abook List field it to
          use the "T" command which is available when the "Abook List"
          line is highlighted. Note that you won't be able to edit the
          "Abook List" line unless the option is set to one of the two
          "Specific", values.
   _Categorizer Command_
          This is a command that is run with its standard input set to the
          message being checked and its standard output discarded. The
          full directory path should be specified. The command will be run
          and then its exit status will be checked against the _Exit
          Status Interval_, which defaults to just the value zero. If the
          exit status of the command falls in the interval, it is
          considered a match, otherwise it is not a match.
          This option may actually be a list of commands. The first one
          that exists and is executable is used. That makes it possible to
          use the same configuration with Unix _Alpine_ and _PC-Alpine_.
          If none of the commands in the list exists and is executable
          then the rule is _not_ a match. If it is possible that the
          command may not exist, you should be careful to structure your
          rules so that nothing destructive happens when the command does
          not exist. For example, you might have a filter that filters
          away spam when there is a match but does nothing when there is
          not a match. That would continue to work correctly if the
          command didn't exist. However, if you have a filter which
          filters away spam when there is not a match and keeps it when
          there is a match, that would filter everything if the
          categorizer command didn't exist.
          The categorizer command is run and the result is the exit status
          of that command. If that exit status falls in the _Exit Status
          Interval_ then it is considered a match, otherwise it is not a
          match. Of course for the entire rule to match, it must also be
          checked against the other defined parts of the Pattern.
          The _Exit Status Interval_ defaults to the single value 0
          (zero). If you define it, it should be set to something like:

                       (min_exit_value,max_exit_value)
          where "min_exit_value" and "max_exit_value" are integers. The
          special values "INF" and "-INF" may be used for large positive
          and negative integers.
          Actually, a list of intervals may be used if you wish. A list
          would look like

   (min_exit_value1,max_exit_value1),(min_exit_value2,max_exit_value2),...
          When there is an _Exit Status Interval_ defined, it is a match
          if the exit status of the categorizer command is contained in
          any of the intervals. The intervals include both endpoints.
          The default interval is

                                    (0,0)
          and it matches only if the command exits with exit status equal
          to zero.
          It is also possible to set a _Character Limit_ for the
          categorizer command. Setting this option makes it possible to
          limit how much of the message is made available to the
          categorizer command as input. The default value (-1) means that
          the entire message is fed to the command. A value of 0 (zero)
          means that only the headers of the message are made available. A
          positive integer means that the headers plus that many
          characters from the body of the message are passed to the
          categorizer.

Configuring News

   _Alpine_ can access news folders in any one of three different ways:

   REMOTE NNTP
          Using the Network News Transport Protocol (NNTP) to access news
          on a remote news server. In this case the newsrc file is stored
          on the machine where _Alpine_ is running.

          To specify a remote news-collection accessed via NNTP use the
          SETUP/collectionList screen's "Add" command. Set the Server:
          value to the NNTP server's hostname appended with the
          communication method "/service=NNTP", and set the Path: value to
          the "#news." namespace (without the quotes).

          Instead of specifying a news-collection, you may simply set the
          nntp-server option, which will cause _Alpine_ to create a
          default news-collection for you. Another NNTP option which may
          be of interest is nntp-range.

   REMOTE IMAP
          Using the Internet Message Access Protocol (IMAP) to access news
          on a remote news server. In this case, your newsrc file is
          stored on the news server, in your home directory, so you must
          have an account on the news server, but you would be running
          _Alpine_ on a different machine. The news server must be running
          an IMAPd server process.

          To specify a remote news-collection accessed via IMAP use the
          SETUP/collectionList screen's "Add" command. Set the Server:
          value to the IMAP server's hostname, and set the Path: value to
          the "#news." namespace (without the quotes).

   LOCAL
          Using local file access to the news database. In this case, your
          newsrc file is stored on the news server, in your home
          directory, so you must have an account on the news server, and
          you would be running _Alpine_ on the same machine.

          To specify a local news-collection use the SETUP/collectionList
          screen's "Add" command. Leave the Server: value blank, and set
          the Path: value to the "#news." namespace (without the quotes).

   NOTE: Should no news-collection be defined as above, _Alpine_ will
   automatically create one using the Setup/Config screen's "nntp-server"
   variable's value if defined. The collection will be created as a
   "Remote NNTP" as described above.

   If you are a _PC-Alpine_ user, either option 1 (NNTP) or option 2
   (IMAP) is possible. If you don't have an account on the news server, or
   if the news server is not running an IMAP daemon, then you must use
   NNTP. (If you are not sure, ask your service provider, university, or
   company for help.) In this case, your Unix .newsrc file can be
   transferred to your PC. A good place to put it would be in the same
   directory as your PINERC file, under the name NEWSRC, but you can
   specify a different location.

   Other configuration features related to news are
   Enable-8bit-Nntp-Posting. Compose-Sets-Newsgroup-Without-Confirm,
   News-Approximates-New-Status, News-Deletes-Across-Groups,
   News-Offers-Catchup-On-Close, News-Post-Without-Validation,
   News-Read-in-Newsrc-Order, and Quell-Extra-Post-Prompt.
     __________________________________________________________________

                     Notes on Configuration and Preferences

Alpine in Function Key Mode

   The standard _Alpine_ uses alphabetic keys for most commands, and
   control keys in the composer. Despite possible appearances, the current
   bindings are the result of much discussion and thought. All the
   commands in the composer are single control characters. This keeps
   things very neat and simple for users. Two character commands in the
   composer are a possibility, but we're trying to avoid them because of
   the added complexity for the user.

   _Alpine_ can also operate in a function-key mode. To go into this mode
   invoke _alpine -k_ or (on some UNIX systems) _alpinef._ On a UNIX
   system, you can link or copy the _Alpine_ executable to _alpinef_ to
   install _alpinef._ Alternatively, users and systems administrators can
   set the _use-function-keys_ feature in the personal or system-wide
   _Alpine_ configuration file. The command menus at the bottom of the
   screen will show _F1-F12 _instead of the alphabetic commands. In
   addition, the help screens will be written in terms of function keys
   and not alphabetic keys.

   One of the results of using _Alpine_ in function-key mode is that users
   can only choose from twelve commands at any given time. In
   alphabetic-key mode, a user can press a key for a command (say, q to
   quit) and that command can be fulfilled. In function-key mode, the
   command must be visible on the bottom key-menu in order to be used.
   There are some screens where four screens of commands are operational;
   function-key users can get to all of them, just not all at once.
     __________________________________________________________________

Domain Settings

   _Alpine_ uses the default domain for a few different tasks. First, it
   is tacked onto the user-id for outgoing email. Second, it is tacked
   onto all "local" (unqualified) addresses in the "To:" or "Cc:" fields
   of messages being composed (unless they are found in the address book
   or on an LDAP server). The domain name is also used to generate
   message-id lines for each outgoing message and to allow _Alpine_ to
   check if an address is that of the current _Alpine_ user.

   _Alpine_ determines the domain name according to whichever of these it
   finds. The list here is in decreasing order of precedence.
    1. Value of the variable user-domain in the system fixed configuration
       file
    2. Value of the variable _user-domain_ in the personal configuration
       file
    3. Value of the variable _user-domain_ in the system-wide
       configuration file
    4. Value from an external database (DNS, /etc/hosts, NIS) as modified
       by a system fixed configuration file if use-only-domain-name set to
       _yes_
    5. Value from an external database (DNS, /etc/hosts, NIS) as modified
       by a personal configuration file if _use-only-domain-name_ set to
       _yes_
    6. Value from an external database (DNS, /etc/hosts, NIS) as modified
       by a system configuration file if _use-only-domain-name_ set to
       _yes_
    7. Unmodified value (host name) from an external database

   The easiest way for this system to work is for _PC-Alpine_ users and
   UNIX _Alpine_ system administrators to set the _user-domain_ variable.
   The variable _use-only-domain-name_ is helpful if your site
   supports/requires hostless addressing, but for some reason you don't
   want to use the _user-domain_ variable.
     __________________________________________________________________

Syntax for Collections

   In many environments, it is quite common to have collections of
   archived mail on various hosts around the network. Using the folder
   collections facility in _Alpine_, access to these archives is just as
   simple as access to folders on _Alpine_'s local disk.

   "Collection" is the word we use in _Alpine_ to describe a set of
   folders. A collection corresponds loosely to a "directory" containing
   mail folders. Folders within a defined collection can be manipulated
   (opened, saved-to, etc) using just their simple name. Any number of
   folder collections can be defined, and _Alpine_ will adjust its menus
   and prompts to help navigate them.

   The way collections are defined in _Alpine_ is with the
   folder-collections variable in the _Alpine_ configuration file.
   _Folder-collections_ takes a list of one or more collections, each
   (optionally) preceded by a user-defined logical name (label). Once
   collections are defined, _Alpine_ adjusts its menus and behavior to
   allow choosing files by their simple name within the collection.

   Consider the following:
   folder-collections=  Local-Mail      C:\MAIL\[],
                        Remote-Mail     {imap.u.example.edu}mail/[]

   The example shows two collections defined (a comma separated list;
   newlines in the list are OK if there's one or more spaces before the
   next entry), one local and one remote. Each collection is a
   space-delimited pair of elements-first an optional logical-name and
   second the collection specifier. The logical-name can have spaces if it
   has quotes around it (but keeping the logical name short and
   descriptive works best). _Alpine_ will use the logical-name (if
   provided) to reference all folders in the collection, so the user never
   has to see the ugliness of the collection specifier.

   The collection specifier can be thought of as an extended IMAP format
   (see the Remote Folders section for a description of IMAP format
   names). Basically, a pair of square-brackets are placed in the fully
   qualified IMAP path where the simple folder name (the part without the
   host name and path) would appear. Like IMAP, the path can be either
   fully qualified (i.e., with a leading '/') or relative to your home
   directory.

   An advanced feature of this notation is that a pattern within the
   square brackets allows the user to define a collection to be a subset
   of a directory. For example, a collection defined with the specifier:
        M-Mail          C:MAIL/[m*]


   will provide a view in the folder lister of all folders in the PC's
   "C:MAIL" directory that start with the letter 'm' (case insensitive
   under DOS, of course). Further, the wildcard matching will honor
   characters trailing the '*' in the pattern.

   From within _Alpine_, the "Folder List" display will be adjusted to
   allow browsing of the folders in any defined collection. Even more,
   you'll notice in the _Goto_ and _Save_ commands a pair of sub-commands
   to rotate through the list of logical collection names, so only a
   simple name need be input in order to operate on a folder in any
   collection.

   The first collection specified in the _folder-collections_ has special
   significance. That folder is the "default collection for saves". By
   default, in cases where the user does not specify which collection
   should be used to _Save_ a message, the default collection for saves
   will be used. Also, if the default-fcc is a relative file name, then it
   is relative to the default collection for saves. (See also
   saved-msg-name-rule.

   The notion of collections encompasses both email folders and news
   reading. The variable news-collections uses nearly the same format as
   _folder-collections_. Newsgroups can be defined for convenient access
   via either IMAP or NNTP. There are advantages and disadvantages to both
   access methods. In the IMAP case, your news environment state is
   maintained on the server and, thus, will be seen by any client. The
   downside is that, at the moment, you must have an account on the
   server. In the NNTP case, server access is mostly anonymous and no
   state/accounting need be maintained on it. The downside is that each
   client, for now, must individually maintain news environment state.

   An example pinerc entry might be:
     news-collections=  Remote-State    {news.u.example.edu}#news.[],
                        Local-State     {news.u.example.edu/nntp}#news.[]

   Only newsgroups to which you are subscribed are included in the
   collection.

   The pattern matching facility can be applied so as to define a news
   collection which is a subset of all the newsgroups you subscribe to.
   For example, this could be a valid collection:
                        Newsfeed-News   {news.u.example.edu/nntp}#news.[clari.*]

   Collection handling is a tough problem to solve in a general way, and
   the explanation of the syntax is a bit ugly. The upside is, hopefully,
   that for a little complexity in the _Alpine_ configuration file you get
   simple management of multiple folders in diverse locations.

   Collection setup is handled by the _Setup/collectionList_ screen.
     __________________________________________________________________

Syntax for Folder Names

   Remote folders are distinguished from local folders by a leading host
   name bracketed by '{' and '}'. The path and folder name immediately
   following the closing bracket, '}', is interpreted by the remote server
   and is in a form compatible with that server (i.e., path delimiters and
   naming syntax relative to that server).

   The full syntax for a _Alpine_ folder name looks like

      [{<remote-specification>}][#<namespace>]<namespace-specific-part>

   The square brackets ([]) mean that the part is optional.

   If there is no remote-specification, then the folder name is
   interpreted locally on the computer running _Alpine_. Local folder
   names depend on the operating system used by the computer running
   _Alpine_, as well as the configuration of that system. For example,
   "C:\ALPINE\FOLDERS\OCT-94" might exist on a PC, and
   "~/mail/september-1994" might be a reasonable folder name on a system
   running Unix.

   _Alpine_ users have the option of using folders which are stored on
   some other computer. _Alpine_ accesses remote folders via IMAP (the
   Internet Message Access Protocol), or in the case of news, via NNTP
   (the Network News Transport Protocol). To be able to access remote
   folders in _Alpine_, the remote host must be running the appropriate
   server software (imapd or nntpd) and you must correctly specify the
   name of the folder to _Alpine_, including the domain name of the remote
   machine. For example,

                        {monet.art.example.com}INBOX

   could be a remote folder specification, and so could

               {unixhost.art.example.com}~/mail/september-1994

   and

                   {winhost.art.example.com}\mymail\SEP-94

   Note that in the case of remote folders, the directory/file path in the
   specification is determined by the operating system of the remote
   computer, _not_ by the operating system of the computer on which you
   are running _Alpine_.

   As you can tell, the name of the computer is in {} brackets followed
   immediately by the name of the folder. (In each of these cases the
   optional namespace is missing.) If, as in these examples, there is no
   remote access protocol specified, then IMAP is assumed. Check Server
   Name Syntax for a more detailed look at what options can be placed
   between the brackets. If there are no brackets at all, then the folder
   name is interpreted locally on the computer on which you are running
   _Alpine_.

   To the right of the brackets when a server name is present, or at the
   start of the foldername if no server is present, the sharp sign, "#",
   holds special meaning. It indicates a folder name outside the area
   reserved for your personal folders. In fact, it's used to indicate both
   the name of the folder, and a special phrase telling _Alpine_ how to
   interpret the name that follows.

   So, for example, _Alpine_ can be used to access a newsgroup that might
   be available on your computer using:

                            #news.comp.mail.pine

   The sharp sign indicates the folder name is outside your personal
   folder area. The "news." phrase after it tells _Alpine_ to interpret
   the remainder of the name as a newsgroup.

   Similarly, to access a newsgroup on your IMAP server, you might use
   something like:

                {wharhol.art.example.com}#news.comp.mail.misc

   There are a number of such special phrases (or "namespaces") available.
   For a more detailed explanation read about Namespaces.

   Note that "INBOX" has special meaning in both local and remote folder
   names. The name INBOX refers to your "principal incoming message
   folder" and will be mapped to the actual file name used for your INBOX
   on any given host. Therefore, a name like "{xxx.art.example.com}INBOX"
   refers to whatever file is used to store incoming mail for you on that
   particular host.
     __________________________________________________________________

Server Name Syntax

   This section describes the syntax which may be used for server names
   which may be associated with remote folders or SMTP servers.

   A server name is the hostname of the server. It's a good idea to use
   the host's fully-qualified network name.

                               foo.example.com

   However, IP addresses are allowed if surrounded with square-brackets.

                                 [127.0.0.1]

   An optional network port number may be supplied by appending a colon
   (:) followed by the port number to the server name. By default, the
   IMAP port number, 143, is used.

                            foo.example.com:port

   Besides server name and optional port number, various other optional
   parameters may be supplied that alter _Alpine_'s interaction with the
   server. A parameter is supplied by appending a slash (/) character
   followed by the parameter's name and, depending on the particular
   parameter, the value assigned to that name, to the server name (and
   optional port number). Parameter names are _not_ case sensitive.
   Currently supported parameters include:

   User
          This parameter requires an associated value, and is intended to
          provide the username identifier with which to establish the
          server connection. If your SMTP server offers SMTP AUTH
          authentication, adding this parameter to the SMTP-Server option
          will cause _Alpine_ to attempt to authenticate to the server
          using the supplied username. Similarly, if your NNTP server
          offers NNTP "AUTHINFO SASL" or "AUTHINFO USER" authentication,
          adding this parameter to the NNTP-Server option (or to the
          server name for any folder collection using NNTP) will cause
          _Alpine_ to attempt to authenticate to the server using the
          supplied username. An example might be:

                                 /user=katie

   TLS
          Normally, when a new connection is made an attempt is made to
          negotiate a secure (encrypted) session using Transport Layer
          Security (TLS). If that fails then a non-encrypted connection
          will be attempted instead. This is a unary parameter indicating
          communication with the server must take place over a TLS
          connection. If the attempt to use TLS fails then this parameter
          will cause the connection to fail instead of falling back to an
          unsecure connection.

                                    /tls

   SSL
          This is a unary parameter indicating communication with the
          server should take place over a Secure Socket Layer connection.
          The server must support this method, and be prepared to accept
          connections on the appropriate port (993 by default). _Alpine_
          must be linked with an SSL library for this option to be
          operational.

                                    /ssl

   NoValidate-Cert
          Do not validate certificates (for TLS or SSL connections) from
          the server. This is needed if the server uses self-signed
          certificates or if _Alpine_ cannot validate the certificate for
          some other known reason.

   Anonymous
          This is a unary parameter (that means it does not have a value)
          indicating that the connection be logged in as "anonymous"
          rather than a specific user. Not all servers offer anonymous
          access; those which do generally only offer read-only access to
          certain "public" folders.

                                 /anonymous

   Secure
          This is a unary parameter indicating that the connection use the
          most secure authentication method mutually supported by _Alpine_
          and the server. _Alpine_ is capable of authenticating
          connections to the server using several methods. By default,
          _Alpine_ will attempt each method until either a connection is
          established or the list of methods is exhausted. This parameter
          causes _Alpine_ to instead fail the connection if the first
          (generally most "secure") method fails.

                                   /secure

   Submit
          This is a unary parameter for use with the "SMTP-Server" option.
          It indicates that the connection should be made to the Submit
          server (RFC 3676) (port 587) instead of the SMTP port (25). At
          the time this help was written the submit option was equivalent
          to specifying port 587.

                                   /submit

          or

                                  host:587

   Debug
          This is a unary parameter indicating that the connection be
          established in a verbose mode. Basically, it causes _Alpine_ to
          log the communication with the server in _Alpine_'s debug file.
          Normally, the alpine -d command-line flag would be used instead.

   NoRsh
          By default, _Alpine_ attempts to login using "rsh", the UNIX
          remote shell program. Including "NoRsh" will cause connections
          to this server to skip the "rsh" attempt. This might be useful
          to avoid long timeouts caused by rsh firewalls, for example.

   Service
          This parameter requires an associated value. The default value
          is "IMAP" which indicates communication with the server based on
          the IMAP4rev1 protocol (defined in RFC 3501 -- see
          http://www.imap.org/docs/rfc3501.html). Other service values
          include:

        NNTP
                This value indicates communication with the server takes
                place via the Network News Transfer Protocol. Use this to
                define a collection of newsgroups on a remote news server.
                So

                                /service=NNTP

                or just

                                    /NNTP

                is the way to specify NNTP access.

        POP3
                This value indicates communication with the server takes
                place via the Post Office Protocol 3 protocol.

                                /service=POP3

                or just

                                    /POP3

                Note that there are several important issues to consider
                when selecting this option:

              1. POP3 provides access to only your INBOX. In other words,
                 secondary folders such as your "saved-messages" are
                 inaccessible.
              2. _Alpine_'s implementation of POP3 does not follow the
                 traditional POP model and will leave your mail on the
                 server. Refer to the Mail Drop functionality for a
                 possible way around this problem.
              3. See the discussion about new-mail checking in
                 Folder-Reopen-Rule.

   Note that it is possible to include more than one parameter in a server
   specification by concatenating the parameters. For example:

            foo.example.com:port/user=katie/novalidate-cert/debug
     __________________________________________________________________

Folder Namespaces

   A _Alpine_ folder name looks like

     [{<remote-specification>}][#<namespace>][<namespace-specific-part>]

   The local part of a folder name has an optional "Namespace" which tells
   _Alpine_ how to interpret the rest of the name.

   By default the folder name is interpreted as defining a section of your
   personal folder area. This area and how you specify it are defined by
   the server, if one is specified, or, typically, the home directory, if
   no server is defined.

   If a namespace is specified, it begins with the sharp, "#", character
   followed by the name of the namespace and then the namespace's
   path-element-delimiter. Aside from the path's format, namespaces can
   also imply access rights, content policy, audience, location, and,
   occasionally, access methods.

   Each server exports its own set (possibly of size one) of namespaces.
   Hence, it's likely communication with your server's administrator will
   be required for specific configurations. Some of the more common
   namespaces, however, include:

   #news.
          This specifies a set of folders in the newsgroup namespace.
          Newsgroup names are hierarchically defined with each level
          delimited by a period.

                            #news.comp.mail.pine

   #public/
          This specifies a folder area that the server may export to the
          general public.

   #shared/
          This specifies a folder area that the folder may export to
          groups of users.

   #ftp/
          This specifies a folder area that is the same as that it may
          have exported via the "File Transfer Protocol".

   #mh/
          This specifies the personal folder area associated with folders
          and directories that were created using the MH message handling
          system.

   #move/
          This namespace is interpreted locally by _Alpine_. It has an
          unusual interpretation and format.

           #move<DELIM><MailDropFolder><DELIM><DestinationFolder>

          The #move namespace is followed by two folder names separated by
          a delimiter character. The delimiter character may be any
          character which does not appear in the MailDropFolder name. The
          meaning of #move is that mail will be copied from the
          MailDropFolder to the DestinationFolder and then deleted (if
          possible) from the MailDropFolder. Periodic checks at frequency
          Mail-Check-Interval, but with a minimum time between checks set
          by MailDrop-Check-Minimum, are made for new mail arriving in the
          MailDropFolder. An example which copies mail from a POP inbox to
          a local folder follows

          #move+{popserver.example.com/pop3/ssl}inbox+local folder

          To you it appears that mail is being delivered to the local
          folder when it is copied from the MailDropFolder, and you read
          mail from the local folder.

          Note that if the DestinationFolder does not exist then the
          messages are not copied from the MailDropFolder. A #move folder
          may only be used as an Incoming folder or an Inbox. When you are
          in the FOLDER LIST of Incoming Message Folders (after turning on
          the enable-incoming-folders option) the Add command has a
          subcommand "Use Mail Drop" which may be helpful for defining the
          folder in your _Alpine_ configuration. The same is true when you
          edit the Inbox-Path option in Setup/Config. Each of these
          configuration methods will also create the DestinationFolder if
          it doesn't already exist. If you are having problems, make sure
          the DestinationFolder exists.

   In addition, the server may support access to other user's folders,
   provided you have suitable permissions. Common methods use a prefix of
   either "~user/", or "/user/" to indicate the root of the other user's
   folder area.
     __________________________________________________________________

What is a Mail Drop?

   In some situaions it may make sense to have your mail delivered to one
   folder (the Mail Drop) and then when you want to read mail that has
   been delivered to the Mail Drop folder _Alpine_ will move it to another
   destination folder. Often the Mail Drop will be a remote folder and
   messages will be moved from there to a local destination folder.

   One example where this might make sense is if the Mail Drop folder is
   accessible only with the POP protocol. You could designate your POP
   inbox as the Mail Drop folder and have _Alpine_ move mail from there to
   a local (on the same machine _Alpine_ is running on) destination
   folder, where you'll read it.

   A Mail Drop may only be used as your Inbox or as an Incoming folder.

   There is no attempt to synchronize the contents of the destination
   folder with the contents of the Mail Drop folder. All that happens is
   that all of the messages in the Mail Drop folder are copied to the
   destination folder and then they are deleted and expunged (if possible)
   from the Mail Drop folder. The next time a check for new mail is made,
   any messages in the Mail Drop folder are once again copied to the
   destination folder and deleted and expunged from the Mail Drop folder.
   (If the Mail Drop folder is a news group, then the messages can't be
   expunged from the newsgroup. Instead, only Recent messages are copied
   from the newsgroup to the destination folder.)

   Configuration of a Mail Drop is a little different from configuration
   of a folder which does not use a Mail Drop because you have to specify
   two folder names instead of one. The two folders may be any types of
   folders that _Alpine_ can normally use. They don't have to be a remote
   folder and a local folder, that is simply the most common usage. When
   you use a Mail Drop folder _Alpine_ will periodically re-open the Mail
   Drop to check for new mail. The new-mail checks will happen at the
   frequency set with the Mail-Check-Interval option, but with a minimum
   time (MailDrop-Check-Minimum) between checks. Because of this minimum
   you may notice that new mail does not appear promptly when you expect
   it. The reason for this is to protect the server from over-zealous
   opening and closing of the Mail Drop folder. If the user initiates the
   check by typing ^L (Ctrl-L) or the Next command when at the end of the
   folder index, then the check will happen, regardless of how long it has
   been since the previous check.

   If there is new mail, that mail will be copied to the destination
   folder and then will be deleted from the Mail Drop. Note that using a
   Mail Drop with a local destination folder does not make sense if you
   read mail from more than one machine, because the mail is downloaded to
   the destination folder (which is accessible from only one machine) and
   deleted from the Mail Drop.

   The feature Maildrops-Preserve-State modifies the operation of Mail
   Drops.

   The actual syntax used by _Alpine_ for a folder that uses a Mail Drop
   is:

           #move<DELIM><MailDropFolder><DELIM><DestinationFolder>

   The brackets are not literal.

                                   <DELIM>

   is a single character which does not appear in the MailDropFolder name.
   If the name doesn't contain spaces then it can be a space character.
   The two folder names are full technical folder names as used by
   _Alpine_. Here are a couple examples to give you an idea what is being
   talked about:

             #move {popserver.example.com/pop3}inbox localfolder

    #move+{nntpserver.example.com/nntp}#news.comp.mail.pine+local folder

   A #move folder may only be used as an Incoming folder or an Inbox. When
   you are in the FOLDER LIST of Incoming Message Folders (after turning
   on the Enable-Incoming-Folders option) the Add command has a subcommand
   "Use Mail Drop" which may be helpful for defining the folder in your
   _Alpine_ configuration. The same is true when you edit the Inbox-Path
   option in Setup/Config.
   if it doesn't already exist. If you are having problems, make sure the
   DestinationFolder exists.
     __________________________________________________________________

Sorting a Folder

   The mail index may be sorted by arrival, date, subject, from, size,
   score, to, or cc order. Each sort order can also be reversed. The _$_
   command will prompt the user for the sort order. The sort order can
   also be specified on the command line with the _-sort_ flag or
   (equivalently) with the sort-key variable in the _pinerc_ file. When a
   user changes folders, the sort order will go back to the original sort
   order. The command line (_-sort_) or configuration file sort
   specification (_sort-key_) changes the original sort order.

   When a folder is sorted and new mail arrives in the folder it will be
   inserted in its properly sorted place. This can be a little odd when
   the folder is sorted by something like the subject. It can also be a
   little slow if you are viewing a large, sorted _INBOX_, since the
   _INBOX_ will have to be re-sorted whenever new mail arrives.

   The sorts are all independent of case and ignore leading or trailing
   white space. There are actually two forms of subject sort. One called
   _Subject_ and the other called _OrderedSubj_. They both ignore "Re:" at
   the beginning and "(fwd)" at the end of the subjects. _Subject_ sorts
   all the subjects alphabetically. _OrderedSubj_ sorts by subjects
   alphabetically, groups messages with the same subject (pseudo-threads),
   then sorts the groups by the date of the first message of the group.
   Sorting by _Thread_ was added after _OrderedSubj_ and is usually a
   better method. Thread sorting uses information in the message headers
   References, Message-ID, and Subject. It is possible the sort will be
   slightly slower with a Thread sort than with an OrderedSubj sort. The
   sort by sender sorts by the user-id (part before the "@"), not the full
   name. The arrival sort is no sort at all and the date sort depends on
   the format of the date. Some dates are in strange formats and are
   unparsable. The time zone is also taken into account.

   Sorting large mail folders can be very slow since it requires fetching
   all the headers of the mail messages. With UNIX _Alpine_, only the
   first sort is slow since _Alpine_ keeps a copy of all the headers. One
   exception is sorting in reverse arrival order. This is fast because no
   headers have to be examined. _Alpine_ will show progress as it is
   sorting.
     __________________________________________________________________

Alternate Editor

   In the _Alpine_ composer you can use any text editor, such as _vi_ or
   _emacs,_ for composing the message text. The addresses and subject still
   must be edited using the standard _Alpine_ composer. If you include the
   feature enable-alternate-editor-cmd in your _pinerc_ you can type _^__
   while in the body of the message in the composer and be prompted for
   the editor. If you also set the editor variable in your _pinerc_ then
   _^__ will invoke the configured editor when you type it.

   Turning on the feature enable-alternate-editor-implicitly will
   automatically invoke the editor you have defined with the _editor_
   variable whenever you enter the body of a message you are composing.
   For example, when you move out of the last header line and into the
   body of the message, the alternate editor will be automatically
   invoked.

   We know that many people would like to use the alternate editor to edit
   the mail header as well. We considered several designs for this and
   didn't come up with one that we liked and that was easy to implement.
   One of the main problems is that you lose access to the address book.
     __________________________________________________________________

Signatures and Signature Placement

   If the file _~/.signature_ (UNIX) or _<PINERC_directory>\PINE.SIG (PC)
   exists, it will be included in all outgoing messages. It is included
   before composition starts so that the user has a chance to edit it out
   if he or she likes. The file name for the signature can be changed by
   setting the signature-file variable in the _pinerc_. If the feature
   enable-sigdashes is turned on then the line consisting of the three
   characters "-- " is prepended to the signature file. When Replying or
   Forwarding a message different signatures my be automatically included
   by configuring them in the Roles setup screen. It's easy to include
   different signatures by hand, by having multiple signature files
   (_.sig1, .sig2, .sig3, etc_) and choosing to include (^R in the
   composer) the correct one for the message being sent.

   _Alpine_'s default behavior encourages a user to put his or her
   contribution before the inclusion of the original text of the message
   being forwarded or replied to, This is contrary to some conventions,
   but makes the conversation more readable when a long original message
   is included in a reply for context. The reader doesn't have to scroll
   through the original text that he or she has probably already seen to
   find the new text. If the reader wishes to see the old message(s), the
   reader can scroll further into the message. Users who prefer to add
   their input at the end of a message should set the signature-at-bottom
   feature. The signature will then be appended to the end of the message
   after any included text. This feature applies when _Reply_ing, not when
   _Forward_ing.
     __________________________________________________________________

Feature List Variable

   _Alpine_ used to have _feature levels_ for users with different amounts
   of experience. We found that this was too restrictive. _Alpine_ now has
   a feature-list instead. Each user may pick and choose which features
   they would like enabled (simple to do in the _Setup/Config_ screen).
   There is a short description of each in Configuration Features. There
   is also a short on-line help explaining the effect of each of the
   features in the _Setup/Config_ screen. When the cursor is highlighting
   a feature, the _?_ command will show the help text for that feature.
   Features don't have values, they are just turned on or off. They are
   all off by default.

   The _feature-list_ variable is different from all other configuration
   variables in that its value is additive. That is, the system-wide
   configuration file can have some features turned on by default. The
   user can select other features in their personal configuration file and
   those features will be _added_ to the set of features turned on in the
   system-wide configuration file. (With all other configuration
   variables, the user's values _replace_ the system-wide values.)
   Likewise, additional features may be set on the command-line with the
   argument "-feature-list=". These will be added to the others.

   The treatment of _feature-list_ in the system-wide _fixed_
   configuration file is also different from other variables. The system
   management can fix the value of individual features by placing them in
   the fixed configuration file. Users will not be able to alter those
   features, but will still be able to set the other non-restricted
   features the way they like.

   Because _feature-list_ is additive, there is a way to turn features off
   as well as on. Prepending the prefix "no-" to any feature sets it to
   off. This is useful for over-riding the system-wide default in the
   personal configuration file or for over-riding the system-wide default
   or the personal configuration value on the command line. For example,
   if the system-wide default configuration has the _quit-without-confirm_
   feature set, the user can over-ride that (and turn it off) by including
   _no-quit-without-confirm_ in the personal configuration file or by
   giving the command line argument
   _-feature-list=no-quit-without-confirm._ More features (options) will no
   doubt continue to be added.
     __________________________________________________________________

Configuration Inheritance

   We start with an explanation of how configuration works in hopes of
   making it easier to describe how inheritance works.

   _Alpine_ uses a hierarchy of configuration values from different
   locations. There are five ways in which each configuration option
   (configuration variable) can be set. In increasing order of precedence
   they are:

    1. the system-wide configuration file.
    2. the personal configuration file
    3. the personal exceptions file
    4. a command line argument
    5. the system-wide _fixed_ configuration file (Unix _Alpine_ only)

   The fixed configuration file is normally
   /etc/pine.conf.fixed.

   The system-wide configuration file is normally /etc/pine.conf
   for Unix _Alpine_ and is normally not set for _PC-Alpine_. For
   _PC-Alpine_, if the environment variable _$PINECONF_ is set, that is
   used for the system-wide configuration. This location can be set or
   changed on the command line with the -P flag. The system-wide
   configuration file can be either a local file or a remote configuration
   folder.

   For Unix _Alpine_, the personal configuration file is normally the file
   .pinerc in the user's home directory. This can be changed with the -p
   command line flag. For _PC-Alpine_, the personal configuration file is
   in $PINERC or <PineRC registry value> or ${HOME}\ALPINE\PINERC or
   <ALPINE.EXE dir>\PINERC. This can be changed with the -p command line
   flag. If -p or $PINERC is used, the configuration data may be in a
   local file or a remote config folder.

   For Unix _Alpine_, the personal exceptions configuration file is
   specified with the "-x exceptions_config" command line argument.
   "Exceptions_config" may be either a local file or a remote
   configuration folder. If there is no "-x" command line option, _Alpine_
   will look for the file ".pinercex" in the same local directory that the
   regular config file is located in. If the regular config file is remote
   then Unix _Alpine_ looks in the home directory for ".pinercex".

   For _PC-Alpine_, the personal exceptions configuration file is
   specified with the "-x exceptions_config" command line argument. If
   there is no "-x" command line argument the environment variable
   $PINERCEX may be set to the name of the "exceptions_config" instead.
   "Exceptions_config" may be either a local file or a remote
   configuration folder. If there is no "-x" command line option and
   $PINERCEX is not set, _PC-Alpine_ will look for the file "PINERCEX" in
   the same local directory that the regular config file is located in. If
   the regular config file is remote then _PC-Alpine_ looks in the local
   directory specified by the "-aux local_directory" command line
   argument, or the directory ${HOME}\ALPINE, or in <ALPINE.EXE directory>
   for a file named "PINERCEX".

   To reiterate, the value of a configuration option is taken from the
   last location in the list above in which it is set. Or, thinking about
   it slightly differently, a default value for an option is established
   in the system-wide configuration file (or in the source code if there
   is no value in the system-wide file). That default remains in effect
   until and unless it is overridden by a value in a location further down
   the list, in which case a new "default" value is established. As we
   continue down the list of locations we either retain the value at each
   step or establish a new value. The value that is still set after going
   through the whole list of configuration locations is the one that is
   used.

   So, for example, if an option is set in the system-wide configuration
   file and in the personal configuration file, but is not set in the
   exceptions, on the command line, or in the fixed file; then the value
   from the personal configuration file is the one that is used. Or, if it
   is set in the system-wide config, in the personal config, not in the
   exceptions, but is set on the command line; then the value on the
   command line is used.

   Finally we get to inheritance. For configuration options which are
   lists, like "smtp-server" or "incoming-folders", the inheritance
   mechanism makes it possible to _combine_ the values from different
   locations instead of _replacing_ the value. This is true of all
   configuration lists other than the "feature-list", for which you may
   already set whatever you want at any configuration location (by using
   the "no-" prefix if necessary).

   To use inheritance, set the first item in a configuration list to the
   token "INHERIT". If the first item is "INHERIT", then instead of
   replacing the default value established so far, the rest of the list is
   appended to the default value established so far and that is the new
   value.

   Here is an example which may make it clearer. Suppose we have:

 System-wide config :   smtp-server = smtp1.corp.com, smtp2.corp.com
 Personal config    :   smtp-server = INHERIT, mysmtp.home
 Exceptions config  :   smtp-server = <No Value Set>
 Command line       :   smtp-server = <No Value Set>
 Fixed config       :   smtp-server = <No Value Set>

   This would result in an effective smtp-server option of

 smtp-server = smtp1.corp.com, smtp2.corp.com, mysmtp.home

   The "INHERIT" token can be used in any of the configuration files and
   the effect cascades. For example, if we change the above example to:

 System-wide config :   smtp-server = smtp1.corp.com, smtp2.corp.com
 Personal config    :   smtp-server = INHERIT, mysmtp.home
 Exceptions config  :   smtp-server = INHERIT, yoursmtp.org
 Command line       :   smtp-server = <No Value Set>
 Fixed config       :   smtp-server = <No Value Set>

   This would result in:

 smtp-server = smtp1.corp.com, smtp2.corp.com, mysmtp.home, yoursmtp.org

   Unset variables are skipped over (the default value is carried forward)
   so that, for example:

 System-wide config :   smtp-server = smtp1.corp.com, smtp2.corp.com
 Personal config    :   smtp-server = <No Value Set>
 Exceptions config  :   smtp-server = INHERIT, yoursmtp.org
 Command line       :   smtp-server = <No Value Set>
 Fixed config       :   smtp-server = <No Value Set>

   produces:

 smtp-server = smtp1.corp.com, smtp2.corp.com, yoursmtp.org

   If any later configuration location has a value set (for a particular
   list option) which does _not_ begin with "INHERIT", then that value
   replaces whatever value has been defined up to that point. In other
   words, that cancels out any previous inheritance.

 System-wide config :   smtp-server = smtp1.corp.com, smtp2.corp.com
 Personal config    :   smtp-server = INHERIT, mysmtp.org
 Exceptions config  :   smtp-server = yoursmtp.org
 Command line       :   smtp-server = <No Value Set>
 Fixed config       :   smtp-server = <No Value Set>

   results in:

 smtp-server = yoursmtp.org

   For some configuration options, like "viewer-hdr-colors" or
   "patterns-roles", it is difficult to insert the value "INHERIT" into
   the list of values for the option using the normal Setup tools. In
   other words, the color setting screen (for example) does not provide a
   way to input the text "INHERIT" as the first item in the
   viewer-hdr-colors option. The way to do this is to either edit the
   pinerc file directly and manually insert it, or turn on the
   "expose-hidden-config" feature and insert it using the Setup/Config
   screen.
     __________________________________________________________________

Using Environment Variables

   The values of _Alpine_ configuration options may include environment
   variables which are replaced by the value of the variable at the time
   _Alpine_ is run (and also at the time the config option is changed). The
   syntax to use environment variables is a subset of the common Unix
   shell dollar-syntax. For example, if

                                    $VAR

   appears in the value of a _Alpine_ configuration option it is looked up
   in the environment (using getenv("VAR")) and its looked-up value
   replaces the $VAR part of the option value. To include a literal dollar
   sign you may precede the dollar sign with another dollar sign. In other
   words, if the text

                                   $$text

   is the value of a configuration option, it will be expanded to

                                    $text

   and no environment lookup will be done. For Unix _Alpine_ it will also
   work to use a backslash character to escape the special meaning of the
   dollar sign, but $$ is preferable since it works for both _PC-Alpine_
   and Unix _Alpine_, allowing the configuration option to be in a shared
   configuration file.

   This all sounds more complicated than it actually is. An example may
   make it clearer. Unfortunately, the way in which environment variables
   are set is OS-dependent and command shell-dependent. In some Unix
   command shells you may use

                         PERSNAME="Fred Flintstone"

                               export PERSNAME

   Now, if you use _Alpine_'s Setup/Config screen to set

                           personal-name=$PERSNAME

   the $PERSNAME would be replaced by Fred Flintstone so that this would
   be equivalent to

                        personal-name=Fred Flintstone

   Note, environment variable substitution happens after configuration
   options which are lists are split into the separate elements of the
   list, so a single environment variable can't contain a list of values.

   The environment variable doesn't have to be the only thing after the
   equal sign. However, if the name of the variable is not at the end of
   the line or followed by a space (so that you can tell where the
   variable name ends), it must be enclosed in curly braces like

                                   ${VAR}

   It is always ok to use the braces even if you don't need to.

   It is also possible to set a default value for an environment variable.
   This default value will be used if the environment variable is not set
   (that is, if getenv("VAR") returns NULL). The syntax used to set a
   default value is

                            ${VAR:-default value}

   If the config file contains

                    personal-name=${VAR:-Fred Flintstone}

   then when _Alpine_ is run VAR will be looked up in the environment. If
   VAR is found then personal-name will have the value that VAR was set
   to, otherwise, personal-name will be set to Fred Flintstone, the
   default value.

   An example where an environment variable might be useful is the
   variable inbox-path in the global configuration file. Suppose most
   users used the server

                           imapserver.example.com

   but that there were some exceptions who used

                          altimapserver.example.com

   In this case, the system manager might include the following line in
   the systemwide default _Alpine_ configuration file

              inbox-path=${IMAPSERVER:-imapserver.example.com}

   For the exceptional users adding

                    IMAPSERVER=altimapserver.example.com

   to their environment should work.

   Another example might be the case where a user has to use a different
   SMTP server from work and from home. The setup might be something as
   simple as

                              smtp-server=$SMTP

   or perhaps a default value could be given. Note that, as mentioned
   above, the variable SMTP cannot contain a list of SMTP servers.
     __________________________________________________________________

SMTP Servers

   It is sometimes desirable to set smtp-server=localhost instead of
   setting sendmail-path to overcome the inability to negotiate ESMTP
   options when _sendmail_ is invoked with the _-t_ option. Sendmail can
   also be subject to unacceptable delays due to slow DNS lookups and
   other problems.

   It is sometimes desirable to configure an SMTP server on a port other
   than the default port 25. This may be used to provide an alternate
   service that is optimized for a particular environment or provides
   different features from the port 25 server. An example would be a
   program that negotiates ESMTP options and queues a message, but does
   not attempt to deliver messages. This would avoid delays frequently
   encountered when invoking _sendmail_ directly.

   A typical configuration would consist of
     * A program that implements the SMTP or ESMTP protocol via stdio.
     * An entry in /etc/services for the alternate service.
     * An entry in /etc/inetd.conf for the alternate service.
     * An entry in /etc/pine.conf,
       /etc/pine.conf.fixed or ~/.pinerc.
     __________________________________________________________________

MIME.Types file

   _Alpine_'s MIME-TYPE support is based on code contributed by Hans
   Drexler &LT;drexler@mpi.nl&GT;. _Alpine_ assigns MIME Content-Types
   according to file name extensions found in the system-wide files
   /usr/local/lib/mime.types and /etc/mime.types, and a user specific
   ~/.mime.types file.

   In Windows, _Alpine_ looks in the same directory as the PINERC file and
   the same dir as ALPINE.EXE. This is similar to the UNIX situation with
   personal config info coming before potentially shared config data. An
   alternate search path can be specified by setting the
   mimetype-search-path variable in the user or system-wide configuration
   or by setting the MIMETYPES environment variable.

   These files specify file extensions that will be connected to a mime
   type. Lines beginning with a '#' character are treated as comments and
   ignored. All other lines are treated as a mime type definition. The
   first word is a _type/subtype_ specification. All following words are
   file _extensions_ belonging to that type/subtype. Words are separated
   by whitespace characters. If a file extension occurs more than once,
   then the first definition determines the file type and subtype. A
   couple sample lines from a mime.types file follow:

image/gif         gif
text/html         html htm
video/mpeg        mpeg mpg mpe

     __________________________________________________________________

Color Details

   UNIX _Alpine_ may display color if the terminal or terminal emulator
   you are using is capable of displaying colors. If the terminal supports
   ANSI color escape sequences you will be able to turn color on using the
   color-style option and setting it to the value _force-ansi-8color_ or
   _force-ansi-16color_. If instead you'd like _Alpine_ to automatically
   detect whether or not you are on a color terminal, set _color-style_ to
   _use-termdef_ _and_ configure the termcap entry to describe your
   terminal's color capabilities.

   If the _color-style_ option is set to _use-termdef_, _Alpine_ looks in
   the terminal capabilities database, TERMINFO or TERMCAP, depending on
   how _Alpine_ was compiled, to decide whether or not your terminal is
   capable of color. For TERMINFO compiled _Alpine_s, the capabilities
   that are used for color are "colors", "setaf", "setab", "op", and
   "bce". If you have a terminal with color capabilities described by the
   "scp" capability, _Alpine_ does not support it. The capabilities "setf"
   and "setb" may be used instead of "setaf" and "setab". The capability
   "bce" is optional and is used as an optimization, the other
   capabilities are required. For TERMCAP compiled _Alpine_s, the
   capabilities that are used for color are "Co", "AF", "AB", "op", and
   "ut". The capabilities "Sf" and "Sb" may be used instead of "AF" and
   "AB", though this isn't a useful feature.

   Here are some short descriptions of the capabilities listed above. The
   TERMINFO name is listed, followed by the TERMCAP name in parentheses.
   _colors_ (_Co_)
          The number of different colors.
   _setaf_ (_AF_)
          Set ANSI foreground color.
   _setab_ (_AB_)
          Set ANSI background color.
   _setf_ (_Sf_)
          Set foreground color. Alternate form of _setaf_.
   _setb_ (_Sb_)
          Set background color. Alternate form of _setab_.
   _op_ (_op_)
          Set default pair to its original value.
   _bce_ (_ut_)
          Screen is erased with current background color instead of
          default background.

   A standard ANSI terminal which supports color will have a TERMINFO
   entry which contains:
  colors#8
  setaf=\E[3%p1%dm
  setab=\E[4%p1%dm
  op=\E[39;49m
  bce

   or the TERMCAP equivalent:
  Co#8
  AF=\E[3%dm
  AB=\E[4%dm
  op=\E[39;49m
  ut

   If there are eight colors, the program uses colors 0, 1, ..., 7. For an
   ANSI terminal, the foreground color is set by sending the escape
   sequence "Escape LeftBracket 3 color_number m" to the terminal. The
   background color is set by sending the sequence "Escape LeftBracket 4
   color_number m". ANSI colors zero through seven are defined to be
   "black", "red", "green", "yellow", "blue", "magenta", "cyan", and
   "white". Some terminal emulators will swap blue and red and swap yellow
   and cyan. The capabilities "setf" and "setb" are usually designed for
   those terminals so that they will flip the color numbers 1 and 4 and
   the numbers 3 and 6 to compensate for this. _Alpine_ will use the ANSI
   versions of the capabilities if they exist, and will use the non-ANSI
   versions (setf and setb) if the ANSI versions don't exist. Here's a
   version which does the flipping. This can only be used with TERMINFO
   _Alpine_s, because of the arithmetic, which is not supported by TERMCAP.
  colors#8
  setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m
  setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m
  op=\E[39;49m
  bce

   Some terminal emulators are capable of displaying eight more colors
   when the foreground colors 30-37 are replaced with 90-97 and the
   background colors 40-47 are replaced with 100-107. These terminals
   require a fancy termcap entry which can take foreground colors 0, 1,
   ..., 15 and map that into 30, 31, ..., 37, 90, 91, ..., 97, and
   similarly for the background colors. Here is a terminfo entry which
   will do just that:
  colors#16
  setaf=%p1%{8}%/%{6}%*%{3}%+\E[%d%p1%{8}%m%dm
  setab=%p1%{8}%/%{6}%*%{4}%+\E[%d%p1%{8}%m%dm
  op=\E[39;49m
  bce

   and here is the termcap equivalent:
  Co#16
  AF=\E[%i%i%>\001\034%>\045\064%dm
  AB=\E[%i%i%>\001\046%>\057\064%dm
  op=\E[39;49m
  ut

   This is a terminfo entry for 16 colors that also does the color
   flipping:
  colors#16
  setf=%p1%{8}%/%{6}%*%{3}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{
4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m
  setb=%p1%{8}%/%{6}%*%{4}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{
4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m
  op=\E[39;49m
  bce

   If you are always using the same display it probably won't matter to
   you if the color pairs red/blue and cyan/yellow are flipped, since
   you'll always be seeing them flipped. You will get different defaults
   than on a display with them not flipped, but that's about all. If you
   are trying to use the same pinerc file from displays with different
   color characteristics, or from _Alpine_ and _PC-Alpine_, you will have
   to be more careful. The colors numbered 0 through 7 may be used
   portably between different systems if you are careful to make them
   correspond to the ANSI order mentioned above. You can check this by
   looking at a color configuration screen for one of the colors. The
   first eight colors should be in the order above. If they aren't, you
   could fix that by modifying your termcap entry on the UNIX system. This
   is not possible if your system uses TERMCAP instead of TERMINFO.
     __________________________________________________________________

S/MIME Overview

   UNIX _Alpine_ only.

   S/MIME is a standard for the public key encryption and signing of
   email. UNIX _Alpine_ contains a basic implementation of S/MIME based on
   the OpenSSL libraries.

   Some limitations:
     * There is no _PC-Alpine_ implementation.
     * There is no provision for checking for CRLs (Certificate Revocation
       Lists) in _Alpine_.
     * This built-in S/MIME implementation is not compatible with and does
       not help with PGP.
     * There is no mechanism available for feeding either an entire
       incoming or an entire outgoing message to an external filter and
       using that external filter to do S/MIME or PGP processing.
     * Because the implementation currently uses OpenSSL, there is only a
       very limited integration with the Mac OS Keychain (the storing and
       access of public certificates).
     * There is no way to view or manipulate the lists of certificates
       from within _Alpine_.

   The S/MIME configuration screen is reached by going to the Main Menu
   and typing the "S Setup" command followed by "M S/MIME".

  S/MIME BASICS

   In order to digitally sign messages you send you must have a
   public/private key-pair. This may be obtained from a public Certificate
   Authority (CA) such as Thawte, Verisign, Comodo, or GoDaddy; or from a
   smaller CA such as a university which provides certificates for its
   users or a company which provides certificates for its workers. These
   certificates are bound to an email address, so the identity being
   verified is the email address not a person's name.

   Mail is signed by using the sender's private key, which only the owner
   of the private key has access to. The signature is verified using the
   signer's public key, which anyone can have access to. With _Alpine_,
   the first time you receive a signed message the public key of the
   sender will be stored for future use.

   Mail is encrypted using the recipient's public key and decrypted by the
   recipient with their private key.

   You need a key of your own in order to sign outgoing messages and to
   have others encrypt messages sent to you. You do not need a key of your
   own to verify signed messages sent by others or to encrypt messages
   sent to others.

  ALPINE S/MIME CERTIFICATE STORAGE

   By default UNIX _Alpine_ stores the certificates it uses in a directory
   in your home directory. The directory name is

                                .alpine-smime

   Within that directory are three subdirectories. Each of the three
   subdirectories contains files with PEM-encoded contents, the default
   format for OpenSSL. The "public" directory contains public
   certificates. The files within that directory have names that are email
   addresses with the suffix ".crt" appended. An example filename is

                            user@example.com.crt

   The "private" directory contains private keys, probably just one for
   your private key. These are also email addresses but with the suffix
   ".key" instead. The third directory is "ca" and it contains
   certificates for any Certificate Authorities that you want to trust but
   that aren't contained in the set of system CAs. Those files may have
   arbitrary names as long as they end with the suffix ".crt".

  HOW TO SIGN AND ENCRYPT

   If you have a certificate you may sign outgoing messages. After typing
   the Ctrl-X command to send a message you will see the prompt

                                Send message?

   Available subcommands include "G Sign" and "E Encrypt". Typing the "G"
   command will change the prompt to

                           Send message (Signed)?

   Typing the "E" command will change the prompt to

                          Send message (Encrypted)?

   You may even type both to get

                      Send message (Encrypted, Signed)?

  HOW TO READ SIGNED OR ENCRYPTED MESSAGES

   The reading of a signed message should not require any special action
   on your part. There should be an editorial addition at the start of the
   message which says either

                 This message was cryptographically signed.

   or

    This message was cryptographically signed but the signature could not
                                be verified.

   If an encrypted message is sent to you the encrypted text will not be
   shown. You will have to type the "Ctrl-D Decrypt" command (from the
   screen where you are viewing the message) and supply your passphrase
   when asked.

   For a signed or encrypted message there is also a "Ctrl-E Security"
   command which gives you some information about the certificate used to
   sign or encrypt the message.

  MISCELLANEOUS

   You may have access to a private certificate in the PKCS12 format,
   which would sometimes be in a file with a ".p12" suffix. The UNIX shell
   command

                  openssl pkcs12 -in file.p12 -out file.pem

   may work to convert that from the PKCS12 format to the PEM format. Then
   that file could be placed in the "private" directory with a filename of
   your email address followed by the suffix ".key".
     __________________________________________________________________

Additional Notes on PC-Alpine

   Below are a few odds and ends worth mentioning about _PC-Alpine_. They
   have to do with DOS-specific behavior that is either necessary or
   useful (and sometimes both!).

   As _PC-Alpine_ runs in an environment with limited access control,
   accounting or auditing, an additional line is automatically inserted
   into the header of mail messages generated by _PC-Alpine_:
        X-Sender: <userid>@<imap.host>


   By popular demand of system administrators, _PC-Alpine_ has been
   modified to prevent sending messages until the user has successfully
   logged into a remote mail server. Even though _PC-Alpine_ cannot
   prevent users from changing the apparent identity of the sender of a
   message, the IMAP server login name and host name included in the
   _X-Sender_ line provide some level of traceability by the recipient.
   However, this should not be considered a rigorous form of
   authentication. It is extremely lightweight, and is not a replacement
   for true authentication.

   Hand in hand with authentication and accounting is user information.
   Since _PC-Alpine_ has no user database to consult for _user-id_,
   _personal-name_, etc., necessary information must be provided by the
   user/installer before _PC-Alpine_ can properly construct the "From"
   address required for outbound messages. _PC-Alpine_ will, by default,
   prompt for the requisite pieces as they are needed. This information
   corresponds to the _PINERC_ variables user-id, personal-name,
   user-domain, and smtp-server.

   The user is then asked whether or not this information should
   automatically be saved to the _PINERC_. This is useful behavior in
   general, but can lead to problems in a lab or other shared environment.
   Hence, these prompts and automatic saving of configuration can be
   turned off on an entry by entry basis by setting any of the above
   values in the _PINERC_ to the null string (i.e., a pair of double
   quotes). This means that the user will be prompted for the information
   once during each _Alpine_ session, and no opportunity to save them in
   the _PINERC_ will be offered.

   Another feature of DOS is the lack of standard scratch area for
   temporary files. During the course of a session, _PC-Alpine_ may
   require numerous temporary files (large message texts, various caches,
   etc.). Where to create them can be a problem, particularly when running
   under certain network operating systems. _PC-Alpine_ observes the
   _TMPDIR_, _TMP_, and _TEMP_ environment variables, and creates temporary
   files in the directory specified by either. In their absence,
   _PC-Alpine_ creates these files in the root of the current working
   drive. Some temporary files have to be created in the same directory as
   the file they are a temporary copy of. For example, a pinerc file or a
   address book file.

                               Behind the Scenes

   Many people ask how certain _Alpine_ features are implemented. This
   section outlines some of the details.

Address Books

   There are two types of address book storage. There are _local_ address
   books, which are the address books that are stored in a local file; and
   there are _remote_ address books, which are stored on an IMAP server.

    Information About Remote Address Books

     NOTE: The remote address book capability does not allow you to
     access an existing local address book from a remote system! That is,
     you can't set the remote address book to something like
     {remote.host}.addressbook and expect to access the existing
     .addressbook _file_ on remote.host. Instead, you need to create a
     new remote address book in a new, previously unused remote mail
     _folder_. Then you can use the _Select_ and _Apply Save_ commands in
     the address book screen to _Save_ all of the entries from an
     existing local address book to the new remote address book.

   A remote address book is stored in a mail folder on an IMAP server. An
   _Alpine_ remote address book is just like an _Alpine_ local address book
   in that it is not interoperable with other email clients. The folder is
   a regular folder containing mail messages but those messages are
   special. The first message must be an alpine remote address book header
   message which contains the header _x-pine-addrbook_. The last message
   in the folder contains the address book data. In between the first and
   the last message are old versions of the address book data. The address
   book data is simply stored in the message as it would be on disk, with
   no MIME encoding. When it is used the data from the last message in the
   folder is copied to a local file and then that file is used exactly
   like a local address book file is used. When a change is made the
   modified local file is appended to the remote folder in a new message.
   In other words, the local file is just a cache copy of the data in the
   remote folder. Each client which uses the remote address book will have
   its own cache copy of the data. Whenever a copy is done the entire
   address book is copied, not just the entries which have changed.

   _Alpine_ can tell that the remote data has changed by one of several
   methods. If the date contained in the Date header of the last message
   has changed then it knows it has changed. If the UID of the last
   message has changed, or the number of messages in the folder has
   changed, it knows that it has changed. When _Alpine_ discovers the
   folder has changed it gets a new copy and puts it in the local cache
   file.

   There is a configuration file variable for remote address books called
   remote-abook-metafile. The variable is the name of a file in which
   information about remote address books is stored. There is one line in
   the metafile for each remote address book. The information stored there
   is the name of the cache file and information to help figure out when
   the remote folder was last changed. If the metafile or any of the cache
   files is deleted then _Alpine_ will rebuild them the next time it runs.

   Remote address books have names that look just like regular remote mail
   folder names. For example:

     {host.domain}foldername

   _Alpine_ decides whether or not an address book is remote simply by
   looking at the first character of the address book name and comparing
   it to '{'.

    Information About All Address Books

   The address book is named, by default, .addressbook in the user's Unix
   home directory, or in the case of _PC-Alpine_, ADDRBOOK, in the same
   directory as the PINERC file. There may be more than one address book,
   and the default name can be overridden via an entry in any of the
   _Alpine_ configuration files. The two configuration variables
   address-book and global-address-book are used to specify the names of
   the address books. Each of these variables is a list variable. The
   total set of address books for a user is the combination of all the
   address books specified in these two lists. Each entry in the list is
   an optional nickname followed by an address book name. The nickname is
   everything up to the last space before the file name. The
   _global-address-book_ list will typically be configured in the
   system-wide configuration file, though a user may override it like most
   other variables. Address books which are listed in the
   _global-address-book_ variable are forced read-only, and are typically
   shared among multiple users.

   Local address books (or local cache files for remote address books) are
   simple text files with lines in the format:

     <nickname>TAB<fullname>TAB<address>TAB<fcc>TAB<comments>

   The last two fields are optional. A "line" may be made up of multiple
   actual lines in the file by using continuation lines, which are lines
   beginning with SPACE characters. The line breaks may be after TABs or
   in between addresses in a distribution list. Each _actual_ line in the
   file must be less than 1000 characters in length.

   Nicknames (the first field) are short names that the user types instead
   of typing in the full address. There are several characters which
   aren't allowed in nicknames in order to avoid ambiguity when parsing
   the address (SPACE, COMMA, @, ", ;, :, (, ), [, ], <, >, \). Nicknames
   aren't required. In fact, none of the fields is required.

   The _fullname_ field is usually stored as Last_name, First_name, in
   order that a sort on the fullname field comes out sorted by Last_name.
   If there is an unquoted comma in the fullname, _Alpine_ will flip the
   first and last name around and get rid of the comma when using the
   entry in a composition. It isn't required that there be a comma, that's
   only useful if the user wants the entries to sort on last names.

   The _address_ field takes one of two forms, depending on whether the
   entry is a single (simple) address or a distribution list. For a simple
   entry, the address field is an RFC 2822 address. This could be either
   the email-address part of the address, i.e., the part that goes inside
   the brackets (<>), or it could be a full RFC 2822 address. The phrase
   part of the address (the fullname) is used unless there is a fullname
   present in the fullname field of the address book entry. In that case,
   the fullname of the address book entry replaces the fullname of the
   address. For a distribution list, the <address> is in the format:

     "(" <address>, <address>, <address>, ... ")"

   The only purpose for the parentheses around the list of addresses is to
   make it easier for the parsing routines to tell that it is a simple
   entry instead of a list. The two are displayed differently and treated
   slightly differently in some cases, though most of the distinction has
   disappeared. Each of the addresses in a list can be a full RFC 2822
   address with fullname included, or it may be just the simple
   email-address part of the address. This allows the user to have a list
   which includes the fullnames of all the list members. In both the
   simple and list cases, addresses may also be other nicknames which
   appear in this address book or in one of the other address books.
   (Those nicknames are searched for by looking through the address books
   in the order they appear in the address book screen, with the first
   match winning.) Lists may be nested. If addresses refer to each other
   in a loop (for example, list A includes list B which includes list A
   again) this is detected and flagged. In that case, the address will be
   changed to "**** address loop ****".

   The optional _fcc_ field is a folder name, just like the fcc field in
   the composer headers. If the first address in the To field of a
   composition comes from an address book entry with an fcc field, then
   that fcc is placed in the fcc header in the composer.

   The _comments_ field is just a free text field for storing comments
   about an entry. By default, neither the fcc nor the comments field is
   shown on the screen in the address book screen. You may make those
   fields visible by configuring the variable addressbook-formats. They
   are also searched when you use the _WhereIs_ command in the address
   book screen and are visible when you _View_ or _Update_ an entry.

   The address book is displayed in the order that it is stored. When the
   user chooses a different sorting criterion, the data is actually sorted
   and stored, as opposed to showing a sorted view of the data.

   When the address book is written out, it is first written to a
   temporary file and if that write is successful it is renamed. This
   guards against errors writing the file that might destroy the whole
   address book. The address book is re-written after each change. If the
   address book is a remote address book, the file is then appended to the
   remote mail folder using IMAP.

   The end-of-line character(s) in the address book file are those native
   to the system writing it. So it is <LF> on Unix and <CR><LF> on PC's.
   However, both Unix and PC versions of _Alpine_ can read either format,
   so it should be possible to share a read-only address book among the
   two populations (using NFS, for example).
     __________________________________________________________________

  Address Book Lookup File

   _Pine_ used an additional file for each address book, called the LookUp
   file. It had the same name as the address book file with the suffix
   ".lu" appended. _Alpine_ no longer uses a lookup file.

    Validity Checking of Address Books

   There is no file locking done on _Alpine_ address books, however, there
   is considerable validity checking done to make sure that the address
   book hasn't changed unexpectedly. Whenever the address book is about to
   be changed, a check is made to see if the file is newer than when we
   read it or the remote address book folder has changed since we last
   copied it. If either of these is true, the change is aborted.

   There is an automatic, behind-the-scene check that happens every so
   often, also. For example, if someone else changes one of the address
   books that you have configured, your _Alpine_'s copy of the address
   book will usually be updated automatically without you noticing. This
   checking happens at the same time as new mail checking takes place,
   unless you are actively using the address book, in which case it
   happens more frequently.
     __________________________________________________________________

Remote Configuration

   Configuration information may be stored remotely. Remote configuration
   information is stored in a folder on an IMAP server. This should be a
   folder which is used only for storing the configuration information. In
   other words, it should be a folder which didn't exist before.

   Remote configuration folders are very similar to remote address book
   folders. They both consist of a header message, which serves to
   identify the type of folder; the last message, which contains the data;
   and intermediate messages, which contain old versions of the data. The
   first message must contain the header _x-pine-pinerc_.

   When a remote configuration is being used, the folder is checked to
   make sure it is a remote configuration folder, then the data contained
   in the last message is copied to a temporary file. That file is treated
   just like any regular local configuration file from that point on.
   Whenever a configuration change is made, the entire file is copied back
   to the IMAP server and is appended to the folder as a new message.

   Because remote configuration folders are so similar to remote address
   books, the configuration variable remote-abook-metafile is used by
   both.

   Remote configuration folders have names that look just like regular
   remote mail folder names. For example:

     {host.domain}mypinerc

   _Alpine_ decides whether or not a configuration file is remote simply
   by looking at the first character of the name and comparing it to '{'.
     __________________________________________________________________

Checkpointing

   Periodically _Alpine_ will save the whole mail folder to disk to
   prevent loss of any mail or mail status in the case that it gets
   interrupted, disconnected, or crashes. The period of time _Alpine_
   waits to do the checkpoint is calculated to be minimally intrusive. The
   timing can be changed (but usually isn't) at compile time. Folder
   checkpointing happens for both local folders and those being accessed
   with IMAP. The delays are divided into three categories:

     The exact algorithm given below is no longer correct. It has gotten
     more complicated over time. However, this gives the general idea
     _Alpine_ uses when deciding whether or not to do a checkpoint.

   Good Time:
          This occurs when _Alpine_ has been idle for more than 30
          seconds. In this case _Alpine_ will checkpoint if 12 changes to
          the file have been made or at least one change has been made and
          a checkpoint hasn't been done for five minutes.
   Bad Time:
          This occurs just after _Alpine_ has executed some command.
          _Alpine_ will checkpoint if there are 36 outstanding changes to
          the mail file or at least one change and no checkpoint for ten
          minutes.
   Very Bad Time:
          Done when composing a message. In this case, _Alpine_ will only
          checkpoint if at least 48 changes have been made or at least one
          change has been made in the last twenty minutes with no
          checkpoint.
     __________________________________________________________________

Debug Files

   If UNIX _Alpine_ is compiled with the compiler _DEBUG_ option on (the
   default), then _Alpine_ will produce debugging output to a file. This
   can be disabled at compile-time with the --disable-debug configure
   option, or at run-time with the command line flag -d0. The file is
   normally .pine-debugX in the user's home directory where _X_ goes from
   1 to 4. Number 1 is always the most recent session and 4 the oldest.
   Four are saved because often the user has gone in and out of _Alpine_ a
   few times after a problem has occurred before the expert actually gets
   to look at it. The amount of output in the debug files varies with the
   debug level set when _Alpine_ is compiled and/or as a command line
   flag. The default is level 2. This shows very general things and
   records errors. Level 9 produces copious amounts of output for each
   keystroke.

   Similarly, _PC-Alpine_ creates debug files named pinedebg.txtX in the
   same directory as the PINERC file.
     __________________________________________________________________

INBOX and Special Folders

   The _INBOX_ folder is treated specially. It is normally kept open
   constantly so that the arrival of new mail can be detected. The name
   _INBOX_ refers to wherever new mail is retrieved on the system. If the
   inbox-path variable is set, then _INBOX_ refers to that. IMAP servers
   understand the concept of _INBOX_, so specifying the folder
   _{imap.u.example.edu}INBOX_ is meaningful. The case of the word _INBOX_
   is not important, but _Alpine_ tends to display it in all capital
   letters.

   The folders for sent mail and saved messages folders are also somewhat
   special. They are automatically created if they are absent and
   recreated if they are deleted.
     __________________________________________________________________

Internal Help Files

   The file pine.hlp in the alpine subdirectory of the distribution
   contains all the help text for _Alpine_. It is compiled right into the
   _Alpine_ binary as strings. This is done to simplify installation and
   configuration. The pine.hlp file is in a special format that is
   documented at the beginning of the file. It is divided into sections,
   each with a name that winds up being referenced as a global variable.
   This file is processed during the build process and turned into a C
   file that is compiled into _Alpine_.
     __________________________________________________________________

International Character Sets

   _Alpine_ uses Unicode characters internally and it is a goal for
   _Alpine_ to handle email in many different languages. _Alpine_ will
   properly display only left-to-right character sets in a fixed-width
   font. Specifically, _Alpine_ assumes that a fixed-width font is in use,
   in the sense that characters are assumed to take up zero, one, or two
   character cell widths from left to right on the screen. This is true
   even in _PC-Alpine_.

   _Alpine_ recognizes some local character sets which are right-to-left
   (Arabic, Hebrew, and Thai) or not representable in a fixed-width font
   (Arabic) and properly converts texts in these character sets to/from
   Unicode; however, there are known display bugs with these character
   sets.

   There are three possible configuration character settings and some
   environment variable settings which can affect how _Alpine_ handles
   international characters. The first two of these are only available in
   UNIX _Alpine_. The three configuration options are
   _display-character-set_, _keyboard-character-set_, and
   _posting-character-set_. The _keyboard-character-set_ defaults to being
   the same value as the _display-character-set_, and that is usually
   correct, because the keyboard almost always produces characters in the
   same character set as the display displays. The _display-character-set_
   is the character set that _Alpine_ will attempt to use when sending
   characters to the display.

   Besides those variables there is also use-system-translation which can
   be used instead of these. That usage is only lightly tested and is not
   recommended.

   By default, the _display-character-set_ variable is not set and UNIX
   _Alpine_ will attempt to get this information from the environment. In
   particular, the nl_langinfo(CODESET) call is used. This usually depends
   on the setting of the environment variables LANG or LC_CTYPE. An
   explicit configuration setting for _display-character-set_ will, of
   course, override any default setting.

   For _PC-Alpine_ the _display-character-set_ and the
   _keyboard-character-set_ are always equivalent to UTF-8 and this is not
   settable.

   It is probably best to use UNIX _Alpine_ in a terminal emulator capable
   of displaying UTF-8 characters, since that will allow you to view just
   about any received text that is correctly formatted (note, however, the
   above comments about known index display bugs with certain character
   sets). You'll need to have an emulator which uses a UTF-8 font and
   you'll need to set up your environment to use a UTF-8 charmap. For
   example, on a Linux system you might include

                           setenv LANG en_US.UTF-8

   or something similar in your UNIX startup files. You'd also have to
   select a UTF-8 font in your terminal emulator.

   The types of values that the character set variables may be set to are
   UTF-8, ISO-8859-1, or EUC-JP. The ISO-2022 character sets are not
   supported for input or for display, but as a special case, ISO-2022-JP
   is supported for use only as a _posting-character-set_. In the
   Setup/Config screen you may choose from a list of all the character
   sets _Alpine_ knows about by using the "T" ToCharsets command. Here is
   a list of many of the possible character sets:

   UTF-8        Unicode
   US-ASCII     7 bit American English characters
   ISO-8859-1   8 bit European "Latin 1" character set
   ISO-8859-2   8 bit European "Latin 2" character set
   ISO-8859-3   8 bit European "Latin 3" character set
   ISO-8859-4   8 bit European "Latin 4" character set
   ISO-8859-5   8 bit Latin and Cyrillic
   ISO-8859-6   8 bit Latin and Arabic
   ISO-8859-7   8 bit Latin and Greek
   ISO-8859-8   8 bit Latin and Hebrew
   ISO-8859-9   8 bit European "Latin 5" character set
   ISO-8859-10  8 bit European "Latin 6" character set
   ISO-8859-11  Latin and Thai
   ISO-8859-12  Reserved
   ISO-8859-13  8 bit European "Latin 7" character set
   ISO-8859-14  8 bit European "Latin 8" character set
   ISO-8859-15  8 bit European "Latin 9" character set
   ISO-8859-16  8 bit European "Latin 10" character set
   KOI8-R       8 bit Latin and Russian
   KOI8-U       8 bit Latin and Ukrainian
   WINDOWS-1251 8 bit Latin and Russian
   TIS-620      8 bit Latin and Thai
   VISCII       8 bit Latin and Vietnamese
   GBK          Latin and Chinese Simplified
   GB2312       Latin and Chinese Simplified
   CN-GB        Latin and Chinese Simplified
   BIG5         Latin and Chinese Traditional
   BIG-5        Latin and Chinese Traditional
   EUC-JP       Latin and Japanese
   SHIFT-JIS    Latin and Japanese
   EUC-KR       Latin and Korean
   KSC5601      Latin and Korean

   When reading incoming email, _Alpine_ understands many different
   character sets and is able to convert the incoming mail into Unicode.
   The Unicode will be converted to the _display-character-set_ for
   display on your terminal. Characters typed at the keyboard will be
   converted from the _keyboard-character-set_ to Unicode for _Alpine_'s
   internal use. You may find that you can read some malformed messages
   that do not contain a character set label by setting the option
   unknown-character-set.

   The _posting-character-set_ is used when sending messages. The default
   behavior obtained by leaving this variable unset is usually what is
   wanted. In that default case, _Alpine_ will attempt to label the
   message with the most specific character set from the rather arbitrary
   set

   US-ASCII, ISO-8859-15, ISO-8859-1, ISO-8859-2, VISCII, KOI8-R, KOI8-U,
   ISO-8859-7, ISO-8859-6, ISO-8859-8, TIS-620, ISO-2022-JP, GB2312, BIG5,
   EUC-KR, and UTF-8.

   For example, if the message is made up of only US-ASCII characters, it
   will be labeled US-ASCII. Otherwise, if it is all ISO-8859-15
   characters, that will be the label. If that doesn't work the same is
   tried for the remaining members of the list.

   It might make sense to set _posting-character-set_ to an explicit value
   instead. For example, if you usually send messages in Greek, setting
   this option to ISO-8859-7 will result in messages being labeled as
   US-ASCII if there are no non-ascii characters, ISO-8859-7 if there are
   only Greek characters, or UTF-8 if there are some characters which
   aren't representable in ISO-8859-7. Another possibility is to set this
   option explicitly to UTF-8. In that case _Alpine_ labels only ascii
   messages as US-ASCII and all other messages as UTF-8.
     __________________________________________________________________

Interrupted and Postponed Messages

   If the user is composing mail and is interrupted by being disconnected
   (SIGHUP, SIGTERM or end of file on the standard input), _Alpine_ will
   save the interrupted composition and allow the user to continue it when
   he or she resumes _Alpine_. As the next _Alpine_ session starts, a
   message will be given that an interrupted message can be continued. To
   continue the interrupted message, simply go into the composer. To get
   rid of the interrupted message, go into the composer and then cancel
   the message with _^C._

   Composition of half-done messages may be postponed to a later time by
   giving the _^O_ command. Other messages can be composed while postponed
   messages wait. All of the postponed messages are kept in a single
   folder. Postponing is a good way to quickly reference other messages
   while composing.
     __________________________________________________________________

Message Status

   The c-client library allows for several flags or status marks to be set
   for each message. _Alpine_ uses four of these flags: UNSEEN, DELETED,
   ANSWERED, and FLAGGED. The N in _Alpine_'s FOLDER INDEX means that a
   message is unseen-it has not been read from this folder yet. The D
   means that a message is marked for deletion. Messages marked with D are
   removed when the user _Expunges_ the folder (which usually happens when
   the folder is closed or the user quits _Alpine_). The A in _Alpine_'s
   FOLDER INDEX means that the message has been replied-to. The * in
   _Alpine_'s FOLDER INDEX means that the message has been ``flagged'' as
   important. That is, the user used the _Flag_ command to turn the
   FLAGGED flag on. This flag can mean whatever the user wants it to mean.
   It is just a way to mark some messages as being different from others.
   It will usually probably be used to mark a message as somehow being
   ``important''. For Berkeley format folders, the message status is
   written into the email folder itself on the header lines marked Status:
   and X-Status.

   It is also possible for a user to define their own flags in addition to
   the standard system flags above. In _Alpine_ these user defined flags
   are called Keywords.
     __________________________________________________________________

MIME: Reading a Message

   _Alpine_ should be able to handle just about any MIME message. When a
   MIME message is received, _Alpine_ will display a list of all the
   parts, their types and sizes. It will display the attachments when
   possible and appropriate and allow users to _Save_ all other
   attachments.

   _Alpine_ honors the "mailcap" configuration system for specifying
   external programs for handling attachments. The mailcap file maps MIME
   attachment types to the external programs loaded on your system which
   can display and/or print the file. A sample mailcap file comes bundled
   with the _Alpine_ distribution. It includes comments which explain the
   syntax you need to use for mailcap. With the mailcap file, any program
   (mail readers, newsreaders, WWW clients) can use the same configuration
   for handling MIME-encoded data.

   If a MAILCAPS environment variable is defined, _Alpine_ will use that
   to look for one or more mailcap files, which are combined. In the
   absence of MAILCAPS, Unix _Alpine_ will look for a personal mailcap
   file in ~/.mailcap and combine that with a system-wide file in
   /etc/mailcap. _PC-Alpine_ will look for a file named MAILCAP in the
   same directory as the PINERC file, and/or the directory containing the
   ALPINE.EXE executable.

   Messages which include _rich text_ or _enriched text_ in the main body
   will be displayed in a very limited way (it will show bold and
   underlining).

   If _Alpine_ sees a MIME message part tagged as type IMAGE, and
   _Alpine_'s image-viewer configuration variable is set, _Alpine_ will
   attempt to send that attachment to the named image viewing program. In
   the case of UNIX _Alpine_, the DISPLAY environment variable is checked
   to see if an X-terminal is being used (which can handle the images). If
   the _image-viewer_ variable is not set, _Alpine_ uses the _mailcap_
   system to determine what to do with IMAGE types, just as it does for
   any other non-TEXT type, e.g. type APPLICATION. For MIME's generic
   "catch all" type, APPLICATION/OCTET-STREAM, the _mailcap_ file will
   probably not specify any action, but _Alpine_ users may always _Save_
   any MIME attachment to a file.

   MIME type "text/plain" is handled a little bit differently than the
   other types. If you are viewing the main body part in the MESSAGE TEXT
   viewing screen, then _Alpine_ will use its internal viewer to display
   it. This happens even if there is a mailcap description which matches
   this particular type. However, if you view a part of type "text/plain"
   from the ATTACHMENT INDEX screen, then _Alpine_ will check the mailcap
   database for a matching entry and use it in preference to its internal
   viewer.

   Some text attachments, specifically those which are just other email
   messages forwarded as MIME messages, are displayed as part of the main
   body of the message. This distinction allows easy display when possible
   (the forward as MIME case) and use of an attachment viewer when that is
   desirable (the plain text file attachment case).

   If the parts of a multipart message are alternate versions of the same
   thing _Alpine_ will select and display the one best suited. For parts
   of type "message/external-body", the parameters showing the retrieval
   method will be displayed, and the retrieval process is automated.
   Messages of type "message/partial" are not supported.
     __________________________________________________________________

MIME: Sending a Message

   There are two important factors when trying to include an attachment in
   a message: encoding and labeling. _Alpine_ has rules for both of these
   which try to assure that the message goes out in a form that is robust
   and can be handled by other MIME mail readers.

   MIME has two ways of encoding data-Quoted-Printable and Base64.
   Quoted-Printable leaves the ASCII text alone and only changes 8-bit
   characters to "=" followed by the hex digits. For example, "=09" is a
   tab. It has the advantage that it is mostly readable and that it allows
   for end of line conversions between unlike systems. Base64 encoding is
   similar to _uuencode_ or _btoa_ and just encodes a raw bit stream. This
   encoding is designed to get text and binary files through even the most
   improperly implemented and configured gateways intact, even those that
   distort uuencoded data.

   _All_ attachments are encoded using Base64 encoding. This is so that
   the attachment will arrive at the other end looking exactly like it did
   when it was sent. Since Base64 is completely unreadable except by
   MIME-capable mailers or programs, there is an obvious tradeoff being
   made here. We chose to ensure absolutely reliable transport of
   attachments at the cost of requiring a MIME-capable mailer to read
   them. If the user doesn't want absolute integrity he or she may always
   _include_ text (with the _^R_ command) in the body of a message instead
   of attaching it. With this policy, the only time quoted-printable
   encoding is used is when the main body of a message includes special
   foreign language characters.

   When an attachment is to be sent, _Alpine_ sniffs through it to try to
   set the right label (content-type and subtype). An attachment with any
   lines longer than 500 characters in it or more than 10% of the
   characters are 8-bit it will be considered binary data. _Alpine_ will
   recognize (and correctly label) a few special types including GIF,
   JPEG, PostScript, and some audio formats. Another method which can be
   more robust and flexible for determining the content-type and subtype
   is to base it on the file extension. This method uses a MIME.Types
   File.

   If it is not binary data (has only a small proportion of 8-bit
   characters in it,) the attachment is considered 8-bit text. 8-bit text
   attachments are labeled "text/plain" with charset set to the value of
   the user's _keyboard-character-set_ variable. If an attachment is ASCII
   (no 8-bit characters) and contains no control characters then it is
   considered plain ASCII text. Such attachments are given the MIME label
   "text/plain; charset=US-ASCII", regardless of the setting of the user's
   _keyboard-character-set_ variable.

   All other attachments are unrecognized and therefore given the generic
   MIME label "application/octet-stream".
     __________________________________________________________________

New Mail Notification

   _Alpine_ checks for new mail in the _INBOX_ and in the currently open
   folder every two and a half minutes by default. This default can be
   changed in the system-wide configuration file or at compile-time with
   the --with-mailcheck-interval=VALUE configuration option. A user can
   change it by changing the option mail-check-interval. A new mail check
   can be manually forced by redrawing the screen with a _^L_.

   When there is new mail, the message(s) will appear in the index, the
   screen will beep, and a notice showing the sender and subject will be
   displayed. If there has been more than one new message since you last
   issued a command to _Alpine_, the notice will show the count of new
   messages and the sender of the most recent one.
     __________________________________________________________________

NFS

   It is possible to access mail folders on _NFS_ mounted volumes with
   _Alpine_, but there are some drawbacks to doing this, especially in the
   case of incoming-message folders that may be concurrently updated by
   _Alpine_ and the system's mail delivery agent. One concern is that
   _Alpine_'s user-contention locks don't work because _/tmp_ is usually
   not shared, and even if it was, _flock()_ doesn't work across _NFS._

   The implementation of the standard UNIX ".lock" file locking has been
   modified to work with _NFS_ as follows. Standard hitching post locking
   is used so first a uniquely named file is created, usually something
   like _xxxx.host.time.pid._ Then a link to it is created named
   _xxxx.lock_ where the folder being locked is _xxxx._ This file
   constitutes the lock. This is a standard UNIX locking scheme. After the
   link returns, a _stat(2)_ is done on the file. If the file has two
   links, it is concluded that the lock succeeded and it is safe to
   proceed.

   In order to minimize the risks of locking failures via _NFS_, we
   strongly recommend using IMAP rather than _NFS_ to access remote
   incoming message folders, e.g. your _INBOX_. However, it is generally
   safe to access personal saved-message folders via _NFS_ since it is
   unlikely that more than one process will be updating those folders at
   any given time. Still, some problems may occur when two _Alpine_
   sessions try to access the same mail folder from different hosts
   without using IMAP. Imagine the scenario: _Alpine_-A performs a write
   that changes the folder. _Alpine_-B then attempts to perform a write on
   the same folder. _Alpine_-B will get upset that the file has been
   changed from underneath it and abort operations on the folder.
   _Alpine_-B will continue to display mail from the folder that it has in
   its internal cache, but it will not read or write any further data. The
   only thing that will be lost out of the _Alpine_-B session when this
   happens is the last few status changes.

   If other mail readers besides _Alpine_ are involved, all bets are off.
   Typically, mailers don't take any precautions against a user opening a
   mailbox more than once and no special precautions are taken to prevent
   _NFS_ problems.
     __________________________________________________________________

Printers and Printing

   UNIX _Alpine_ can print to the standard UNIX line printers or to
   generic printers attached to ANSI terminals using the escape sequences
   to turn the printer on and off. The user has a choice of three printers
   in the configuration.

   The first setting, _attached-to-ansi_, makes use of escape sequences on
   ANSI/VT100 terminals. It uses "<ESC>[5i" to begin directing all output
   sent to the terminal to the printer and then "<ESC>[4i" to return to
   normal. _Alpine_ will send these escape sequences if the printer is set
   to _attached-to-ansi._ This works with most ANSI/VT100 emulators on
   Macs and PCs such as kermit, NCSA telnet, VersaTerm Pro, and WinQVT.
   Various terminal emulators implement the print feature differently.
   There is also a closely related method called
   _attached-to-ansi-no-formfeed_ which is the same except for the lack of
   formfeed character at the end of the print job.

   _Attached-to-wyse_ and _attached-to-wyse-no-formfeed_ are very similar
   to "attached-to-ansi". The only difference is in the control characters
   sent to turn the printer on and off. The Wyse version uses Ctrl-R for
   on, and Ctrl-T for off.

   The second selection is the standard UNIX print command. The default is
   _lpr_, but it can be changed on a system basis to anything so desired
   in /etc/pine.conf.

   The third selection is the user's personal choice for a UNIX print
   command. The text to be printed is piped into the command. _Enscript_
   or _lpr_ with options are popular choices. The actual command is
   retained even if one of the other print selections is used for a while.

   Both the second and third sections are actually lists of possible
   commands rather than single commands.

   If you have a PostScript printer attached to a PC or Macintosh, then
   you will need to use a utility called _ansiprt_ to get printouts on
   your printer. _Ansiprt_ source code and details can be found in the
   ./contrib directory of the _Alpine_ distribution.
     __________________________________________________________________

Save and Export

   _Alpine_ users get two options for moving messages in _Alpine_: _Save_
   and _Export_. _Save_ is used when the message should remain ``in the
   _Alpine_ realm.'' Saved messages include the complete header (including
   header lines normally hidden by _Alpine_), are placed in a _Alpine_
   folder collection and accumulate in a standard folder format which
   _Alpine_ can read. In contrast, the _Export_ command is used to write
   the contents of a message to a file for use outside of _Alpine_.
   Messages which have been exported are placed in the user's home
   directory (unless the feature use-current-dir is turned on), not in a
   _Alpine_ folder collection. Unless FullHeaderMode is toggled on, all
   delivery-oriented headers are stripped from the message. Even with
   _Export_, _Alpine_ retains message separators so that multiple messages
   can accumulate in a single file and subsequently be accessed as a
   folder. On UNIX systems, the _Export_ command pays attention to the
   standard _umask_ for the setting of the file permissions.
     __________________________________________________________________

Sent Mail

   _Alpine_'s default behavior is to keep a copy of each outgoing message
   in a special "sent mail" folder. This folder is also called the fcc for
   "file carbon copy". The existence, location and name of the sent mail
   folder are all configurable. Sent mail archiving can be turned off by
   setting the configuration variable default-fcc="". The sent mail folder
   is assumed to be in the default collection for _Save_s, which is the
   first collection named in folder-collections. The name of the folder
   can be chosen by entering a name in _default-fcc_. With _PC-Alpine_,
   this can be a bit complicated. If the default collection for _Save_s is
   local (DOS), then the _default-fcc_ needs to be SENTMAIL, which is
   syntax for a DOS file. However, if the default collection for _Save_s
   is remote, then the _default-fcc_ needs to be sent-mail to match the
   UNIX syntax.

   The configuration variable fcc-name-rule also plays a role in selecting
   the folder to save sent mail in.

   A danger here is that the sent mail could grow without bound. For this
   reason, we thought it useful to encourage the users to periodically
   prune their sent mail folder. The first time _Alpine_ is used each
   month it will offer to archive all messages sent from the month before.
   _Alpine_ also offers to delete all the sent mail archive folders which
   are more than 1 month old. If the user or system has disabled sent mail
   archiving (by setting the configuration variable _default-fcc=""_)
   there will be no pruning question.
     __________________________________________________________________

Spell Checker

   Both UNIX _Alpine_ and _PC-Alpine_ depend on the system for their spell
   checking and dictionary. _Pico_, the text editor, uses the same spell
   checking scheme as _Alpine_.

   Lines beginning with ">" (usually messages included in replies) are not
   checked. The message text to be checked is on the standard input and
   the incorrect words are expected on the standard output.

   The default spell checker is UNIX _spell_. You can replace this by
   setting the speller configuration variable. A common choice for a
   superior replacement is _ispell_.

   _PC-Alpine_ relies on the aspell library being installed. Aspell is
   independent of Alpine. The Windows version has traditionally been
   available at http://aspell.net/win32/. You'll need to download and
   install both Aspell and a precompiled dictionary. Aspell is provided in
   an installer package. Dictionaries, to be installed after Aspell, are
   in '.exe' files to download and run.
     __________________________________________________________________

Terminal Emulation and Key Mapping

   UNIX _Alpine_ has been designed to require as little as possible from
   the terminal. At the minimum, _Alpine_ requires cursor positioning,
   clear to end of line, and inverse video. Unfortunately, there are
   terminals that are missing some of these such as a vt52. _Alpine_ makes
   no assumptions as to whether the terminal wraps or doesn't wrap. If the
   terminal has other capabilities it may use some of them. _Alpine_ won't
   run well on older terminals that require a space on the screen to
   change video attributes, such as the Televideo 925. One can get around
   this on some terminals by using "protected field" mode. The terminal
   can be made to go into protected mode for reverse video, and then
   reverse video is assigned to protected mode.

   _Alpine_ handles screens of most any size and resizing on the fly. It
   catches SIGWINCH and does the appropriate thing.

   On the input side of things, _Alpine_ uses all the standard keys, most
   of the control keys and (in function-key mode) the function keys.
   _Alpine_ avoids certain control keys, specifically ^S, ^Q, ^H, and _^\_
   because they have other meanings outside of _Alpine_ (they control data
   flow, etc.) _^H_ is treated the same as the _delete_ key, so the
   _backspace_ or _delete_ keys always work regardless of any
   configuration. There is a feature _compose-maps-delete-key-to-ctrl-d_
   which makes the delete key behave like ^D rather than ^H (deletes
   current character instead of previous character).

   Sometimes a communications program or communications server in between
   you and the other end will eat certain control characters. There is a
   work-around when you need it. If you type two escape characters
   followed by a character that will be interpreted as the character with
   the control key depressed. For example, _ESC ESC T_ is equivalent to
   _^T_.

   When a function key is pressed and _Alpine_ is in regular (non-function
   key) mode, _Alpine_ traps escape sequences for a number of common
   function keys so users don't get an error message or have an unexpected
   command executed for each character in the function key's escape
   sequence. _Alpine_ expects the following escape sequences from
   terminals defined as VT100:

     ANSI/VT100
     F1: <ESC>OP
     F2: <ESC>OQ
     F3: <ESC>OR
     F4: <ESC>OS
     F5: <ESC>Op
     F6: <ESC>Oq
     F7: <ESC>Or
     F8: <ESC>Os
     F9: <ESC>Ot
     F10: <ESC>Ou
     F11: <ESC>Ov

   Arrow keys are a special case. _Alpine_ has the escape sequences for a
   number of conventions for arrow keys hard coded and does not use
   _termcap_ to discover them. This is because _termcap_ is sometimes
   incorrect, and because many users have PC's running terminal emulators
   that don't conform exactly to what they claim to emulate. There is a
   feature called termdef-takes-precedence which can be set to cause the
   _termcap_ or _terminfo_ definitions to be used instead of the built in
   definitions. Some arrow keys on old terminals send single control
   characters like _^K_ (one even sends _^\_). These arrow keys will not
   work with _Alpine_. The most popular escape sequences for arrow keys
   are:

     Up: <ESC>[A <ESC>?x <ESC>A <ESC>OA
     Down: <ESC>[B <ESC>?r <ESC>B <ESC>OB
     Right: <ESC>[C <ESC>?v <ESC>C <ESC>OC
     Left: <ESC>[D <ESC>?t <ESC>D <ESC>OD
