Pine Technical Notes

  Version 4.64, September 2005

  _Pine_ and _Pico_ are trademarks of the University of Washington.
  No commercial use of these trademarks may be made without prior
  written permission of the University of Washington.
  Pine, Pico and Pilot Copyright 1989-2005 University of Washington.
  Additional legal notices are at the web URL
  http://www.washington.edu/pine/legal.

Table of Contents

 Introduction

    * Design Goals
    * Pine Components

 Background Details

    * Domain Names
    * RFC 822 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
    * Pine Compile-time Options
    * Pico Compile-time Options
    * OS Dependent Compile-time Settings
    * IMAPd Compile-time Options
    * Building the Pine Programs
    * Installing Pine and Pico on UNIX Platforms
    * Installing PC-Pine
    * Installing IMAPd
    * Support Files and Environment Variables: UNIX Pine
    * Support Files, Environment Variables, and Registry Values: PC-Pine

 Command Line Arguments

    * Pine
    * Pico
    * Pilot

 Configuration and Preferences

    * Pine 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
    * Patterns
    * Configuring News

   Configuration Notes
         + Pine 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-Pine

 Behind the Scenes

    * Address Books
    * Remote Configuration
    * Checkpointing
    * Debug Files
    * Filters
    * Folder Formats and Name Extensions
    * Folder Locking
    * 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

 Notes for Porting and Modification

    * Porting Pine to Other Platforms
    * Test Checklist

                                Introduction

Design Goals

  Throughout _Pine_ 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.
         - _Pine_ must provide immediate feedback for the user with each
         operation.
         - _Pine_ 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), _Pine_ 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 _Pine_ 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 _Pine_,
  there were equally important goals having to do with _Pine_'s
  structure-the things that users never see but still rely on every time
  they use _Pine_. While _Pine_ 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_ was one of the first programs to support the
  Multipurpose Internet Mail Extensions (MIME) specification. With MIME,
  _Pine_ 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 _Pine_. As you
  work with _Pine_ more, you will see other features which reflect the
  same values. For example, _Pine_ enforces strict compliance with RFC
  822, implements a strong mail folder locking mechanism and verifies a
  process before overwriting any files (e.g. addressbook, expunging
  messages).

Pine Components

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

  _Pine_
         The main code from which the _Pine_ program is compiled.
  _Pico_
         _Pico_ is the name for the _Pine_ 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
         _Pine_ to support composition of messages within _Pine_. _Pico_
         is _Pine_'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 _Pine_, and the IMAP server _IMAPd_. C-Client
         implements the IMAP protocol and also negotiates all access
         between _Pine_ 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 _Pine_ accesses a remote
         mailbox, the _Pine_ program is the IMAP client and the _IMAPd_
         program is the IMAP server.

                             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.

  _Pine_ 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 _Pine_ configuration file, or rely on the file /etc/hosts which
  usually sets the name of the local host. While _Pine_ 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.

    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
  _Pine_ configuration file (PINERC).

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

RFC 822 Compliance

  _Pine_ tries to adhere to RFC 822 a little more strongly than some
  other mailers and uses the _"full name <address>"_ format rather than
  the older _"address (full name)"_ format. The intent of the standard
  is that parentheses should only be for comments. _Pine_ displays and
  generates the newer format, but will parse the old format and attempt
  to turn it into the new one.

  As far as outgoing email is concerned, _Pine_ 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. _Pine_ 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 newer 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 822 appear in the full name, quotes are required around the
  address. _Pine_ will insert the quotes automatically. The common cases
  where this happens are with periods after initials and parentheses.

  Because _Pine_ fully complies with RFC 822, it is sometimes difficult
  to use non-Internet address formats such as UUCP's host!user or
  DECNet's USER::HOST with _Pine_. People who run _Pine_ on these
  systems have made local modifications to _Pine_ or to the mail
  transport agent (e.g. sendmail) to make things work for them.

  _Pine_ 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 displayed as _xxx xx_ when shown
  in the FOLDER INDEX screen.
    _________________________________________________________________

SMTP and Sendmail

  _Pine_ is a _user agent_ not a _message transfer agent._ In plain
  English, that means _Pine_ does not know how to interact with other
  computers on the Internet to deliver or receive email. What _Pine_
  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 a mail transfer program or to an
  SMTP server. The most common mail transfer program is sendmail.

  Pine 3.91 and earlier:
         When _Pine_ on a UNIX computer uses the local sendmail, it
         first writes the message to a temporary file in /tmp. Then
         _Pine_ runs a shell in the background that runs sendmail on the
         temporary file and then removes it. This is done with a shell
         in the background so the user doesn't have to wait for sendmail
         to finish. By default, sendmail is invoked with the -t flag to
         cause it to read and parse the header to determine the
         recipients; the -oem flag to cause errors to be mailed back;
         and the -oi flag to ignore dots in incoming messages. Systems
         administrators can choose to configure _Pine_ to use a
         different mail transfer program or even sendmail with different
         flags. See the section on UNIX Pine Compile-time Options for
         more details on this.

         _Pine_ can also operate 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, _Pine_ 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 _Pine_ 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 SMTP servers. _PC-Pine_ only runs as an SMTP
         client.

  Pine 3.92 and later:
         The selection of which MTA to use depends on the settings of
         sendmail-path, smtp-server, 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. _

         If an _smtp-server_ is specified, a connection to the server is
         opened. If the message contains 8-bit text, ESMTP 8BITMIME
         negotiation is attempted. The message is then sent using SMTP
         commands.

         If none of the above are set, the default sendmail program is
         invoked with the "-bs -odb -oem" flags, ESMTP negotiation is
         attempted, and the message is sent.
    _________________________________________________________________

Internet Message Access Protocol (IMAP)

  IMAP is a remote access protocol for message stores. _Pine_ uses IMAP
  to get at messages and folders which reside on remote machines. With
  IMAP, all messages are kept on the server. An IMAP client (such as
  _Pine_) can request specific messages, headers, message structures,
  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." These
  papers may be found in the /mail directory of the anonymous FTP server
  at ftp.cac.washington.edu.

  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
      2MB 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 _Pine_ 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. _Pine_ does not yet
      support this capability, however.

  IMAP2 is defined in RFC 1176. IMAP4rev1, the revision to IMAP2, is
  described in RFC 3501. Further information about IMAP may be obtained
  from the University of Washington's IMAP Information Center on the
  World Wide Web.

  _Pine_ 4.00 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 _Pine_ 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. It
  also provides a simple rich text format for marking text as bold,
  underlined, and so on. There is a mechanism for splitting messages
  into multiple parts and reassembling them at the receiving end.

  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. Support for RFC 2047 was added in _Pine_ 3.92.

  An actual MIME message looks something like this:
Date: Tue, 12 Mar 1996 15:39:35 -0800 (PST)
From: David L Miller <[email protected]>
To: David L Miller <[email protected]>
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: <[email protected]>

 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 [email protected] for more info.

--0-1737669234-826673975=:21583
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <[email protected]>

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    [email protected]  (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: <[email protected]>
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 _Pine_'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 _Pine_'s way of dealing with more than a single
  group of folders. With advent of _PC-Pine_ and the development of
  tools within IMAP to better manage remote folders, the time was ripe
  to provide a mechanism for defining a group of remote folders.
  _PC-Pine_ forced the issue in that many potential _PC-Pine_ users
  would be migrating from UNIX _Pine_ in a time-sharing environment and,
  thus, would have some investment in their archived messages on that
  host.

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

  The _Pine_ distribution is designed to require as little configuration
  and effort at compile time as possible. Still, there are some _Pine_
  behaviors which are set at the time you compile _Pine_. 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

  The files you may need to modify are ./{pico,pine}/makefile.xxx,
  ./{pico,pine}/osdep/os-xxx.h, and possibly
  ./{pico,pine}/osdep/os-xxx.ic, where _xxx_ is the 3-letter code for
  your platform. You can give the command build help to see the list of
  ports incorporated into _Pine_ and their associated 3-letter codes.
  The files ./{pico,pine}/makefile.xxx are where you would set compiler
  options. By default, _Pine_ will be compiled with debugging on,
  optimization and profiling off. Note that if you compile with DEBUG
  off, then _Pine_ will not create its normal debug files, no matter how
  the debug-level and debug command line flag are set.

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

 Including LDAP Functionality

  In order to build _Pine_ with LDAP functionality included you need to
  supply the LDAP library and include files. _Pine_ has been
  successfully built with OpenLDAP 2.0.x, OpenLDAP 1.x, the University
  of Michigan LDAP library (ldap-3.3), and with the Netscape Directory
  SDK 1.0 LDAP library.

  Set up a symlink called ldap in the top-level pine directory (the
  directory where the _Pine_ build script is located). The build script
  will call contrib/ldap-setup to help figure out how to use the LDAP
  libraries. It expects to find directories ldap, ldap/include,
  ldap/libraries, and file ldap/include/ldap.h.

  There are at least two slightly different styles of LDAP libraries.
  One style uses two libraries, libldap and liblber, the other uses just
  libldap. The script is not very smart, but it attempts to figure out
  which of these two cases is being used. Modify the script to fit your
  situation if you need to.

  When using OpenLDAP as the library (or the older University of
  Michigan libary), set up the symlink so that it points to the base of
  the ldap source tree. The ldap-setup script looks for the directory
  ldap/libraries/liblber and the libraries ldap/libraries/libldap.a and
  ldap/libraries/liblber.a.

  To use the Netscape Directory SDK library, make a directory called
  ldap in the top-level pine directory (where the _Pine_ build script is
  located). That directory should contain two subdirectories, include
  and libraries. The include directory is where you should put the
  include files from the Netscape SDK. The libraries directory is where
  you should put the library, libldap.a.

  The build script will run the script contrib/ldap-setup if you have
  created an ldap symlink or directory. It tries to figure out if the
  setup is the Univ. of Michigan code or not. If it is Univ. of Michigan
  ldap-3.3 or the library from mozilla.org, then it will link against
  both libldap.a and liblber.a. If it isn't, it will link against only
  libldap.a. You may find you have to do some tweaking to get this to
  work with the libraries you are using. If you find that a change to
  contrib/ldap-setup works for you, you might think about sending that
  to us for inclusion in the next _Pine_ release.

  If there is no ldap symlink, there is still an attempt to
  automatically include LDAP support if certain conditions exist. At
  this point, the check includes a check for Solaris 8, otherwise the
  automatic inclusion is not done. You may override the automatic
  inclusion of LDAP with the build argument NOLDAP.

  _Pine_ uses LDAPv2 protocol. When using LDAPv3 protocol, the results
  are returned in the utf8 character set. _Pine_ is not yet ready to
  deal with that, so it tells the server to use the LDAPv2 protocol.

 Including Kerberos 5 Functionality

  In order to build _Pine_ with Kerberos functionality included you
  should place a symlink called krb5 to the directory where your
  Kerberos5 include files and libraries are located. That is,
  krb5/include and krb5/lib should exist. Place the symlink in the
  top-level pine directory (where the _Pine_ build script is located).
  See the comments in the script contrib/krb5-setup if you have trouble.

 Pine Compile-time Options

  USE_QUOTAS
         Determines whether quotas are checked on startup. Default is to
         not check the quota.
  ALLOW_CHANGING_FROM
         This is now a hidden runtime feature called
         allow-changing-from. Even with this feature turned on, users
         still have to include _From_ in their default-composer-hdrs or
         customized-hdrs in order to be able to edit the From line.
         Beginning with version 4.10, a user may also change their From
         address by using Roles.
         A system administrator may disallow editing of the From line by
         putting the feature _no-allow-changing-from_ in the system-wide
         _fixed_ configuration file. The paranoid system administrator
         can compile in this behavior by defining
         _NEVER_ALLOW_CHANGING_FROM_ in ./pine/osdep/os-xxx.h.
  DEFAULT_DEBUG
         Sets the level of debugging output created in _Pine_'s debug
         files. Default is level 2. The command-line flag -d may also be
         used to change the debug level. For example, -dverbose=7.
  NUMDEBUGFILES
         Sets the number of debug files kept per user. Default is 4. The
         command-line flag -d may also be used to change this. For
         example, -dverbose=3,numfiles=2.
  BACKGROUND_POST
         Define this if you want to allow users to turn on the feature
         that enables sending to take place in a fork()'d child. This
         may reduce the time on the user's wall clock it takes to post
         mail. NOTE: You'll also have to make sure the appropriate
         ./pine/osdep/postreap.* file is included in the
         ./pine/osdep/os-xxx.ic file for your system.
  NEW_MAIL_TIME
         Interval between new-mail checks. Default is 150 seconds. This
         is obsolete. This should be set in a configuration file by
         setting the variable mail-check-interval.
  OVERLAP
         Number of lines overlap when user views the next page of a
         message. Default is 2 lines. This is obsolete. This should be
         set in a configuration file by setting the variable
         viewer-overlap.
  PASSFILE
         _WARNING!_ Turning this on is very dangerous and should
         probably not be done, except on single user systems! For
         _PC-Pine_, this is turned on by default and set to the filename
         PINE.PWD. It may be overridden by the -passfile command-line
         argument. You may enable it for Unix systems by defining
         PASSFILE to be a filename which will be located in the same
         directory as the pinerc file, usually the home directory.
         The file is used to save passwords from one session to the
         next. Even if you define PASSFILE when you compile _Pine_,
         password saving will not be enabled by default, but requires
         the existence of the file (the name of which is the value of
         PASSFILE). Even with the existence of this file, the user must
         still acknowledge a prompt before the password is saved to the
         file. If _Pine_ is configured to access several different IMAP
         servers, each password entered will be kept (associated with
         the corresponding host name) in memory during the current
         session, and optionally, in the PASSFILE file for use in
         subsequent sessions.
         _WARNING_! Use this feature with caution! It effectively makes
         the user's mail no more secure than the physical security of
         the machine running _Pine_. What's more, while the password is
         cloaked by a mild (some might say, feeble) encryption scheme,
         it is nonetheless sitting in a file on the disk and subject to
         cracking by anyone with access to it. _BEWARE_!
  SENDMAIL
  SENDMAILFLAGS
         Sets the name and flags for the local program that will be
         called to handle outgoing email. Default is /usr/lib/sendmail
         -oi -oem -t. See the SMTP and Sendmail section for more
         details.
  SYSTEM_PINERC
         The name of the file which holds _Pine_ configuration
         information for all users on the system. Default on UNIX
         systems is /usr/local/lib/pine.conf.
  SYSTEM_PINERC_FIXED
         The name of the file which holds the same type of information
         as for SYSTEM_PINERC, but only for variables that the
         administrator wants to keep fixed. That is, users are not
         allowed to change variables that are specified in the FIXED
         file. Default on UNIX systems is
         /usr/local/lib/pine.conf.fixed.

  There are a couple of more obscure options which are in the source
  code because a few people have asked for them or because we changed
  our minds about them being a good idea in general.
  ENCODE_FROMS
         Use Quoted-printable encoding so that From's at the beginning
         of lines don't end up being escaped by >'s. Most people seem to
         dislike the Q-P encoding more than the > escapes so this is off
         by default. Once everyone has MIME mail readers, we'll turn
         this on by default.
  NO_KEYBOARD_LOCK
         Disable the keyboard locking function in the main menu.
         Keyboard locking is enabled by default. An easier way to turn
         off Keyboard locking is to add the feature
         disable-keyboard-lock-cmd to the feature list variable in the
         global pine.conf or pine.conf.fixed file.

 Pico Compile-time Options

  There is really only one option settable specifically for _Pico_. It
  is for the UNIX _Pico_ versions only. The file that may need some
  changing is ./pico/osdep/os_xxx.h.. Whatever is set will effect the
  behavior of the _Pico_ stand-alone program as well as the composer
  within _Pine_.
  SPELLER
         Names the program called to do "normal" spell-checking. This
         can be set in a configuration file instead by setting the
         speller configuration variable.

 OS Dependent Compile-time Settings

  Most of _Pine_'s (and _Pico_'s) operating system dependent behaviors
  are set in the files ./pico/osdep/os-xxx.h and ./pico/osdep/os-xxx.ic.
  The flags in the makefiles are also system dependent. See the comments
  in ./pico/osdep/os-xxx.h for more details. One that may come up is:
  USE_TERMINFO
  USE_TERMCAP
         Instructs _Pine_ to use the terminfo (or termcap) database.
         Default varies by system. This has been moved from
         ./pine/osdep/os-xxx.h to ./pico/osdep/os-xxx.h. If you change
         this you will also have to change the file
         ./pico/osdep/os-xxx.ic so that it includes the file term.inf
         instead of term.cap (or vice versa) and you will probably have
         to change the libraries included by the makefiles
         ./{pico,pine}/makefile-xxx. Hopefully, it is already set
         correctly for each system.

 IMAPd Compile-time Options

  There are no options or settings required for the version of IMAPd
  distributed with _Pine_. 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.
    _________________________________________________________________

Building the Pine Programs

  You may have already compiled _Pine_ 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. Figure out what platform you're building for. You can give the
      command build help or look at the list in ./doc/pine-ports to see
      the list of ports incorporated into _Pine_. What you need is the
      three letter code for the platform. Some examples are a41 for the
      AIX 4.1 operating system, os4 for Digital Unix 4.0, and lnx for
      Linux. There are sometimes several variants for a single operating
      system (different compilers, shadow passwords or not, etc.) so
      look through the whole list in ./doc/pine-ports for the one you
      want. If your platform is not in the list of ports, then you might
      have some work ahead of you. First, check the file doc/pine-ports
      to see if there are others working on a port for your platform or
      to see if the port is included in the contrib section of the
      source code. Ports in the contrib directory were contributed by
      _Pine_ administrators from around the world, but the _Pine_
      development team has not been able to test the code. Some of these
      ports are very old and are based on old versions of _Pine_. If
      _Pine_ has not yet been ported to your platform at all, read the
      section on Porting Pine in this document.
   2. Make sure you're in the root of the _Pine_ source. When you type
      ls you should see the following files and directories (or
      something close to it):
       README  build   doc     makefile        pine
       bin     contrib imap    pico
   3. Make sure you're getting a clean start by giving the command
      ./build clean. This should take only a few seconds to run.
   4. Give the command ./build _xxx_ where _xxx_ is the three letter
      code you picked in step 1. The compiler should grind away for a
      few minutes.
   5. When the compilation is complete the sizes of the binaries built
      will be displayed. The actual binaries are in the various source
      directories. In addition, the bin directory contains a link to
      each program compiled. You can just copy them out of bin or try
      them from there.

  The build command can be given some options which it passes on to the
  subordinate makes. Some that may be useful are EXTRACFLAGS, DEBUG, and
  EXTRALDFLAGS. There are also some SSL-related arguments: SSLDIR,
  SSLCERTS, SSLINCLUDE, and SSLLIB. You should also read the comments in
  the build script itself, which are possibly more up-to-date than this
  text.

  Here are some examples of options you may want to pass to build. This
  will turn off the debugging files that _Pine_ produces, while leaving
  the symbol table information. We believe a better way to do this is to
  have an alias for pine which executes pine -d0 instead. This turns off
  debugging at runtime while preserving the possibility of using the
  debugging if a problem turns up. But if you wanted to turn it off
  unconditionally you could use the build argument

                                 DEBUG=-g

  In other words, the command to build a _Pine_ with no debugging would
  be

                         ./build DEBUG=-g target

  where target is one of the 3-letter port names found in
  doc/pine-ports. To also leave out the symbol table information you
  could pass:

                                  DEBUG=

  To turn on the optimizer

                                 DEBUG=-O

  It should be ok to move string constants into a read-only area. We
  don't think there are any instances where _Pine_ modifies a string
  constant. So you could pass a flag to your compiler that tells it to
  do this. This could cause several hundred K of strings to be moved
  from the data area of the program into the text area of the program,
  and that should allow that text to be shared among all instances of
  _Pine_. To do this, for example, with the AIX _a41_ port, you could
  pass this to build:

                             EXTRACFLAGS=-qro

  If you are using OpenSSL but have decided to use a non-standard
  directory (standard one is /usr/local/ssl) for the location then you
  can cause _Pine_ to use that directory with

                          SSLDIR=/some/other/dir

  The assumption is that the certs directory is in SSLDIR/certs, the
  include directory is SSLDIR/include, and the library directory is
  SSLDIR/lib. You can change those assumptions with

                         SSLCERTS=certs_directory

                     SSLINCLUDE=include_directory and

                       SSLLIB=ssl_library_directory

  If you are having trouble with the SSL compilation you may explicitly
  exclude SSL code with NOSSL.

                                  NOSSL

  Similarly,

                                  NOLDAP

  The argument

                              EXTRASPECIALS

  can be used to pass arguments to the c-client make which aren't
  provided for in the _Pine_ build script. For example, if you want to
  change the FRIZZLE parameter (a made up argument which the c-client
  make uses) you might be tempted to type something like

                       ./build FRIZZLE=cruft target

  This does work with make on some platforms, but not on others. Some
  makes seem to pass the arguments on to sub-makes, others don't. If
  that doesn't work, then EXTRASPECIALS is for you.

               ./build EXTRASPECIALS="FRIZZLE=cruft" target

  An additional warning. There are some arguments which are overridden
  unconditionally in the sub-makes. Hopefully none of the arguments
  mentioned above falls in this category, but it is something to look
  out for if you are having trouble.
    _________________________________________________________________

Installing Pine and Pico on UNIX Platforms

  Installing _Pine_ and _Pico_ is remarkably 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 _Pine_ so there are no _required_
  auxiliary files.

  There are, however, 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 _Pine_. The file pine.conf.fixed is also used to
  set system-wide default configurations for _Pine_. 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 Pine Configuration later in this document for details
  about the pine.conf and pine.conf.fixed files.
    _________________________________________________________________

Installing PC-Pine

  The PC-Pine 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, or the pkunzip.exe program that resides on our FTP server.
  Following current Windows conventions, a common directory into which
  the files could be extracted would be C:\Program Files\PC-Pine\.

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

  Upon first running PC-Pine, 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 pine
  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 _Pine_ 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.
  The following line is appropriate for /etc/services:
 imap         143/tcp         # Mail transfer

  and the next line is appropriate for /etc/inetd.conf:
 imap  stream  tcp     nowait  root    /usr/etc/imapd imapd

  The /etc/inetd.conf file entry may vary on different versions of UNIX.
  Some have a slightly different set of fields. Also the pathname in
  /etc/inetd.conf must match the path where imapd is installed.

  With this configuration, the IMAP server runs without
  pre-authentication. Each new IMAP connection requires a correct
  username and password. IMAP can also be run with pre-authentication
  based on the standard _rsh_ mechanism. To enable this, the user
  account on the IMAP server must contain a valid file which grants
  access to the client machine. Enabling _rimap_ authentication is done
  by creating a link called /etc/rimapd to imapd. Basically, what is
  happening is that _Pine_ is taking advantage of the ability that rsh
  has to use privileged TCP ports so it doesn't have to run in
  privileged mode. If the rimap authentication fails it will drop back
  to plain password authentication.

  _PC-Pine_ cannot take advantage of _rimap_ authentication. Also, if
  your system uses a distributed configuration database, like NIS,
  Yellow Pages or Netinfo, be sure that appropriate steps are taken to
  ensure the above mentioned information is updated.
    _________________________________________________________________

Support Files and Environment Variables: UNIX Pine

  This section lists the various files which _Pine_ uses which are not
  email folders. All of these are the default names of files, they may
  vary based on _Pine_'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
  ~/.addressbook.lu
         Personal address book lookup file (index file to speed up
         lookups).
  ~/.newsrc
         Personal USENET subscription list. This is shared with other
         newsreading programs.
  ~/.pine-debugX
         The files created for debugging _Pine_ 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 _Pine_ 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 _Pine_ configuration file:
  signature, addressbook and its index file, postponed messages, and
  newsrc.

  Unix _Pine_ uses the following environment variables:
  TERM
         Tells _Pine_ what kind of terminal is being used.
  DISPLAY
         Determines if _Pine_ 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-Pine

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

  <PINE.EXE directory>\PINE.HLP
         File containing _Pine_'s internal help text.
  <PINE.EXE directory>\PINE.NDX
         Index of _Pine_'s help text used by _PC-Pine_ to locate
         entries.
  $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>\ADDRBOOK.LU
         Personal address book lookup file (index file to speed up
         lookups).
  <PINERC directory>\PINE.SIG
         A signature file which will be included in all outgoing email
         messages.
  <PINERC directory>\PINE.PWD
         A file containing encrypted password for remote mail server.
  <PINERC directory>\PINEDEBG.TXT
         Location of _Pine_ 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 _Pine_ detected.
  $HOME\MAIL\POSTPOND
         A folder of messages which the user chose to postpone.

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

  _PC-Pine_'s help text and help text index file are expected to reside
  in the same directory as the PINE.EXE executable, as they are
  essentially extensions of the executable. The 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\PINE\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 _Pine_ configuration file:
  signature, addressbook (and its index file), postponed messages, and
  newsrc.

  _PC-Pine_ 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 _Pine_ config file.
  HOME
         If not set, _Pine_ 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

Pine

  _Pine_ and _PC-Pine_ can accept quite a few command-line arguments.
  Many of these arguments overlap with variables in the _Pine_
  configuration file. If there is a difference, then a flag set in the
  command line takes precedence. Both _Pine_ and _PC-Pine_ 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 _Pine_ an argument or arguments which do
         not begin with a dash, _Pine_ treats them as email addresses.
         _Pine_ will startup in the composer with a message started to
         the addresses specified. Once the message is sent, the _Pine_
         session closes. Standard input redirection is allowed. Separate
         multiple addresses with a space between them. Addresses are
         placed in the "To" field only.
  < _file_
         _Pine_ will startup in the composer with _file_ read into the
         body of the message. Once the message is sent, the _Pine_
         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-Pine_ only. This tells _PC-Pine_ 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-Pine_ only. This tells _PC-Pine_ 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 _Pine_ 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
               pine -conf > /usr/local/lib/pine.conf
         To generate a system configuration file using settings from an
         old system configuration file, execute
               pine -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 _Pine_ 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.
  -create_lu _addrbook sort-order_
         Create auxiliary LookUp (index) file for _addrbook_ and sort
         _addrbook_ in _sort-order_, which may be _dont-sort_,
         _nickname_, _fullname_, _nickname-with-lists-last_, or
         _fullname-with-lists-last_. Only useful when creating global or
         shared address books. The settings of the features
         disable-setlocale-collate and enable-setlocale-ctype have no
         effect when using the create_lu command. See Address Book
         Lookup File for more information, especially the warning about
         copying the address book after creating the lookup file.
  -d _debug-level_
         Debug Level: Sets the level of debugging information written by
         _Pine_. _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 _Pine_. 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 _Pine_'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: _Pine_ 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
         _Pine_ 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: _Pine_ will execute this comma-separated
         sequence of commands upon startup. This allows users to get
         _Pine_ 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 _Pine_. 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-Pine_ only, this option prompts for some basic setup
         information, then exits.
  -k
         Function-Key Mode: When invoked in this way, _Pine_ 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, _Pine_ starts up in the FOLDER
         INDEX screen with the current message being the specified
         message number.
  -nowrite_passfile
         This tells _Pine_ to use the passfile if there is one, but to
         never offer writing new passwords to the passfile.
  -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-Pine_
         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-Pine_. Pinerc may be either a local file or a remote
         configuration folder.
  -passfile _passfile_
         This tells _Pine_ 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 _Pine_ only. _Pine_ in restricted
         mode can only send email to itself. Save and export are
         limited.
  -registry _cmd_
         For _PC-Pine_ only, this option affects the values of _Pine_'s
         registry entries. Possible values for _cmd_ are set, noset,
         clear, clearsilent, and dump. _Set_ will always reset _Pine_'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-Pine_ 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 _Pine_
         was compiled. This is a way to determine which options are
         supported in the particular copy of _Pine_ you are using.
  -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 _Pine_ 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.

  -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

Pine Configuration

  There is very little in _Pine_ which _requires_ compile-time
  configuration. In most cases, the compiled-in preferences will suit
  users and administrators just fine. When running _Pine_ 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 are whatever
  the definitions for SYSTEM_PINERC and SYSTEM_PINERC_FIXED in
  pine/osdep/os-xxx.h are set to.) The location of the pine.conf file
  can be changed with the -P command line argument. Both _Pine_ and
  _PC-Pine_ also use personal (user-based) configuration files. On UNIX
  machines, the personal configuration file is the file ~/.pinerc. For
  _PC-Pine_ systems, the personal configuration file is in $PINERC or
  <PineRC registry value> or ${HOME}\PINE\PINERC or <PINE.EXE
  dir>\PINERC. Or the personal configuration file can be specified with
  the -p command line argument.

  After the personal configuration, _Pine_ may optionally use a personal
  exceptions configuration file which is specified with the command line
  option "-x exceptions_config". "Exceptions_config" may be either a
  local file or a remote configuration folder. For Unix _Pine_, if you
  don't have a "-x" command line option, _Pine_ 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 _Pine_
  looks in the home directory for ".pinercex".

  For _PC-Pine_, if you don't have a "-x" command line option, _PC-Pine_
  will use the value of the environment variable $PINERCEX. If that is
  not set, _PC-Pine_ 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-Pine_ looks in the local
  directory specfied by the "-aux local_directory" command line
  argument, or the directory ${HOME}\PINE, or in <PINE.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 the syntax is "". This is equivalent to an absent
  value except that it overrides any system-wide 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 _Pine_
  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 _Pine_, 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-Pine_ 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 _Pine -conf._ The result will be printed on the standard
  output with short comments describing each variable. (The online help
  in the Setup screens provides 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 _Pine_. It is by no means a bullet-proof method.)
  _Pine_ will automatically create the personal configuration file the
  first time it is run, so there is no need to generate a sample. _Pine_
  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 _Pine_
  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 _Pine_
  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 _Pine_ settings which take
  lists, you must have an environment variable set for each member of
  the list. That is, _Pine_ 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 _Pine_ configuration
  file, which will expand to nothing.

 Remote and Local Configuration

  Beginning with _Pine_ 4.30 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.
  This is the only kind of configuration storage _Pine_ used prior to
  4.30. _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 _Pine_ 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 _Pine_ 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.

  Beginning with _Pine_ 4.30 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 _Pine_ configuration variables, in
  alphabetical order. Note that not all variables apply to all versions
  of _Pine_ 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, _Pine_ 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.
  _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. If set, the option affects the behavior
         of the _Reply_ command and the _+_ symbol in the "Folder
         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.
  _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.
  _character-set_
         This sets the character set used by the terminal. Currently
         appropriate values are _US-ASCII_, _ISO-8859-1_ through
         _ISO-8859-9_ and _ISO-2022-JP_. See the section on
         International Character Sets for more details. The default is
         _US-ASCII_.
  _color-style_
         UNIX _Pine_ only (color is automatically on with _PC-Pine_). 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 _Pine_. 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,
               _Pine_ looks in the terminal capabilities database,
               TERMINFO or TERMCAP, depending on how _Pine_ was
               compiled. This is a good option to choose if you switch
               between a color and a non-color terminal with the same
               _Pine_ configuration. _Pine_ will know to use color on
               the color terminal because it is described in the termcap
               entry, and _Pine_ 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 _Pine_ 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.
               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,
               it's working.

         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 _Pine_ supports are
         configurable there. Index line color is configured separately.
         Beginning with _Pine_ 4.41, the default names of some colors
         were changed in order to have better interoperability between
         _PC-Pine_ and Unix _Pine_ with both eight and 16-color
         terminals. Both _PC-Pine_ and 8-color Unix _Pine_ will
         interpret the colors named color008, color009, ..., color015 as
         black, red, ..., white. When changing a configuration color
         they will put the colors black, color009, color010, ...,
         color015 into the config file. That is, the colors red, green,
         ..., white will only appear in the config file if put there
         manually or if they were already there from an older version of
         _Pine_. The reason for this is because with 16-color xterm the
         colors red, green, ..., white are actually two-thirds intensity
         colors, and the colors color009, color010, ..., color015 (in
         pine terminology) are full intensity colors which better match
         the default eight of _PC-Pine_ or 8-color Unix terminal
         emulators. The idea is that you can use the eight colors of an
         8-color terminal on a 16-color terminal and with _PC-Pine_.
         Those eight colors will be about the same in all three
         situations.
         In pre-4.41 _PC-Pine_ the three default grays offered were
         called color008, color009, and color010. Since this conflicts
         with three of the colors on 16-color terminals these three
         colors have been renamed colorlgr, colormgr, and colordgr.
         _PC-Pine_ will attempt to automatically change those color
         names the first time you run a version higher than 4.40. If
         that fails for some reason, you will see your old light grays
         displayed as black, your old medium grays displayed as red, and
         your old dark grays displayed as green. You may fix these from
         within the _PC-Pine_ color config screens. If you then go back
         to running a pre-4.41 version of _PC-Pine_ the colors with the
         new names (colorlgr...) will show up as Normally colored text.
  _composer-wrap-column_
         This option specifies an aspect of _Pine_'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 <[email protected]>
         and another showing how you might set a Reply-To address

                        Reply-To: [email protected]
         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.
         Because commas are used in the configuration file to separate
         the list of Customized-Hdrs, you need to quote the value if
         that value contains a comma. Use double quotes and place the
         quotes around the entire value part of the header, not
         including the name of the header. For example, you might have

              Organization: "My Organization Name, My City"
         as one of the Customized-Hdrs.
  _dead-letter-files_
         This option affects _Pine_'s behavior when you cancel a message
         being composed. _Pine_'s usual behavior is to write the
         canceled message to a file named "dead.letter" in your home
         directory, or "DEADLETR" when using _PC-Pine_, 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.
  _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).
  _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 _Pine_ default is
         normally _saved-messages_ in the default folder collection.
         _PC-Pine_ default is _SAVEMAIL_ (normally stored as
         _SAVEMAIL.MTX_).
  _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 _Pine_. 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. A related
         feature is enable-setlocale-ctype.
  _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 _Pine_ with a newer version
         of the c-client library.
         + mbox
         + mbx
         + mh
         + 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.
  _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.
         _Pine_ 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,
         _Pine_ 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 _Pine_ 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 _Pine_ 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 _Pine_'s Kerberos support).
         It is never necessary to disable authenticators, since _Pine_
         will try other authenticators before giving up. However,
         disabling the relevant authenticator avoids annoying error
         messages.
  _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-Pine_.
         The command is executed and the message is piped into its
         standard input. The standard output of the command is read back
         by _Pine_. 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 _Pine_ 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 _Pine_ 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 _Pine_ 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 _Pine_ 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. _Pine_ 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. _Pine_ 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. _Pine_ 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 _Pine_ 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 _Pine_ 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 _Pine_ 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 _Pine_ 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 all of the To, Cc, and Newsgroups fields are
         empty, _Pine_ 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, _Pine_ will accept the values _default-fcc_,
         _by-recipient_, or _last-fcc-used_. If set to _default-fcc_,
         then _Pine_ 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 _Pine_ 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 _Pine_ 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-Pine_ 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, _Pine_ 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 _Pine_ 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-Pine_ only. File extension used for local folder names.
         This is .MTX by default.
  _folder-reopen-rule_
         _Pine_ 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. _Pine_ 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 _Pine_ 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 _Pine_ 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 _Pine_ 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 _Pine_ 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
               _Pine_ 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]
               _Pine_ 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]
               _Pine_ 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
               _Pine_ 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]
               _Pine_ will not differentiate based on access method. It
               will always ask for all remote folders, with a default
               answer of Yes.

       Always ask [No]
               _Pine_ 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
               _Pine_ 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. _Pine_ 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
               _Pine_ 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-Pine_ only.
  _font-size_
         Winsock version of _PC-Pine_ only.
  _font-style_
         Winsock version of _PC-Pine_ only.
  _forced-abook-entry_
         System-wide _Pine_ 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 _Pine_'s usual behavior when
         you execute the Compose command. Normally, _Pine_ 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, _Pine_ 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 _Pine_ will not automatically delete the selected
         message from the Form Letter Folder.
         Setting this variable will also affect _Pine_'s behavior when
         you Postpone a message from the composer. Normally, _Pine_
         simply stashes the message away in your Postponed-Folder.
         Regardless of the specified folder's existence, _Pine_ 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
         _Pine_ 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. _Pine_, 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 introduced in _Pine_ 4.10
         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 _Pine_'s behavior when using the _Goto_
         command. There are five possible values for this option:

       _folder-in-first-collection_
               _Pine_ 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_, _Pine_ 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 _Pine_'s default behavior. If the current folder
               is _INBOX_, _Pine_ 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.
  _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-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 _Pine_
         would monitor the folders in this list for new mail.
  _incoming-startup-rule_
         This rule affects _Pine_'s behavior when opening the _INBOX_ or
         another folder from the "INCOMING MESSAGE FOLDERS". This rule
         tells _Pine_ 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.

  _index-answered-background-color_
  _index-answered-foreground-color_
  _index-deleted-background-color_
  _index-deleted-foreground-color_
  _index-important-background-color_
  _index-important-foreground-color_
  _index-new-background-color_
  _index-new-foreground-color_
  _index-recent-background-color_
  _index-recent-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.
         _Pine_ 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 DATE FROMORTO(33%) SIZE SUBJECT(67%)
         This means that the four fields without percentages will be
         allocated first, and then 33% and 67% of the _remaining_ space
         will go to the from and subject fields. If one of those two
         fields is specified as a percentage and the other is left for
         the system to choose, then the percentage is taken as an
         absolute percentage of the screen, not of the space remaining
         after allocating the first four columns. It doesn't usually
         make sense to do it that way. If you leave off all the widths,
         then the subject and from fields (if both are present) are
         allocated space in a 2 to 1 ratio, which is almost exactly the
         same as the default.
         What you are most likely to do with this configuration option
         is to specify which fields appear at all, which order they
         appear in, and the percentage of screen that is used for the
         from and subject fields if you don't like the 2 to 1 default.
  _initial-keystroke-list_
         This is a comma-separated list of keystrokes which _Pine_
         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 _Pine_. 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 _Pine_ 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.
  _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. Then you use the
         Flag command to set or clear the keywords in each message.
         Keywords may be used when Selecting messages (Select Keyword).
         You will need to enable the enable-aggregate-command-set option
         to use Select. 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 _Pine_. 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
         _Pine_ 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 _Pine_'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.
  _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 _Pine_ when the the pruning is done or declined. If
         a user wanted to make _Pine_ 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
         _Pine_. It is used to keep track of the last version of _Pine_
         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 _Pine_ was linked with an LDAP
         library when it was compiled. This variable is normally managed
         by _Pine_ 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 _Pine_ 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 _Pine_
         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 _Pine_ 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 _Pine_'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 _Pine_ 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 _Pine_ 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, _Pine_ 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 _Pine_ checks for new mail as
         a side effect of another command, it will reset the timer, so
         that new-mail checking may seem to happen irregularly instead
         of every X seconds like clockwork.
         If you are anxious to know about new mail as soon as possible,
         set the check interval low, and you'll know about the new mail
         by approximately that amount of time after it arrives. If you
         aren't so worried about knowing right away, set this option to
         a higher value. That will save the server some processing time
         and may save you some of the time you spend waiting for
         new-mail checks to happen if you are dealing with a slow server
         or slow network connection.
         If you suspect that new-mail checking is causing slow downs for
         you, you may want to look into the options
         Quell-Mailchecks-Composing-Except-Inbox,
         Quell-Mailchecks-Composing-Inbox and
         Mail-Check-Interval-Noncurrent, which refine when mail checking
         is done.
         If the mailbox being check uses a Mail Drop then there is a
         minimum time (maildrop-check-minimum) between new-mail checks.
         Because of this minimum you may notice that new mail does not
         appear promptly when you expect it. The reason for this is to
         protect the server from over-zealous opening and closing of the
         Mail Drop folder, since that is a costly operation.
         A side effect of disabling mail checking is that there will be
         situations in which the user's IMAP connection will be broken
         due to inactivity timers on the server. Another side effect is
         that the user-input-timeout option won't work.
  _mail-check-interval-noncurrent_
         This option is closely related to the Mail-Check-Interval
         option, as well as the Quell-Mailchecks-Composing-Except-Inbox
         and Quell-Mailchecks-Composing-Inbox options. If the
         "Mail-Check-Interval" option is set to zero, then automatic
         new-mail checking is disabled and this option will have no
         effect.
         Normally this option is set to zero, which means that the value
         used will be the same as the value for the
         "Mail-Check-Interval". If you set this option to a value
         different from zero (usually larger than the value for
         "Mail-Check-Interval") then that is the check interval that
         will be used for folders which are not the currently open
         folder or the INBOX. You may not even have any folders that are
         noncurrent and not the INBOX. If you do, it is likely that they
         are due to Stay-Open-Folders you have configured. This option
         also affects the rate of mail checking done on cached
         connections to folders you previously had open but are no
         longer actively using. You aren't expected to understand that
         last sentence, but if you are interested take a look at
         Max-Remote-Connections, and the related options.
  _mail-directory_
         This variable was more important in previous versions of
         _Pine_. 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 _Pine_'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 _Pine_. 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 _Pine_ 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 Pine. 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 _Pine_ session,
         independent of the value of this option. The same is true of
         any Stay-Open-Folders you have defined. This option controls
         _Pine_'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 _Pine_ 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 _Pine_ 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 _Pine_
         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, _Pine_ 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 _Pine_ 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,
  _mimetype-search-path_
         This variable is used to replace _Pine_'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
         _Pine_'s usage of the MIME.Types File.
  _new-version-threshold_
         When a new version of _Pine_ 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 _Pine_. It takes as
         its value a _Pine_ version number. _Pine_ 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 _Pine_. However, there is
         a very similar feature built in to _PC-Pine_. In _PC-Pine_'s
         Config menu at the top of the screen is an option called "New
         Mail Window".
         You may have _Pine_ 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 _Pine_s both writing to the same
         FIFO, _Pine_ 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 _Pine_, you
         must _first_ start _Pine_ 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 (_Pine_)
         of the fifo must be running on the same system.
  _newmail-window-width_
         UNIX _Pine_ 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 _Pine_, 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-Pine_, 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 _Pine_ 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 _Pine_ 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 _Pine_ uses for your
         "newsrc" news status and subscription file. If set, _Pine_ 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 _Pine_ 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
         _Pine_, 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 _Pine_
         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, _Pine_ 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 _Pine_ 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
         _Pine_ to attempt to use it. If authentication is not offered
         by the server, this will cause _Pine_ 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.
  _operating-dir_
         System-wide _Pine_ 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.
  _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.
  _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 _Pine_ figure out where to put the cursor
         when the user runs the _Setup/Printer_ command. This is not
         used by _PC-Pine_.
  _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-Pine_.
  _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-Pine_ only.
  _print-font-size_
         Winsock version of _PC-Pine_ only.
  _print-font-style_
         Winsock version of _PC-Pine_ only.
  _printer_
         Personal configuration file only. This is the current setting
         for a user's printer. This variable is set from _Pine_'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 _Pine_ 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, _Pine_ 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. _Pine_ 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, _Pine_ 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 _Pine_ will also ask
         about pruning those folders. With this option you may provide
         an automatic answer to the rename questions and you may tell
         _Pine_ 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-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, _Pine_ 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 _Pine_ configuration, so you will want to be sure to
         turn that 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 _Pine_.
  _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 _Pine_ 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 _Pine_
         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.
  _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 ">".
         By default, this setting will only work on messages that are
         flowed, which is the default way of sending messages for many
         mail clients including versions of Pine after 4.60. 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.
  _reply-indent-string_
         This variable specifies an aspect of _Pine_'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 variable specifies an aspect of _Pine_'s _Reply_ command.
         When a message is replied to and the text of the message is
         included, that text has an introductory line preceding it. The
         normal default if you don't set 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 may replace this default with text
         of your own. The text may contain tokens which are replaced
         with text which depends on the message you are replying to. For
         example, the default is equivalent to:

                       On _DAYDATE_, _FROM_ wrote:
         The list of available tokens is here.
         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.
         If your _Reply-Leadin_ turns out to be longer than 80
         characters when replying to a particular message, it is
         shortened.
         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 _Pine_ 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 _Pine_
         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_, _Pine_ 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, _Pine_ offers to _Save_ the message to the default
         folder.
         Choosing any of the _by-_ options causes _Pine_ 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, _Pine_ attempts to get the
         value of who the message came from (i.e. the from address).
         _Pine_ then attempts to _Save_ the message to a folder matching
         that value. If _by-from_ is chosen and no value is obtained,
         _Pine_ uses _by-sender_. The opposite is also true. If
         _by-recipient_ was chosen and the message was posted to a
         newsgroup, _Pine_ will use the newsgroup name. If _by-replyto_
         is chosen and no value is obtained, _Pine_ uses _by-from_.
         If any of the "by-realname" options are chosen, _Pine_ 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, _Pine_ 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 _Pine_ 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 <[email protected]>
         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 _Pine_ will
         search for the address "[email protected]" 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 _Pine_ will search
         for the address "[email protected]" 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 _Pine_
         will search for the address "[email protected]" 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"
  _scroll-margin_
         This option controls when _Pine_'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 _Pine_ 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 _Pine_ 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-Pine_ 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. _Pine_ 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. _Pine_ 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. _Pine_ 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 _Pine_ 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 _Pine_ 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 _Pine_.

       __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, _Pine_
               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.
         _Pine_ 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 _Pine_, 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 _Pine_, 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 _Pine_
         will use for outgoing mail. If not set, _Pine_ passes outgoing
         email to the _sendmail_ program on the local machine. _PC-Pine_
         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
         Pine 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 _Pine_ to attempt to use it. If AUTH authentication is
         not offered by the server, this will cause _Pine_ 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 _Pine_ 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 _Pine_
         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.
  _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_
         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, _Pine_ uses the system's
         "spell" command. _Pine_ will use the command defined by this
         option (if any) instead. When invoking the spell-checking
         program, _Pine_ appends a tempfile name (where the message is
         passed) to the command line. _Pine_ expects the speller to
         correct the spelling in that file. When you exit from the
         speller program _Pine_ will read the tmpfile back into the
         composer.
         For Unix _Pine_ 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 _Pine_ 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-Pine_.
  _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 _Pine_ 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 _Pine_ would
         have used by default is less than this delay, then the smaller
         delay set by _Pine_ 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,
         _Pine_ 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, _Pine_ 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 _Pine_ 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 _Pine_ 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 _Pine_ 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 _Pine_ 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 _Pine_. There is no
         default value for this option. It is related to the options
         Preopen-Stayopen-Folders, Max-Remote-Connections, and
         Offer-Expunge-On-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 _Pine_
         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.
  _tcp-open-timeout_
         Sets the time in seconds that _Pine_ 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 _Pine_ will give up
         and consider it a failed connection.
  _tcp-query-timeout_
         When _Pine_ 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 _Pine_ 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.
  _threading-display-style_
         When a folder is sorted by Threads or OrderedSubject, this
         option will affect the MESSAGE INDEX display. By default, _Pine_
         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 _Pine_ 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 Pine 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 _Pine_ 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 VIEW 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 (`). By default, the value of this
         option is the vertical bar character (|). This option may not
         be set to the Empty Value. In that case, the default will be
         used instead.
  _tcp-write-warning-timeout_
         Sets the time in seconds that _Pine_ 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.
  _title-background-color_
  _title-foreground-color_
         Title Color.
  _titlebar-color-style_
         titlebar-color-style.
  _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 _Pine_ 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 _Pine_'s handling of URLs that are found in the text of
         messages you read. Normally, only URLs _Pine_ 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, _Pine_ 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 _Pine_ will run and which must exit with a status of zero
         for _Pine_ 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 _Pine_ 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-Pine_ 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 _Pine_
         times out. If _Pine_ is in the midst of composing a message or
         is waiting for user response to a question, then it will not
         timeout. However, if _Pine_ 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, _Pine_ 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 _Pine_ sessions which have
         been forgotten by their owners. The _Pine_ 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.
  _viewer-margin-left_
         This variable controls the left-hand vertical margin's width in
         _Pine_'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 _Pine_'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 _Pine_'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-Pine_ 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 _Pine_ 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.

  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.
         Beginning with _Pine_ 4.30 the default value for this feature
         has been changed from OFF to ON, so that editing of From
         headers is now allowed by default.
  _allow-talk_
         Unix _Pine_ only. By default, permission for others to _talk_
         to your terminal is turned off when you are running _Pine_.
         When this feature is set, permission is instead turned on.
         Note: The _talk_ program has nothing to do with _Pine_ 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
         _Pine_, you should enable this feature.
         If you do enable this feature and see a _talk_ message, you
         must suspend or quit _Pine_ 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.
  _assume-slow-link_
         This feature affects _Pine_'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 _Pine_ doesn't know.
  _auto-move-read-msgs_
         This feature controls an aspect of _Pine_'s behavior upon
         quitting. If set, and the read-message-folder variable is also
         set, then _Pine_ 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.
  _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, _Pine_ 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 _Pine_ to look for Unseen messages instead
         of Recent messages. By default, when such a folder is found,
         _Pine_ will ask whether you wish to open the folder. If this
         feature is set, _Pine_ will automatically open the folder
         without prompting.
  _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_.
  _auto-zoom-after-select_
         If set, the _; select_ command will automatically perform a
         _Zoom_ after the _select_ is complete.
  _check-newmail-when-quitting_
         If set, _Pine_ 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.
  _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.
  _compose-maps-delete-key-to-ctrl-d_
         If set, Delete will be equivalent to ^D, and delete the current
         character. Normally _Pine_ defines the Delete key to be
         equivalent to ^H, which deletes the _previous_ character.
  _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. _Pine_ will not
         attempt to turn them into complete addresses by adding your
         local domain (which _Pine_ 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. [email protected]_). An unqualified name is
         one without the _@_ symbol and host or domain name (e.g.
         _jsmith_).
  _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, _Pine_ will not prompt you in this situation,
         and will assume that you do indeed wish to post to the
         newsgroup you are reading.
  _confirm-role-even-for-default_
         If you have roles, when you Reply to or Forward a message, or
         Compose a new message, _Pine_ 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.
  _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.
  _disable-2022-jp-conversions_
         By default, UNIX _Pine_ will convert Japanese characters
         encoded as ISO-2022-JP data into EUC-JP and _PC-Pine_ will
         convert the ISO-2022-JP data into Shift-JIS before displaying
         it. Conversely, when sending mail, UNIX _Pine_ will convert
         EUC-JP into ISO-2022-JP and _PC-Pine_ will convert Shift-JIS
         into ISO-2022-JP. If this feature is set, those conversions are
         turned off.
         Most of _Pine_ is not set up to handle multi-byte characters or
         variable width characters. From time to time, your display will
         be garbled because _Pine_'s word wrapping code, which is not
         aware of the possibility that characters may be multi-byte, may
         wrap a line in the middle of a character. _Pico_ is also not
         able to edit Japanese data well so you may need to use an
         alternate editor when composing or replying to mail.
  _disable-busy-alarm_
         If set, the spinning bar that sometimes appears in the status
         line will not appear when _Pine_ is busy. This might be useful
         if it is suspected that the alarm(2) system calls that _Pine_
         uses to implement the busy spinner are suspected of causing a
         problem.
  _disable-charset-conversions_
         By default, if your Character-Set configuration option is
         different from the character set of the message you are
         viewing, then _Pine_ will attempt to convert the characters in
         the message to the character set you have set in the
         Character-Set configuration option before sending them to your
         display. The currently supported conversions are between 8-bit
         character sets (e.g. between WINDOWS-1251 and KOI8-R), and from
         UTF-8 to any other character set.
         If this feature is set, the conversions are turned off.
         Conversion is only possible if the character being converted is
         present in both character sets. Many pairs of character sets
         have no characters in common. In that case, _Pine_ will not
         attempt any conversion. If there are some characters in common
         then _Pine_ will attempt to convert those and will display the
         unknown characters as question marks.
         The conversion of Japanese character sets from one encoding to
         another is controlled separately by the
         Disable-2022-JP-Conversions feature.
  _disable-config-cmd_
         If set, the configuration screen _Setup/Config_ will not be
         available at all.
  _disable-keyboard-lock-cmd_
         In the Main _Pine_ 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 _Pine_
         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
         _Pine_ in order that it can be reused. In the event that _Pine_
         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 hidden feature is set, then the passwords will not be
         cached and the user will have to retype the password whenever
         _Pine_ 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-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, _Pine_ 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.
  _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, _Pine_ 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 <[email protected]>,
            Barney Rubble <[email protected]>
         but with this feature set it would look like
Nickname  : nick
Fullname  : Bedrock Elders
Fcc       :
Comment   :
Addresses : [email protected],
            [email protected]
         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, _Pine_ 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 Pine only.
         This feature affects _Pine_'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
         _Pine_. 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 _Pine_'s behavior when sending mail.
         Internet standards require _Pine_ 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 _Pine_ and the recipient, such as an email list
         expander, appends text to the message, such as list information
         or advertising. When sending such messages _Pine_ 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 _Pine_ 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 _Pine_'s behavior when sending mail.
         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. Setting this feature tells _Pine_ to try to negotiate
         unencoded 8bit transmission during the sending process. Should
         the negotiation fail, _Pine_ 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, _Pine_ provides the option of posting unencoded 8bit
         news messages, though not as the default. Setting this feature
         will turn OFF _Pine_'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 _Pine_'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_
         Setting this feature enables 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, 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-Pine_.
  _enable-alternate-editor-implicitly_
         If this feature and the editor variable are both set, _Pine_
         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 _Pine_ 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-Pine_.
  _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 _>_.
         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 enabled.
         Normally, when the "enable-arrow-navigation" feature is 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 highlite bar to the
         previous and next folder or directory name.
         When enabled, this feature returns the left, right, up and down
         arrow key's functionality in the FOLDER LIST screen to what it
         was before enabling "enable-arrow-navigation". In other words,
         left and right arrows move the highlight bar to the left or
         right, and the up and down arrows move it up or down.
  _enable-background-sending_
         If set, this feature enables a subcommand in the composer's
         _Send?_ confirmation prompt. The subcommand allows you to tell
         _Pine_ 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, _Pine_ will notice this folder and offer
         to extract any messages contained. Upon continuing a failed
         message, _Pine_ 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.
  _enable-cruise-mode_
         This feature affects _Pine_'s behavior when you hit the "Space
         Bar" at the end of a displayed message. Typically, _Pine_
         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 _Pine_'s
         _enable-cruise-mode_ feature. Setting this feature causes _Pine_
         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.
  _enable-delivery-status-notification_
         If set, this feature enables a subcommand in the composer's
         "Send?" confirmation prompt. The subcommand allows you to tell
         _Pine_ 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.
  _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.
  _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 _Pine_ 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.
  _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, _Pine_ 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 _Pine_ 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
         (provided it too is enabled). By default, when the "* Flag"
         command is selected, _Pine_ 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 _Pine_ 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.
  _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 has been 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.
  _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 _Pine_ to offer the _G Goto_ command in the
         file browser. This command allows you to explicitly set the
         displayed directory. _Pine_'s default behavior requires you to
         visit each related directory when moving between two distant
         directories.
  _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.
  _enable-jump-shortcut_
         Setting this feature will allow you to enter a number (followed
         by RETURN) and jump to that message number, when in the "Folder
         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 Pine 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 _Pine_'s query with nonsensical results.
         If you find that _Pine_ 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.
  _enable-mail-check-cue_
         If set, this will cause an asterisk to appear in the upper
         left-hand corner of the screen whenever _Pine_ checks for new
         mail, and two asterisks whenever _Pine_ 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.
  _enable-mouse-in-xterm_
         This feature controls whether or not an X terminal mouse can be
         used with _Pine_. 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.
         Note: if this feature is set, the behavior of X terminal
         cut-and-paste is also modified. It is necessary to hold the
         shift key down while clicking left or middle mouse buttons for
         the normal xterm cut/paste operations.
  _enable-msg-view-addresses_
         This feature modifies the behavior of _Pine_'s "Message Text"
         screen. Setting this feature causes _Pine_ 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 _Pine_
         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.
  _enable-msg-view-attachments_
         This feature modifies the behavior of _Pine_'s "Message Text"
         screen. Setting this feature causes _Pine_ to present
         attachments in boldface. The first available attachment is
         displayed in inverse. This is the "selected" attachment.
         Pressing _RETURN_ will cause _Pine_ 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.
  _enable-msg-view-forced-arrows_
         This feature modifies Up and Down arrow key behavior in
         _Pine_'s "Message Text" screen when selectable Attachments,
         URL's, or web-hostnames are presented. _Pine_'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.
  _enable-msg-view-urls_
         This feature modifies the behavior of _Pine_'s "Message Text"
         screen. Setting this feature causes _Pine_ to select possible
         URL's 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 _Pine_ 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.
  _enable-msg-view-web-hostnames_
         This feature modifies the behavior of _Pine_'s "Message Text"
         screen. Setting this feature causes _Pine_ to 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 _Pine_ 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.
  _enable-multiple-newsrcs_
         This feature makes it so Pine 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 _Pine_ 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, _Pine_
         will send appropriate escape sequences to the X terminal to
         modify the label on _Pine_'s icon to indicate that new mail has
         arrived. _Pine_ will also modify the _Pine_ 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.
  _enable-print-via-y-command_
         By default, _Pine_'s print command is available by pressing the
         _%_ key. In recent versions prior to 4.00, the print command
         was accessed by pressing the _Y_ key.
         Enabling this feature will cause _Pine_ 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 _Pine_ would otherwise use to denote included text
         from the message being replied to.
         Thus, you can change _Pine_'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.
  _enable-search-and-replace_
         If set _Pine_'s composer offers the _R Replace_ command option
         inside the _W WhereIs_ command.
  _enable-setlocale-ctype_
         This is a hard to understand feature that should only be used
         in rare cases. Normally, the C function call

                         setlocale(LC_CTYPE, "")
         is not used by _Pine_ because it causes problems in some cases.
         If you want to try turning it on, and it is available in your
         operating system, setting this feature will turn it on. This
         part of the locale has to do with identifying space characters
         and alphanumeric characters in your locale. A related feature
         is disable-setlocale-collate.
  _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,
         _Pine_ 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 _Pine_. Not available on _PC-Pine_.
  _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.
  _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-Pine_ only. This option restores a behavior of previous
         versions of PC-Pine. These versions, when started, installed a
         PC-Pine 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-Pine 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. Not available on _PC-Pine_.
  _enable-verbose-smtp-posting_
         This feature controls an aspect of _Pine_'s message sending.
         When enabled, _Pine_ 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
         _Pine_ 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 _Pine_ 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.
  _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.
  _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.
  _fcc-only-without-confirm_
         This features controls an aspect of Pine'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, Pine
         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.
  _fcc-without-attachments_
         This features controls the way FCC's (File Carbon Copies) are
         made of the messages you send.
         Normally, _Pine_ 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 _Pine_'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.
  _force-arrow-cursor_
         This feature affects _Pine_'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 _Pine_ 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, _Pine_ 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.
  _ldap-result-to-addrbook-add_
         This is only available if _Pine_ 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.
  _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 _Pine_ 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 Pine'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.
  _news-approximates-new-status_
         This feature causes certain messages to be marked as _New_ in
         the "Folder Index" of newsgroups.
         When opening a newsgroup, _Pine_ 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 _Pine_ 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 _Pine_ 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 _Pine_ 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.
         _Pine_'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 _Pine_ 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 _Pine_ does as it closes a
         newsgroup. When set, _Pine_ will offer to delete all messages
         from the newsgroup as you are quitting _Pine_ 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 _Pine_'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.
  _offer-expunge-on-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 _Pine_ 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-on-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 _Pine_ 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
         _Pine_.
  _pass-c1-control-characters-as-is_
         UNIX _Pine_ only. 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. This feature is not available in PC-Pine where
         control characters are never suppressed.
  _pass-control-characters-as-is_
         UNIX _Pine_ only (this feature is automatically on with
         _PC-Pine_). 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 Pine'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. This
         feature is not available in PC-Pine where control characters
         are never suppressed.
  _predict-nntp-server_
         This feature allows Pine 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, Pine
         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.
  _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. Pine
         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 _Pine_.
         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, _Pine_ turns the system's handling of these special
         characters off except during printing. However, if you see
         _Pine_ 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 _Pine_
         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_.
  _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 [email protected] 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.
  _prune-uses-yyyy-mm_
         By default, _Pine_ 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 _Pine_ 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-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.
  _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.
  _quell-charset-warning_
         By default, if your Character-Set is different from the
         character set of the message you are viewing, then _Pine_ 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.
  _quell-content-id_
         This feature changes the behavior of _Pine_ 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
         _Pine_ 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 _Pine_ 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 _Pine_
         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 _Pine_ may remove that header when the attachment
         is forwarded. However, it seems fairly safe at this time.
  _quell-dead-letter-on-cancel_
         This feature affects _Pine_'s behavior when you cancel a
         message being composed. _Pine_'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 _Pine_ 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.
  _quell-empty-directories_
         This feature causes _Pine_ 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.
  _quell-extra-post-prompt_
         This feature causes _Pine_ 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.
  _quell-filtering-done-message_
         This feature causes _Pine_ to suppress the "filtering done"
         message.
  _quell-filtering-messages_
         This feature causes _Pine_ to suppress the messages about
         moving filtered messages and setting flags in messages, due to
         Filter Rules.
  _quell-flowed-text_
         Beginning with version 4.60, _Pine_ 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.
  _quell-folder-internal-msg_
         This feature determines whether or not _Pine_ will create
         "pseudo messages" in folders that are in standard Unix or MMDF
         format.
         _Pine_ 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 _Pine_ 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 _Pine_ not
         to create them. Note that _Pine_'s "Answered" flag capability
         will be adversely affected if this is done.
         Note too that, even if this feature is enabled, _Pine_ 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.
  _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.
  _quell-imap-envelope-update_
         In the MESSAGE INDEX screen, if the open folder is being
         accessed using IMAP, _Pine_ 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 _Pine_ 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.
  _quell-lock-failure-warnings_
         This feature affects _Pine_'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.
         _Pine_ issues a warning when such failures occur, which can
         become bothersome if the system is configured to disallow such
         actions. Setting this feature causes _Pine_ 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".
  _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, _Pine_ 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.
  _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, _Pine_ 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.
  _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, _Pine_ 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.
  _quell-news-envelope-update_
         In the MESSAGE INDEX screen, if the open folder is being
         accessed using NNTP (News), _Pine_ 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 _Pine_ 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.
  _quell-partial-fetching_
         Partial fetching is a feature of the IMAP protocol. By default,
         _Pine_ will use partial fetching when copying the contents of a
         message or attachment from the IMAP server to _Pine_. 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.
  _quell-personal-name-prompt_
         _PC-Pine_personal-name. This prompt normally happens before
         composing a message, and only happens when there is no personal
         name already set.
  _quell-user-id-prompt_
         _PC-Pine_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-ssl-largeblocks_
         This feature (_PC-Pine_ 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-Pine_ 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.
  _quell-status-message-beeping_
         If set status messages will never emit a beep.
  _quell-timezone-comment-when-sending_
         Normally, when _Pine_ 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 _Pine_ will not be
         included. You probably don't need to worry about this feature
         unless you run into the problem described above.
  _quell-user-lookup-in-passwd-file_
         This feature controls an aspect of _Pine_'s Composer, and if
         needed, will usually be set by the system manager in _Pine_'s
         system-wide configuration file. Specifically, if this feature
         is set, _Pine_ 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 _Pine_) the
         name is then checked against the Unix password file. If the
         entered name matches a username in the system password file,
         _Pine_ 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,
         _Pine_ 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 _Pine_ from looking up names in the password file
         to find the Full Name for incomplete addresses you enter.
  _quit-without-confirm_
         This feature controls whether or not _Pine_ will ask for
         confirmation when a _Quit_ command is received.
  _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, _Pine_ 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).
  _quell-berkeley-format-timezone_
         Versions of _Pine_ prior to 4.20 would write Berkeley format
         message delimiters with a trailing timezone offset. On rare
         occurances this can cause an incompatibility with other mail
         access utilities. Enabling this hidden feature will cause _Pine_
         to refrain from writing this timezone to the "From " delimiter.
  _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.
  _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 may save network traffic
         when the source and destination folders are on the same IMAP
         server. _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 enabled, or if
         the folders are on different IMAP servers, or the folders are
         local and in different formats, _Pine_ will copy each message
         individually.
  _save-partial-msg-without-confirm_
         This feature controls an aspect of _Pine_'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.
  _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,
         _Pine_ 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 _Pine_ 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 _Pine_, you should enable this
         feature. This feature only applies to the common Unix mailbox
         format that uses message separator lines beginning with "From
         ". If _Pine_ 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 _Pine_ 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-Pine_ 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 _Pine_.
  _select-without-confirm_
         This feature controls an aspect of _Pine_'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.
  _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.
  _separate-folder-and-directory-display_
         This feature affects folder collections wherein a folder and
         directory can have the same name. By default, _Pine_ 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 _Pine_ 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 Pine 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 Pine to ignore any external viewer
         settings and always display text with Pine's internal viewer.
  _show-selected-in-boldface_
         This feature controls an aspect of _Pine_'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, _Pine_ 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]
  _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 _Pine_'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.
  _sort-default-save-alpha_
         This feature controls an aspect of _Pine_'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).
  _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-Pine_ 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-Pine_, 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_
         Starting with Pine 4.60, trailing whitespace is no longer
         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.
  _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.
  _tab-uses-unseen-for-next-folder_
         This feature affects _Pine_'s behavior when using the TAB
         NextNew Command to move from one folder to the next. _Pine_'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 _Pine_ 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
         _Pine_ 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 _Pine_'s behavior when using the _TAB_ key
         to move from one message to the next. _Pine_'s usual behavior
         is to select the next _Unread_ message or message flagged as
         _Important_.
         Setting this feature causes _Pine_ 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_
         In some versions of _Pine_ before 4.00 there was a compile-time
         macro called _TERMCAP_WINS_ which could be set to cause the
         _termcap_ or _terminfo_ definitions to be used instead of the
         built in definitions. Beginning with 4.00 this hidden runtime
         feature can be turned on to accomplish the same thing.
  _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 _Pine_ 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, _Pine_ 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 _Pine_ 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, _Pine_ 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, _Pine_ 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, _Pine_ 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 _Pine_ 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.
         _Pine_ 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
  _use-function-keys_
         This feature specifies that _Pine_ 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-sender-not-x-sender_
         Normally _Pine_ 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 Pine defaults to
         _X-X-Sender_.
         Note, _PC-Pine_ always adds either an _X-X-Sender_ line if
         there is an open, remote mailbox, or an _X-Warning:
         UNAuthenticated User_ otherwise
  _use-subshell-for-suspend_
         This feature affects _Pine_'s behavior when process suspension
         is enabled and then activated via the _^Z_ key. _Pine_
         suspension allows one to temporarily interact with the
         operating system command "shell" without quitting _Pine_, and
         then subsequently resume the still-active _Pine_ session.
         When the _enable-suspend_ feature is set and subsequently the
         _^Z_ key is pressed, _Pine_ will normally suspend itself and
         return temporary control to _Pine_'s parent shell process.
         However, if this feature is set, _Pine_ will instead create an
         inferior subshell process. This is useful when the parent
         process is not intended to be used interactively. Examples
         include invoking _Pine_ via the -e argument of the Unix _xterm_
         program, or via a menu system.
         Note that one typically resumes a suspended _Pine_ by entering
         the Unix _fg_ command, but if this feature is set, it will be
         necessary to enter the _exit_ command instead.
  _vertical-folder-list_
         This feature controls an aspect of _Pine_'s FOLDER LIST screen.
         If set, the folders will be listed alphabetically down the
         columns rather than across the columns as is the default.
  _warn-if-blank-subject_
         This feature affects _Pine_'s behavior when you send a message
         being composed. If this option is set, _Pine_ 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 _Pine_'s behavior when you send a message
         being composed. If this option is set, _Pine_ 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.
         _Pine_ 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. 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 _Pine_ 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-setlocale-collate
    * disable-these-authenticators
    * disable-these-drivers
    * enable-setlocale-ctype
    * last-time-prune-questioned
    * new-version-threshold
    * remote-abook-history
    * remote-abook-validity
    * rsh-command
    * rsh-open-timeout
    * rsh-path
    * save-aggregates-copy-sequence
    * 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.
    * allow-changing-from
    * disable-busy-alarm
    * disable-config-cmd
    * disable-keyboard-lock-cmd
    * disable-password-caching
    * disable-password-cmd
    * disable-pipes-in-sigs
    * disable-pipes-in-templates
    * disable-roles-setup-cmd
    * disable-roles-sig-edit
    * disable-roles-template-edit
    * disable-shared-namespaces
    * disable-signature-edit-cmd
    * enable-mailcap-param-substitution
    * quell-berkeley-format-timezone
    * quell-imap-envelope-update
    * quell-news-envelope-update
    * quell-partial-fetching
    * save-aggregates-copy-sequence
    * termdef-takes-precedence

Retired Variables and Features

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

  _compose-mime_
  _elm-style-save_
         Replaced by _saved-msg-name-rule_
  _expanded-view-of-addressbooks_
         This one was retired in 4.00 but made a comeback in 4.10. This
         is now an active feature.
  _expanded-view-of-folders_
         This one was retired in 4.00 but made a comeback in 4.10. This
         is now an active feature.
  _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.

  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.

  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".

  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
         more than six months ago 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.

  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.

  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".

  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".

  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 the letter 'D'
         if the message is deleted, 'A' if it is answered (but not
         deleted), or 'N' if it is new (but not deleted or answered), or
         blank if it is neither deleted, answered nor new.

         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, else it will be '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.

  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 _Pine_
         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.
         Having this set in the index-format will also cause the
         keywords to be prepended to the subject in the MESSAGE VIEW
         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 (Keyword Colors).

  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 Pine 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

         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 (Keyword Colors).

  KEY
         This is a space-delimited list of keywords that are set for the
         message. If you have given a keyword a nickname (Keywords),
         that nickname is displayed instead of the actual keyword. It is
         also possible to color keywords in the index using the
         Setup/Kolor screen (Keyword Colors).

  KEYINIT
         This is a list of keyword initials that are set for the
         message. If you have given a keyword a nickname (Keywords), 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 (Keyword
         Colors).

  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
         _Pine_ 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, _Pine_ will
         use the address on the "Cc" line. If there is no address there,
         either, _Pine_ 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).

  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.

  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".

  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 Templates and Signatures_

  CURSORPOS
         This token is different from the others. When it is replaced it
         is replaced with nothing, but it sets a _Pine_ 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 _Pine_ was linked with an LDAP library when
  it was compiled. 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 [email protected], 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
         _Pine_ 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, _Pine_ will then attempt to lookup
         "William Clinton" on the LDAP server and find the entry with
         address [email protected].
         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, _Pine_ 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 _Pine_ 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.
  _allow-ldap-v3_
         _Pine_ normally attempts to use version 2 of the LDAP protocol.
         When the version 3 protocol is used the server will output the
         results in the UTF-8 character set. Since _Pine_ is not
         currently able to handle this UTF-8 output, it does not use
         version 3 protocol. However, there are some servers which do
         not support version 2 of the protocol and only support version
         3. Some people have found that even though _Pine_ does not
         handle everything correctly, the results are still usually
         usable and may be better than nothing.
         Turning on this feature will cause _Pine_ to attempt to talk
         version 3 LDAP protocol to this server.
  _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". _Pine_ 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 _Pine_
         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-Pine_, then it
  is possible to set up _Pine_ 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 four broad sections:
  Options, General Colors, Index Colors, and Header Colors. In addition
  to these four 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.

         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.
  _Reverse Color_
         The color _Pine_ 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 _Pine_ uses for the titlebar (the top line on the
         screen). By default, the Title Color is the same as the Reverse
         Color. The actual titlebar color may be different from the
         Title Color if the option titlebar-color-style is set to some
         value other than default.
  _Status Color_
         The color _Pine_ 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 _Pine_ 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. _Pine_ can usually avoid writing a character in that
         corner of the screen. However, if you have defined a KeyLabel
         Color then _Pine_ 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 _Pine_ 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 _Pine_ 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.
  _Quote Colors_
         The colors _Pine_ 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.
         _Pine_ 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 Quote Colors are not defined.
  _Signature Color_
         The color _Pine_ 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). _Pine_ allows for one empty line
         right after the sigdashes to be considered as part of the
         signature. By default, the Signature Color is not defined, so
         will be the same as the Normal Color.
  _Prompt Color_
         The color _Pine_ 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).

  _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" 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" token is
         part of the Index-Format option).

 Header Colors

  You may add color to the header fields in the MESSAGE TEXT screen. For
  example, you may set the color of the contents of the Subject field or
  the From field.

  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 _Pine_ 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-Pine, 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, and Scoring, 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.

 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, and Scoring, 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 _Pine_ 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 <[email protected]>

  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
  <[email protected]>" However, if role2 had

              Set Reply-To = VP <[email protected]>

  defined, then the Reply-To used with role2 would be "VP
  <[email protected]>" 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 an address (or comma-separated list of
  addresses) 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 (or comma-separated list of
  addresses) 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.

  Because commas are used in the configuration file to separate the list
  of Other Hdrs, you need to quote the value if that value contains a
  comma. Use double quotes and place the quotes around the entire value
  part of the header, not including the name of the header. For example,
  you might have

              Organization: "My Organization Name, My City"

  as one of the Other Hdrs.

   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 _Pine_ 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 _Pine_
  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 Pine 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 _Pine_, 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 _Pine_, 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 _Pine_ 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
  _Pine_, 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 _Pine_, 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 _Pine_ 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 _Pine_ 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 _Pine_ is involved) for you is in a better position to do mail
  filtering than _Pine_ 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 _Pine_ to
  help with this, _Pine_'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). _Pine_
  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 _Pine_
  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, and Other
  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 _Pine_ 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 _Pine_ 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 _Pine_ 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, _Pine_ 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 Pine. 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 Pine.

 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, and Scoring,
  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.

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.

Patterns

  Patterns are used with Roles, Filtering, Index Coloring, Scoring, and
  Other 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 _Pine_ has been
  run this month (doesn't depend on individual messages), and another
  which detects whether or not this is the first time _Pine_ 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, 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 = [email protected]

  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 "[email protected]" or "[email protected]", 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 _Pine_, 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 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 _Pine_ index display
  which 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.

   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 _Pine_ 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 _Pine_ 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 _Pine_ 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 _Pine_ and _PC-Pine_.

  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 Pine knows
         about.
         Besides actual character set names (for example, ISO-8859-7,
         KOI8-R, or GB2312) you may also use some shorthand names that
         Pine 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, _Pine_ 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. _Pine_ 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 _Pine_, 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 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 _Pine_ index display which 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.
  _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 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 _Pine_ index display which 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.
  _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 _Pine_ has been run this month; or "No", which means this
         is _not_ the first time _Pine_ has been run this month. The way
         that _Pine_ 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 Pine 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 _Pine_ has been run this year; or "No", which means this
         is _not_ the first time _Pine_ has been run this year. The way
         that _Pine_ 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 Pine 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 _Pine_ and _PC-Pine_.
         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

  _Pine_ 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 _Pine_ 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 _Pine_ 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
         _Pine_ 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 _Pine_ 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, _Pine_ 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-Pine_ 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

Pine in Function Key Mode

  The standard _Pine_ 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.

  _Pine_ can also operate in a function-key mode. To go into this mode
  invoke _pine -k_ or (on some UNIX systems) _pinef._ On a UNIX system,
  you can link or copy the _Pine_ executable to _pinef_ to install
  _pinef._ Alternatively, users and systems administrators can set the
  _use-function-keys_ feature in the personal or system-wide _Pine_
  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 _Pine_ 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

  _Pine_ 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 _Pine_ to
  check if an address is that of the current _Pine_ user.

  _Pine_ 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-Pine_ users and
  UNIX _Pine_ 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 _Pine_, access to these archives is just as
  simple as access to folders on _Pine_'s local disk.

  "Collection" is the word we use in _Pine_ 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 _Pine_ will adjust its menus
  and prompts to help navigate them.

  The way collections are defined in _Pine_ is with the
  folder-collections variable in the _Pine_ 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, _Pine_ 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). _Pine_ 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 _Pine_, 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 _Pine_ configuration file you get
  simple management of multiple folders in diverse locations.

  As of _Pine_ 4.00, collection setup is handled by the
  _Setup/collectionList_ screen instead of requiring hand editing of the
  configuration file.
    _________________________________________________________________

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 _Pine_ 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 _Pine_. Local folder names
  depend on the operating system used by the computer running _Pine_, as
  well as the configuration of that system. For example,
  "C:\PINE\FOLDERS\OCT-94" might exist on a PC, and
  "~/mail/september-1994" might be a reasonable folder name on a system
  running Unix.

  _Pine_ users have the option of using folders which are stored on some
  other computer. _Pine_ 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 _Pine_, the remote host must be running the appropriate server
  software (imapd or nntpd) and you must correctly specify the name of
  the folder to _Pine_, 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 _Pine_.

  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
  _Pine_.

  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 _Pine_ how
  to interpret the name that follows.

  So, for example, _Pine_ 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 _Pine_ 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 _Pine_'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 _Pine_ 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
         _Pine_ 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). _Pine_
         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 _Pine_ 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
         _Pine_ and the server. _Pine_ is capable of authenticating
         connections to the server using several methods. By default,
         _Pine_ will attempt each method until either a connection is
         established or the list of methods is exhausted. This parameter
         causes _Pine_ 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 _Pine_ to
         log the communication with the server in _Pine_'s debug file.
         Normally, the pine -d command-line flag would be used instead.

  NoRsh
         By default, _Pine_ 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. _Pine_'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.

  Loser
         This is intended for use with defective servers that do not
         implement the protocol specification correctly. It should be
         used only as a last resort since it is likely that it will
         seriously degrade performance. Setting this parameter will
         cause _Pine_ to disable various protocol features and perform
         client-side workarounds instead. For example, it disables the
         IMAP SEARCH, SORT, and THREAD commands and does client-side
         searching, sorting, and threading instead. If set for the
         "SMTP-Server" option, it causes _Pine_ to not use the EHLO
         command and so not to attempt to use any SMTP extensions. The
         precise measures taken when "loser" is set depend on the
         protocol and are subject to change over time.

                                  /loser

  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 _Pine_ folder name looks like

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

  The local part of a folder name has an optional "Namespace" which
  tells _Pine_ 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 _Pine_. 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 _Pine_ 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 _Pine_ 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 _Pine_ move mail from there to
  a local (on the same machine _Pine_ 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 _Pine_ 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 _Pine_ 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 _Pine_ 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 _Pine_. 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 _Pine_ 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 _Pine_, only the first
  sort is slow since _Pine_ 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. _Pine_ will show progress as it is
  sorting.
    _________________________________________________________________

Alternate Editor

  In the _Pine_ 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 _Pine_ 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.

  _Pine_'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

  _Pine_ used to have _feature levels_ for users with different amounts
  of experience. We found that this was too restrictive. _Pine_ 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.

  _Pine_ 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 _Pine_ 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 _Pine_ and is normally not set for
  _PC-Pine_. For _PC-Pine_, 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 _Pine_, 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-Pine_, the personal configuration file is
  in $PINERC or <PineRC registry value> or ${HOME}\PINE\PINERC or
  <PINE.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 _Pine_, 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, _Pine_
  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 _Pine_ looks in the home directory for ".pinercex".

  For _PC-Pine_, 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-Pine_ 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-Pine_ looks in the local
  directory specified by the "-aux local_directory" command line
  argument, or the directory ${HOME}\PINE, or in <PINE.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 _Pine_ configuration options may include environment
  variables which are replaced by the value of the variable at the time
  _Pine_ 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 _Pine_ 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 _Pine_ 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-Pine_
  and Unix _Pine_, 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 _Pine_'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 _Pine_ 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 _Pine_ 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

  _Pine_'s MIME-TYPE support is based on code contributed by Hans
  Drexler &LT;[email protected]&GT;. _Pine_ 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 DOS and OS/2, _Pine_ looks in the same directory as the PINERC file
  and the same dir as PINE.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 _Pine_ 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 _Pine_ 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_, _Pine_ looks in
  the terminal capabilities database, TERMINFO or TERMCAP, depending on
  how _Pine_ was compiled, to decide whether or not your terminal is
  capable of color. For TERMINFO compiled _Pine_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, _Pine_ 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 _Pine_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. _Pine_ 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 _Pine_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 _Pine_ and _PC-Pine_, 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-Pine

  Below are a few odds and ends worth mentioning about _PC-Pine_. They
  have to do with DOS-specific behavior that is either necessary or
  useful (and sometimes both!).

  As _PC-Pine_ 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-Pine_:
       X-Sender: <userid>@<imap.host>

  By popular demand of system administrators, _PC-Pine_ has been
  modified to prevent sending messages until the user has successfully
  logged into a remote mail server. Even though _PC-Pine_ 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-Pine_ has no user database to consult for _user-id_,
  _personal-name_, etc., necessary information must be provided by the
  user/installer before _PC-Pine_ can properly construct the "From"
  address required for outbound messages. _PC-Pine_ 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 _Pine_ session, and no opportunity to
  save them in the _PINERC_ will be offered.

  Along similar lines, a feature allowing automatic login to the
  imap-server containing the user's _INBOX_ has also been requested.
  This feature is not enabled by default, but requires the existence of
  the file named _PINE.PWD_ in the same directory as the _PINERC_. Even
  with the existence of this file, the user must still acknowledge a
  prompt before the password is saved to the file. If _PC-Pine_ is
  configured to access several different IMAP servers, each password
  entered will be kept (associated with the corresponding host name) in
  memory during the current session, and optionally, in the _PINE.PWD_
  file for use in subsequent sessions.

  _WARNING_! Use this feature with caution! It effectively makes the
  user's mail no more secure than the physical security of the machine
  running _PC-Pine_. What's more, while the password is cloaked by a
  mild (some might say, feeble) encryption scheme, it is nonetheless
  sitting in a file on the PC's disk and subject to cracking by anyone
  with access to it. _BEWARE_!

  Another feature of DOS is the lack of standard scratch area for
  temporary files. During the course of a session, _PC-Pine_ 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-Pine_ observes the _TMPDIR_,
  _TMP_, and _TEMP_ environment variables, and creates temporary files
  in the directory specified by either. In their absence, _PC-Pine_
  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 _Pine_ features are implemented. This
  section outlines some of the details.

Address Books

  Beginning with _Pine_ 4.00 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 (the address books _Pine_ has had all
  along); 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.

  Beginning with _Pine_ 4.00 there is a new type of address book called
  a remote address book. A remote address book is stored in a mail
  folder on an IMAP server. A _Pine_ remote address book is just like a
  _Pine_ 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 a pine
  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.

  _Pine_ 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 _Pine_ discovers the
  folder has changed it gets a new copy and puts it in the local cache
  file.

  There is a new 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 has changed. If the metafile or any
  of the cache files is deleted then _Pine_ 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

  _Pine_ 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-Pine_, 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
  _Pine_ 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, _Pine_ 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 822 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 822 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 822
  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 _Pine_ can read either format,
  so it should be possible to share a read-only address book among the
  two populations (using NFS, for example). The end-of-line character
  for the LookUp file is always just <LF>, even on a PC.
    _________________________________________________________________

 Address Book Lookup File

  Starting in 3.90 there is an additional file for each address book,
  called the LookUp file. It usually has the same name as the address
  book file with the suffix ".lu" appended. (It might have a different
  name if a file name length restriction prohibited that name.) This
  file is created and maintained by _Pine_. If it is deleted, _Pine_
  will recreate it next time it runs. Its purpose is to speed up lookups
  for large address books and to reduce memory requirements for large
  address books. A fairly detailed description of how it is used is
  given in src/pine/adrbklib.h.

  The lookup file changes whenever the address book itself is changed.
  If it doesn't exist, _Pine_ attempts to create it. If _Pine_ doesn't
  have permission to create the lookup file with the standard name, it
  will create a temporary version in a temp directory. You want to avoid
  this since it would have to be rebuilt every time _Pine_ was run, and
  rebuilding takes a significant time for a large address book. So, if
  you're going to have a shared address book in a read-only directory,
  it is highly desirable to create the lookup file so that the users
  sharing it won't have to each create a copy in a temp directory. You
  can do that by running _Pine_ and accessing the address book under a
  user id which does have permission to write the file or by using the
  _-create_lu_ command line argument to _Pine_. If users may be using a
  shared address book that needs updating, it is best to _move_ the old
  address book to another name rather than copying over it since the
  file may be opened by running _Pine_s. It is also best to make the
  lookup file for the new addrbook before moving it and the address book
  file into place, otherwise users may get stuck attempting to
  initialize the new lookup file. The lookup file contains a timestamp
  which records the mtime of the address book file when the lookup file
  was last updated. Whenever a user runs _Pine_ the current mtime of the
  address book is checked against this timestamp and if they differ,
  _Pine_ will want to rebuild the lookup file. Because of this, it isn't
  a good idea to build the lookup file and then _copy_ the address book
  and lookup file into place. You should move it or copy it in some way
  which preserves the address book file's mtime (e.g., use _mv_ or
  _tar_).

   Validity Checking of Address Books

  There is no file locking done on _Pine_ 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 _Pine_'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.

  Another sort of validity check is that the lookup file contains a
  timestamp internally that is supposed to match the time that the
  address book file itself was last modified. If the lookup file
  timestamp doesn't match the date of the address book file, a new
  lookup file is built. If you are having trouble, it is always ok to
  remove the lookup file and restart. _Pine_ will automatically rebuild
  the lookup file.

  One other validity check happens when looking up an entry in the
  address book file. An entry is looked up by first getting an offset
  into the address book file from the lookup file. A seek to that
  location is done and then the entry is read. An entry should be at the
  start of a line. If it isn't, something is wrong. In that case, the
  lookup file is rebuilt and the operation is repeated if possible.
    _________________________________________________________________

Remote Configuration

  Beginning with _Pine_ 4.30, 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

  _Pine_ 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 _Pine_ 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 _Pine_ 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:

  Good Time:
         This occurs when _Pine_ has been idle for more than 30 seconds.
         In this case _Pine_ 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 _Pine_ has executed some command. _Pine_
         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, _Pine_ 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 _Pine_ is compiled with the compiler _DEBUG_ option on (the
  default), then _Pine_ will produce debugging output to a file. 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
  _Pine_ 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 _Pine_ 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.

  _PC-Pine_ creates a single debug file named PINEDEBG.TXT in the same
  directory as the PINERC file.
    _________________________________________________________________

Filters

  _Pine_ is not designed to process email messages as they are
  delivered; rather _Pine_ depends on the fact that some other program
  (sendmail, etc) will deliver messages and _Pine_ simply reads the
  email folders which that other program creates. For this reason, _Pine_
  cannot filter incoming email into different folders. It can, however,
  work alongside most of the programs available over the Internet which
  perform this task. _Pine_ is known to operate successfully with the
  _Elm_ _filter_ program and with _procmail_.

  _Pine_ allows users to specify a set of incoming-folders. _Pine_ will
  separate out all the folders listed as _incoming-folders_ and offer
  convenient access to these. We hope that in the future _Pine_ will be
  able to offer new message counts for all of the incoming folders, but
  we haven't done this so far because of the performance penalty.
    _________________________________________________________________

Folder Formats and Name Extensions

  A folder is a group of messages. The default format used by Unix _Pine_
  is the Berkeley mail format. It is also used by the standard _mail_
  command and by _elm._ Unix _Pine_ also understands message folders in
  other formats, such as Tenex, MH, MMDF, and Netnews.

  _PC-Pine_ reads and writes local (PC) folders in a special format
  similar to the Tenex format. Near as we can tell, _PC-Pine_ is the
  only program to use this format. Beginning with version 3.90, _PC-Pine_
  includes a ReadOnly driver for the Berkeley mailbox format in
  addition. That means that you can import Unix mail folders, or mount
  them via NFS or SMB, and _PC-Pine_ can read them --but not modify
  them.

  Extensions. In the past, file name extensions have been significant in
  both Unix _Pine_ and _PC-Pine_, but this has caused more problems than
  it solved. Therefore, on Unix _Pine_ extensions no longer have any
  special meaning, and this is the trend for _PC-Pine_ as well.

  By default, _PC-Pine_ adds ".MTX" to the name of any local (PC)
  folders that are referenced, and suppresses the extension from the
  "Folder List" display. Now that _PC-Pine_ can read more than one
  folder format, the MTX extension no longer implies a particular
  format, and is largely irrelevant. By using the folder_extension
  option, you can change this behavior. In particular, you may set
  _folder-extension_ to the "null string" (a pair of double quotes)
  which tells _PC-Pine_ to neither add nor hide-from-view _any_ folder
  name extension.

  The reason you might wish to over-ride the MTX default is that recent
  versions of _PC-Pine_ have the ability to open (albeit ReadOnly)
  normal Unix mail folders. Since it might be inconvenient to rename all
  of them to have an MTX extension, it is possible with this option to
  switch _PC-Pine_'s behavior so that such folders can be seen and
  accessed without changing their names. However, doing this means that
  your existing _PC-Pine_ local folders will have apparently changed
  their names. For example, if you had a local folder named "FOO" it
  will now appear in the "Folder List" as "FOO.MTX". If you wish to save
  additional messages to that folder, you will need to enter the full
  name, "FOO.MTX" at the _Save_ prompt. Likewise for _GoTo_.

  If you wish to permanently avoid having to deal with folder name
  extensions, you will need to set this option to the null string by
  entering two double- quote marks, and you will need to rename your
  existing local folders to not have an MTX extension. In DOS this can
  be done in one command, once you have changed to your mail directory:
  RENAME *.MTX *.

  We don't know why you might wish to, but you could also use this
  option to tell _PC-Pine_ to use an extension other than MTX. In this
  case, enter the three characters you desire to use in lieu of "MTX".
  Note that your existing folders will need to be renamed to correspond
  to this new extension.

  Berkeley Mail Format
         This format comes to us from the ancient UNIX mail program,
         _/bin/mail._ (Note that this doesn't have anything to do with
         Berkeley, but we call it the Berkeley mail file format anyway.)
         This program was actually used to interactively read mail at
         one time, and is still used on many systems as the local
         delivery agent. In the Berkeley mail format, a folder is a
         simple text file. Each message (including the first) must start
         with a separator line which takes approximately the form:

    From [email protected] Wed Aug 11 14:32:33 1993
         Each message ends with two blank lines. There are actually
         several different variations in the date part of the string,
         twenty at last count. Because of the format of the separators,
         lines in the mail message beginning with "From ", space
         included, risk being confused as message separator lines. Some
         mail programs will interpret any line beginning with "From " as
         a message separator, while others --including _Pine_-- will not
         be confused unless the line really looks like a message
         separator, complete with address and date. Such lines will be
         modified to begin with ">From ". In deference to other mail
         programs, you may also set the save-will-quote-leading-froms
         feature, in which case any line beginning with "From " will be
         modified as above. If you see this occasionally in incoming
         mail messages, the culprit is not _Pine_ but the message
         delivery program being used at your site.
         You can fool _Pine_ into thinking a file is a mail folder by
         copying a suitable message separator from a real folder to the
         beginning of the file and wherever you want message boundaries.
         The vast majority of _INBOX_es _Pine_ reads and folders it
         writes are of this format.
  Tenex and MTX Formats
         Like the Berkeley format, the Tenex folder format uses a single
         file per folder. Historically, the name of Tenex-format folders
         ended with _.txt_, but this rule is no longer enforced. The
         file format consists of a header line followed by the message
         text for each message. The header is in one of two forms:

    dd-mmm-yy hh:mm:ss-zzz,n;ffffffffffff
    dd-mmm-yyyy hh:mm:ss sssss,n;ffffffffffff
         and is immediately followed by a newline (and the message
         text). The fields in the formats are:

       dd      two-digit day of month (leading space if a single-digit day)

       mmm     three-letter English month name (Jan, Feb, etc.)

       yy      two-digit year in 20th century (obsolete)

       yyyy    four-digit year

       hh      two-digit hour in 24-hour clock (leading zero if single-digit)

       mm      two-digit minute (leading zero)

       ss      two-digit second (leading zero)

       zzz     three-letter North American time zone (obsolete)

       sssss   signed four-digit international time zone as in RFC 822

       n       one or more digits of the size of the following message in

               bytes

       ffffffffffff

               twelve-digit octal flags value

         Punctuation is as given above.
         The time in the header is the time that message was written to
         the folder. The flags are interpreted as follows: the high
         order 30 bits are used to indicate user flags, the next two
         bits are reserved for future usage, the low four bits are used
         for system flags (010 = answered, 04 = flagged urgent, 02 =
         deleted, 01 = seen).
         If a Tenex-format (or empty) file named _mail.txt_ exists in a
         _Pine_ user's home directory, this triggers special processing
         in _Pine_. When _INBOX_ is opened, mail is automatically moved
         from _/usr/spool/mail_ into _mail.txt_ in the user's home
         directory.
         The format used by _PC-Pine_ is identical to the Tenex format,
         with two exceptions: the folder name ends with _.MTX_ instead
         of _.txt_ (this is a requirement in the MTX format), and
         DOS-style CR/LF newlines are used instead of UNIX-style LF
         newlines.
  Netnews Format
         The netnews format is a ReadOnly format which uses directories
         under /usr/spool/news as folders. The /usr/spool/news/ prefix
         is removed and all subsequent ``/'' (slash) characters are
         changed to ``.'' (period). For example, the netnews folder name
         _comp.mail.misc_ refers to the directory name
         /usr/spool/news/comp/mail/misc. In addition, the news folder
         name must appear in the file /usr/lib/news/active for it to be
         recognized. Individual messages are stored as files in that
         directory, with file names being the ASCII form of a number
         assigned to that message. The default locations above can be
         changed with the config variables news-spool-directory and
         news-active-file-path.
    _________________________________________________________________

Folder Locking

  There are two kinds of locking which _Pine_ has to worry about. The
  first might be called program-contention locking. This affects the
  times when a program is performing actual updates on a folder. An
  update might be a message delivery program appending a message
  (_sendmail_ delivering a message to an _INBOX_), status changes
  (checkpoints by _Pine_ every few minutes) or deletion of messages (an
  expunge in _Pine_). For moderate sized mail messages, these operations
  should not last for more than a few seconds. The second kind of
  locking has to do with user-contention situations. This would be the
  case when one folder is shared by a group of people or even when one
  person starts multiple email sessions all of which access the same
  folders and _INBOX_.

  There are two standard locking mechanisms which handle
  program-contention locking. To be on the safe side, _Pine_ implements
  both of them. The older mechanism places a file _xxxx.lock_ (where
  _xxxx_ is the name of the file being locked) in the same directory as
  the file being locked. This makes use of the fact that directory
  operations are atomic in UNIX and mostly works across NFS. There are
  involved algorithms used to determine if a lock has been held for an
  excessive amount of time and should be broken. The second
  program-contention locking mechanism uses the _flock()_ system call on
  the mailbox. This is much more efficient and the locks can't get stuck
  because they go away when the process that created them dies. This is
  usually found on 4BSD and related machines.

  In addition to these, _Pine_--through the c-client library--provides
  robust locking which prevents several users (or several instances of
  the same user) having a mail file open (for update) at once. This
  user-contention lock is held the entire time that the folder is in
  use.

  With IMAPd 7.3(63) and _Pine_ 3.84 and higher, the second _Pine_
  session which attempts to open a particular folder (usually _INBOX_)
  with _Pine_ will ``win''. That is to say, the second session will have
  read/write access to the folder. The first user's folder will become
  read-only. (Note that this is exactly the opposite of the behavior
  prior to _Pine_ 3.84 where the second open was read-only. Having the
  latest open be read-write seems to match more closely with what users
  would like to have happen in this situation.) _Pine_'s additional
  locking is only effective against multiple uses of _Pine_ or other
  programs using the c-client library, such as _MailManager, ms, IMAPd
  _and a few others. Beginning with _Pine_ 3.85, there is a _-o_ command
  line flag to intentionally open a mailbox read-only.

  _Pine_ locking on UNIX systems works by creating lock files in _/tmp_
  of the form _\usr\spool\mail\joe. _The system call _flock()_ is then
  used on these files; the existence of the file alone does not
  constitute a lock. This lock is created when the folder is opened and
  destroyed when it is closed. When the folder is actually being
  written, the standard UNIX locks are also created.

  If a folder is modified by some other program while _Pine_ has it
  open, _Pine_ will give up on that mail file, concluding it's best not
  to do any further reads or writes. This can happen if another mailer
  that doesn't observe _Pine_'s user-contention locks (e.g. _elm_ or
  _mail)_ is run while _Pine_ has the mail folder open. _Pine_
  checkpoints files every few minutes, so little data can be lost in
  these situations.

  _PC-Pine_ does not do any folder locking. It depends on IMAP servers
  to handle locking of remote folders. It is assumed that only one _Pine_
  session can be running on the PC at a time, so there is no contention
  issue around folders on the PC itself.
    _________________________________________________________________

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 _Pine_ 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 pine subdirectory of the distribution
  contains all the help text for _Pine_. On UNIX, it is compiled right
  into the _Pine_ 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 by two awk scripts and turned
  into C files that are compiled into _Pine_.

  _PC-Pine_, which tries to run on machines with as little as 640k of
  memory, leaves the _Pine_ help text out of the executable. PINE.EXE,
  PINE.HLP, and PINE.NDX are all needed for _PC-Pine_'s help system.
    _________________________________________________________________

International Character Sets

  While _Pine_ was designed in the U.S. and used mostly for
  English-language correspondence, it is a goal for _Pine_ to handle
  email in almost any language. Many sites outside of the U.S. run _Pine_
  in their native language. The default character set for _Pine_ is
  US-ASCII. That can be changed in the personal or system-wide
  configuration file with the variable character-set.

  When reading incoming email, _Pine_ allows all character sets to pass
  through. _Pine_ doesn't actually display the characters but simply
  passes them through; it is up to the actual display device to show the
  characters correctly. When composing email, _Pine_ will accept input
  in any language and tag the message according to the _character-set_
  variable. Again, it is up to the input device to generate the correct
  sequences for the character set being used.

  With the exception of UNICODE-1-1-UTF-7, the outgoing message is
  checked to see if it is all US-ASCII text (and contains no escape
  characters). In that case, the text will be labeled as US-ASCII even
  if the _character-set_ variable is set to something else. The theory
  is that every reasonable character set will have US-ASCII as a subset,
  and that it makes sense to label the text with the
  lowest-common-denominator label so that more mailers will be able to
  display it. Text in the UNICODE-1-1-UTF-7 character set is never
  re-labeled as US-ASCII. If the outgoing message is not all US-ASCII
  text, then it will be labeled with the _character-set_ variable set by
  the user. If the user has not set the _character-set_ variable then it
  will be labeled as _X-UNKNOWN_.

  _BUG_: If you prepare a UNICODE-1-1 document and read it into the
  composer with _^R_, _Pine_ may mistreat it. If your document, when
  misviewed as 8-bit bytes, does not contain any individual bytes
  greater than 0x7f base 16, then _Pine_ will re-label your outgoing
  message as US-ASCII, even if your message is really in Unicode
  Cyrillic, Arabic, or Thai. On the other hand, if your UNICODE-1-1,
  when misviewed as 8-bit bytes, does contain at least one individual
  byte greater than 0x7f base 16, as is likely for Unicode
  French/German/Spanish, Greek, Japanese, and Chinese, then _Pine_ will
  retain the UNICODE-1-1 label.

  The character sets are:

    US-ASCII Standard 7 bit 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
    KOI8-R 8 bit Latin and Russian
    VISCII 8 bit Latin and Vietnamese
    ISO-2022-JP Latin and Japanese
    ISO-2022-KR Latin and Korean
    UNICODE-1-1 Unicode
    UNICODE-1-1-UTF-7 Mail-safe Unicode
    ISO-2022-JP-2 Multilingual

  Earlier versions of _Pine_ made use of the character set tags
  associated with text in MIME to decide if the text should be displayed
  or not. Depending on the character set tag and the _character-set_
  variable in _Pine_, the text was either displayed as is, displayed
  with some characters filtered out, or not displayed at all. The
  current version uses a much simpler algorithm in order to maximize the
  chance that useful contents are readable by the user. It simply
  displays _all_ messages of type text and makes no attempt to filter
  out characters that may be in the wrong character set. If the text is
  tagged as something other than US-ASCII and the tag does not match the
  character set that the _character-set_ variable is set to, then an
  attempt is made to convert the incoming characters into the character
  set given in the _character-set_ variable. Characters which are not
  representable in the character set of the display will be converted to
  question marks. The feature disable-charset-conversions may be used to
  turn off this automatic conversion. A warning is printed at the start
  of the message and the characters are sent to the display. It is
  possible that the text will be displayed incorrectly.

  There is special-case code which attempts to handle Japanese text
  (ISO-2022-JP). Incoming ISO-2022-JP text will be converted to EUC in
  UNIX _Pine_ and to Shift-JIS in _PC-Pine_ before it is sent to the
  display. Conversely, when sending mail UNIX _Pine_ will convert EUC
  into ISO-2022-JP and _PC-Pine_ will convert Shift-JIS into
  ISO-2022-JP. The feature disable-2022-jp-conversions may be used to
  turn off this automatic conversion.

  There used to be a facility in _PC-Pine_ to map between various DOS
  Code Pages and standard character sets. That facility, including the
  _CP_TO_ISO_ and _ISO_TO_CP_ hooks, was broken for several versions of
  _Pine_ and is now entirely removed. We hope that the character set
  conversion that happens automatically before displaying a message will
  handle most of what the Code Page code used to do. For example, a
  Russian user would probably set the _character-set_ variable in the
  PINERC file to the value KOI8-R. That would cause outgoing messages to
  be labeled as KOI8-R. If an incoming message was labeled with the
  Windows-1251 character set, _Pine_ should be able to convert the
  Windows-1251 characters to KOI8-R before sending them to the display.
    _________________________________________________________________

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), _Pine_ will
  save the interrupted composition and allow the user to continue it
  when he or she resumes _Pine_. As the next _Pine_ 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. _Pine_ uses four of these flags: UNSEEN,
  DELETED, ANSWERED, and FLAGGED. The N in _Pine_'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 _Pine_). The A in
  _Pine_'s FOLDER INDEX means that the message has been replied-to. The
  * in _Pine_'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. In Tenex and _PC-Pine_'s MTX folder formats, the
  status goes into the 36-bit octal flags.
    _________________________________________________________________

MIME: Reading a Message

  _Pine_ should be able to handle just about any MIME message. When a
  MIME message is received, _Pine_ 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.

  Starting with version 3.90, _Pine_ 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 _Pine_ 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 MAILCAPSenvironment variable is defined, _Pine_ will use that to
  look for one or more mailcap files, which are combined. In the absence
  of MAILCAPS, Unix _Pine_ will look for a personal mailcap file in
  ~/.mailcap and combine that with a system-wide file in /etc/mailcap.
  _PC-Pine_ will look for a file named MAILCAP in the same directory as
  the PINERC file, and/or the directory containing the PINE.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 _Pine_ sees a MIME message part tagged as type IMAGE, and _Pine_'s
  image-viewer configuration variable is set, _Pine_ will attempt to
  send that attachment to the named image viewing program. In the case
  of UNIX _Pine_, 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, _Pine_ 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 _Pine_ 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 _Pine_ will use its internal viewer to display
  it. This happens even if there is a mailcap description which matches
  this particular type. If it is labeled as having a character set other
  than the one you are using, it will still be displayed by the internal
  viewer (perhaps incorrectly), though you will get a warning message
  prepended to the message in the viewing screen. However, if you view a
  part of type "text/plain" from the ATTACHMENT INDEX screen, then _Pine_
  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 _Pine_ 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 currently supported.
    _________________________________________________________________

MIME: Sending a Message

  There are two important factors when trying to include an attachment
  in a message: encoding and labeling. _Pine_ 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, _Pine_ 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. _Pine_ 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 _character-set_ variable. If an attachment is ASCII (no
  8-bit characters) and contains no _ESCAPE, ^N, _or _^O_ characters
  (the characters used by some international character sets), 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 _character-set_ variable.

  All other attachments are unrecognized and therefore given the generic
  MIME label "application/octet-stream".
    _________________________________________________________________

New Mail Notification

  _Pine_ checks for new mail in the _INBOX_ and in the currently open
  folder every two and a half minutes by default. It used to be 30
  seconds instead of 150 seconds, but we increased it in order to reduce
  the load on large systems with lots of _Pine_ users. The value can be
  changed at compile-time in the pine/os.h file. This value can be
  changed with the variable mail-check-interval. A new mail check can be
  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 _Pine_, the notice will show the count of new
  messages and the sender of the most recent one.

  Questions have arisen about the interaction between _Pine_ and
  external mail notification routines (biff, csh, login). Firstly and
  unfortunately, we have found no PC based program that will check for
  email on an IMAP server when _PC-Pine_ is not running. If you find
  one, please tell us.

  The UNIX case is more complicated. _Pine_ sets the modification and
  access time on a file every time it performs a write operation (status
  change or expunge). You need to see which of these your email
  notification program is looking at to know how it will behave with
  _Pine_.
    _________________________________________________________________

NFS

  It is possible to access mail folders on _NFS_ mounted volumes with
  _Pine_, but there are some drawbacks to doing this, especially in the
  case of incoming-message folders that may be concurrently updated by
  _Pine_ and the system's mail delivery agent. One concern is that
  _Pine_'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 _Pine_
  sessions try to access the same mail folder from different hosts
  without using IMAP. Imagine the scenario: _Pine_-A performs a write
  that changes the folder. _Pine_-B then attempts to perform a write on
  the same folder. _Pine_-B will get upset that the file has been
  changed from underneath it and abort operations on the folder.
  _Pine_-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 _Pine_-B session when this
  happens is the last few status changes.

  If other mail readers besides _Pine_ 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 _Pine_ 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. _Pine_ 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. For example, NCSA telnet requires "capfile = PRN" in the
  _config.tel_ file. Attached-to-ansi printing doesn't work at all with
  the telnet provided with PC-NFS. 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 _Pine_ distribution.

  The three printer choices are for UNIX _Pine_ only. _PC-Pine_ can only
  print to the locally attached printer. All printing on _PC-Pine_ is
  done via ROM BIOS Print Services (Int 17h). After verifying the
  existence of a local printer via the BIOS Equipment-List Service (Int
  11h), it simply sends the message text, character by character, to the
  first printer found using ASCII CR and LF at the end of lines and
  followed by an ASCII FF. Note, some system adjustments using the PC's
  "MODE" command may be required if the printer is not on the first
  parallel port. _PC-Pine_ cannot generate PostScript, so printing to
  exclusively PostScript printers does not work.

  _PC-Pine_ for Winsock uses the MS-Windows printer interface. A _Pine_
  print command will bring up a standard MS-Windows printer dialog box.
    _________________________________________________________________

Save and Export

  _Pine_ users get two options for moving messages in _Pine_: _Save_ and
  _Export_. _Save_ is used when the message should remain ``in the _Pine_
  realm.'' Saved messages include the complete header (including header
  lines normally hidden by _Pine_), are placed in a _Pine_ folder
  collection and accumulate in a standard folder format which _Pine_ can
  read. In contrast, the _Export_ command is used to write the contents
  of a message to a file for use outside of _Pine_. 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 _Pine_ folder
  collection. Unless FullHeaderMode is toggled on, all delivery-oriented
  headers are stripped from the message. Even with _Export_, _Pine_
  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

  _Pine_'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-Pine_, 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 _Pine_ is used each month
  it will offer to archive all messages sent from the month before.
  _Pine_ 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

  Spell checking is available for UNIX _Pine_ only. We could not find an
  appropriate PC based spell checker to hook into _PC-Pine_. Even UNIX
  _Pine_ depends on the system for its spell checking and dictionary.
  _Pico_, the text editor, uses the same spell checking scheme as
  _Pine_.

  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. _Pine_ also respects the
  environment variable SPELL. The spelling checker reads its words from
  a standard dictionary on the system. Below is a description,
  contributed by Bob Hurt, of how you can create your own personal
  dictionary with additional ``correct'' words.

  Step 1:
         Make a file with all the words you want to include in your new
         dictionary. I did mine with one word per line in alphabetical
         order. Caps don't matter at all, as far as I know.
  Step 2:
         At the UNIX prompt, type "cat [word file] | spellin
         /usr/dict/hlista > [new dict name]" where [word file] is the
         file you just created and [new dict name] is the name of the
         new dictionary that _Pine_ will look at instead of the standard
         _/usr/dict/hlista._ I named my word file _.bobwords_ and my
         dictionary _.bobspell_ so I don't have to see them when I do a
         _ls_ command (_ls_ doesn't list "dot" files). I also put the
         above command into my _.alias_ file as the command _makedict_
         so I can add a word to my word file and easily recreate my
         dictionary. NOTE: the new dictionary is in something called a
         "hashed" format, and can't be read normally.
  Step 3:
         Check your new dictionary. At the UNIX prompt, type "cat [word
         file] | spellout [new dict name]" If you did everything
         correctly, it should just give you another prompt. If it lists
         any of the words in your file, something is wrong. I can try to
         help if all else fails.
  Step 4:
         Now you have to tell UNIX to use your dictionary instead of the
         standard one by setting the environment variable _SPELL_ to
         access your dictionary. Go into your _.login_ or _.cshrc_ file
         in your home directory (it doesn't seem to make a difference
         which one you use) and add the line

    setenv SPELL "spell -d [new dict name]"
         I also created an alias for _SPELL_ in my _.alias_ file so I
         can use the UNIX _spell_ command to spell-check a file outside
         of _Pine_. (The _.alias_ line is: alias spell 'spell -d [new
         dict name]')
  Step 5:
         Now you need to logoff and log back on to let UNIX look at your
         _.login_ (or _.cshrc_) file.

  Here is an alternative method suggested by Zachary Leber:

         Create a list (e.g. _.zachwords_) with the upper case followed
         by lower case words, sorted alphabetically.
         Add this line to _.cshrc_:

    setenv SPELL 'spell +/home/ie/rsa/.zachwords'
         The limitation here is that the path must be absolute (e.g.
         _+~/.zachwords_ doesn't work).
         My man pages for spell show this + flag to be an easy way to do
         the exception list. This way you don't have to bother with hash
         lists or rehashing, and it seems to work across several
         platforms.
    _________________________________________________________________

Terminal Emulation and Key Mapping

  _Pine_ has been designed to require as little as possible from the
  terminal. At the minimum, _Pine_ 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. _Pine_ 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. _Pine_ 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.

  _Pine_ handles screens of most any size and resizing on the fly. It
  catches SIGWINCH and does the appropriate thing. A screen one line
  high will display only the new mail notification. Screens that are
  less than ten columns wide don't format very nicely or work well, but
  will function fine again once resized to something large. _Pine_ sets
  an internal maximum screen size (currently 170x200) and decides to use
  either _termcap_ or _terminfo_ when it is compiled.

  On the input side of things, _Pine_ uses all the standard keys, most
  of the control keys and (in function-key mode) the function keys.
  _Pine_ avoids certain control keys, specifically ^S, ^Q, ^H, and _^\_
  because they have other meanings outside of _Pine_ (they control data
  flow, etc.) _^H_ is treated the same as the _delete_ key, so the
  _backspace_ or _delete_ keys always works 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 _Pine_ is in regular (non-function
  key) mode, _Pine_ 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. _Pine_ 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. _Pine_ 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. In some
  versions of _Pine_ before 4.00 there was a compile-time macro called
  TERMCAP_WINS which could be set to cause the _termcap_ or _terminfo_
  definitions to be used instead of the built in definitions. Beginning
  with 4.00 there is a hidden runtime feature which can be turned on to
  accomplish the same thing. The feature is called
  termdef-takes-precedence and it can be set in any of the _Pine_
  configuration files. Some arrow keys on old terminals send single
  control characters like _^K_ (one even sends _^\_). These arrow keys
  will not work with _Pine_. 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

  It is possible to configure an NCD X-terminal so that some of the
  special keys operate. Brad Greer contributes these instructions:

  1.
         In your _.Xdefaults_ file, include the following
         "translations", using lower hex values:

    Pine*VT100.Translations: #override \n\
    <Key>Delete: string(0x04) \n\
    <Key>End: string(0x05) \n\
    <Key>Escape: string(0x03) \n\
    <Key>Home: string(0x01) \n\
    <Key>Next: string(0x16) \n\
    <Key>Prior: string(0x19) \n\
    <Key>KP_Enter: string(0x18) \n\
  2.
         Start up _Pine_ from an _xterm,_ and specify a "resource name".
         This resource name will allow the user to specify resources for
         _Pine_ (that deviate from the defaults). For example, _xterm
         -name Pine -e pine &_ (the resource name _Pine_ corresponds to
         the translations just added in the _.Xdefaults_ file).

                     Notes for Porting and Modification

Porting Pine to Other Platforms

  Substantial effort has gone into making _Pine_/_Pico_ portable. There
  are still, of course, a number of machine dependencies. Some of the
  ports are well-tested and some are untested. In particular, the most
  heavily used ports are the Ultrix, AIX, NeXT, Windows, and Dec Unix
  ports.

  Each platform is given a three letter name (see the file
  doc/pine-ports). Make up a new one for your new port. We've attempted
  to bring all potential platform dependencies into the files:
  {pico,pine}/osdep/os-xxx.h, {pico,pine}/osdep/os-xxx.ic, and
  {pico,pine}/makefile.xxx, where _xxx_ is the three letter name of the
  port. Thus any new port will hopefully just result in new versions of
  these files and some notes for the _pine-ports_ file. There are
  separate dependencies in the c-client source, but that is handled in
  separate documentation there. Regrettably, the source code is also
  full of instances of _ifdef DOS_. Most of these are due to memory
  limit problems on _DOS_ as opposed to actual system dependencies.

  The makefiles are kept as simple and straight-forward as possible,
  because many previous attempts at automatically figuring out what to
  do seem to have become complex and ineffective in what they set out to
  do: which is to make compiling and installing the program easy. Each
  port is for a specific hardware/software platform, also because past
  attempts to generalize on versions of Unix or some CPU architecture
  don't seem to have gained much. Thus, there is a separate makefile for
  each platform that calls the appropriate compiler and linker with the
  appropriate flags. Most of these makefiles are pretty similar. The
  makefile also specifies which of the _os-xxx.c_ and _os-xxx.h_ files
  to use. It is the root from which most platform dependencies are
  selected. In most cases the makefile also defines a symbol named after
  the platform on which there can be dependencies in the source code,
  though we've tried to minimize relying on this where reasonable. When
  different "ports" are very similar, it is sometimes possible to use
  the same pine code (for example) with only a small change in the
  c-client or pico code. In those cases, that kind of dependency is
  reflected in the top-level _build_ script. The _build_ script can
  usually be used to invoke the various makes correctly. It may set some
  variables before running make so look to see what _build_ does before
  trying a make in one of the subdirectories. This is especially true if
  LDAP is being included.

  It is almost always easier to start with an existing port when trying
  to port to a new system. There is a port called _gen_ (generic) which
  may be a good starting point. On the other hand, if another port is
  close to what you want, start with it instead.

  The file pico/osdep/os-xxx.h contains most of the general platform
  dependent _#include_'s and _#defines_. There are a number of _Pine_
  configuration settings that are defined in pine/osdep/os-xxx.h, as
  well, such as the place it looks for certain files, defaults for the
  printer and folder names, the maximum screen size, and so on. Start by
  looking at the generic pico/osdep/os-gen.h file and comparing it to
  some of the specific os-xxx.h files there.

  The osdep/os-xxx.c files contain functions that are potentially
  platform dependent. Again, the idea is to gather all the dependencies
  in one place. We use a complicated looking method to produce the
  _os-xxx.c_ files from a set of included files. Each included file
  usually contains a single implementation method and we've found that
  there are usually only two or three different methods in the ports
  we've done so far. Hopefully, coming up with an os-xxx.c for a new
  port will usually be a matter of including the right set of these
  already written functions. This is done by writing a new os-xxx.ic
  file in the osdep subdirectories. Starting with the generic os-gen.ic,
  as you did with the os-gen.h file above, may be a useful strategy.

  We strongly encourage that no changes be made to the general source
  when porting and that all changes be contained in the system dependent
  files if possible. The object is to maintain source code integrity and
  assimilate ports to new platforms rapidly. The more conventional way
  to do this is with a large collection of _#ifdefs_. The problem with
  this is that adding a port for a new platform implies changing the
  source code for all the other platforms and thereby risks breaking
  them. (We readily admit that there are still too many _ifdefs_ in the
  code.)

  If you do port _Pine_ to a new platform we hope that you will send us
  the changes required so that we may attempt to include it in a later
  release. Thanks!
    _________________________________________________________________

Test Checklist

  The following is a checklist of some things to check when testing a
  new port:

  ___
         Sending mail, check that headers are correct
  ___
         Sending mail with attachments
  ___
         Sending mail with SMTP server
  ___
         Sending mail without SMTP server
  ___
         Sending mail with list of two SMTP servers, first one doesn't
         answer
  ___
         Replying to and forwarding a message
  ___
         Postponing messages under composition
  ___
         Composer operations
  ___
         Alternate editor, _enable-alternate-editor-implicitly_
  ___
         Make sure local user names are expanded
  ___
         Test spelling checker
  ___
         Catching of SIGHUP while message is being composed
  ___
         Setting of variables in .pinerc
  ___
         New mail notification. Should happen with _Pine_ idle to check
         timeouts
  ___
         Reading mail (attachments, MIME, MIME with mailcap viewers)
  ___
         Deleting, undeleting, expunging, sorting
  ___
         Expunge to empty folder
  ___
         Make sure that _~_ expansion works in config files
  ___
         Make sure that $VAR expansion works in config files
  ___
         Save message to folder, check error conditions such as
         permission denied
  ___
         Export message with FullHeaderMode on and off
  ___
         Checkpointing (see the section on checkpointing)
  ___
         Open IMAP and RIMAP folders
  ___
         Default-fcc on remote IMAP server
  ___
         Fcc-name-rule, fcc in addrbook (while composing)
  ___
         Test opening bogus folders: invalid format, no permission
  ___
         Open a USENET news group, list in folder-lister, read news,
         post news
  ___
         Command line arguments
  ___
         Change password
  ___
         Lock keyboard
  ___
         Address book operations (edit, delete, add, lists, whereis,
         composeto)
  ___
         ReadOnly address book
  ___
         Look at addrbook, change addrbook-sort-rule in Config, go back
         to addrbook screen
  ___
         No permission to write in same directory as addrbook, should
         create addrbook.lu in a temp directory
  ___
         Multiple address books
  ___
         Address book loops from one addrbook to another and back
  ___
         TakeAddr command with one address, with multiple addresses
  ___
         TakeAddr command with ReadOnly address books
  ___
         TakeAddr command with one of two address books ReadOnly
  ___
         Send mail with empty address book
  ___
         Config Screen operation, does pinerc get written?
  ___
         Make sure SIGTSTP, ^Z works
  ___
         Sent-mail pruning (set back _last-time-prune-questioned_
         variable)
  ___
         Printing using all three printer configurations, various
         screens
  ___
         View help text and news
  ___
         Folder list operations (rename, create, delete...)
  ___
         Saved-msg-name-rule
  ___
         Screen redrawing in various screens (^L)
  ___
         Window resizing in various screens
  ___
         Error messages for incorrect terminal types (try "foo" and
         "vt52")
  ___
         Reading of /usr/local/lib/pine.conf
  ___
         Fixing variables and features in /usr/local/lib/pine.conf.fixed
  ___
         Flag command (check message status changed in mail folder)
  ___
         Initial-keystroke-list
  ___
         Aggregate operations (save, delete, export, takeaddr, ...)
  ___
         Build xxx from scratch, build clean