
                            Alpine Technical Notes

   Version 1.10, March 2008

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
          + 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 /usr/local/lib/pine.conf.fixed
    2. _smtp-server_ in /usr/local/pine.conf.fixed
    3. _sendmail-path_ specified on the command line.
    4. _smtp-server_ specified on the command line.
    5. _sendmail-path_ in the user's .pinerc file.
    6. _smtp-server_ in the user's .pinerc file.
    7. _sendmail-path_ in /usr/local/lib/pine.conf
    8. _smtp-server_ in /usr/local/pine.conf
    9. DF_SENDMAIL_PATH defined at compile time.
   10. 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?=    =?i
so-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.
   --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: /usr/local/lib/pine.info,
   /usr/local/lib/pine.conf, and /usr/local/lib/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.
   /usr/local/lib/pine.conf
          Pine's global configuration file.
   /usr/local/lib/pine.conf.fixed
          Non-overridable global configuration file.
   /usr/local/lib/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 > /usr/local/lib/pine.conf
          To generate a system configuration file using settings from an old
          system configuration file, execute
                alpine -P old-pine.conf -conf > /usr/local/lib/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
          _/usr/local/lib/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,     /usr/local/lib/pine.conf    or
   /usr/local/lib/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 specfied 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 egrep 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
          udpated 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 immmediately.
          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 explictly 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 SUBJKEY(6
                                    7%)
          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-InboxandMail-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 alloted 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
          supress 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 filesytem.) 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 /usr/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 connnect 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.
   _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, /usr/local/lib/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 connnect 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
          postive  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/local/bin/netscape,
     /usr/local/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/local/bin/netscape must exist. If either condition is not
          met, then the file /usr/local/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 feauture 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 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 the Date header will still be shown unconverted.
   _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 personel as an
          aid  in troublshooting 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.
   _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.
   _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-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 accomodate 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. 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 hilighted, 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 hilighted. 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 /usr/local/lib/pine.conf.fixed.

   The system-wide configuration file is normally /usr/local/lib/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 environent (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 /usr/local/lib/pine.conf, /usr/local/lib/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.
     _________________________________________________________________

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 Ukranian
   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
   /usr/local/lib/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. The library code
   can be obtained from http://aspell.net/win32/. It is fairly easy to install.
     _________________________________________________________________

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
