                    VMS readme for PINE/C-CLEINT/PICO
                         ========================

Building
========

  There are three executables:
Pico/PICO.EXE: This is the stand-alone version of the editor.
C-Client/MTEST: Testing program for debugging purposes.
Pine/PINE: The pine...

In order to build SET DEF into the top directory (i.e. the one above PINE.DIR,
PICO.DIR, etc.), copy [.CONTRIB.VMS]VMSBUILD.COM to there and then @VMSBUILD.
It will rename the C-CLient directory and then compile Pico, C-Client and Pine.

Optional parameters to the VMSBUILD command:

NETLIB - Use the Netlib library. It must be preloaded into [.NETLIB]NETLIB.OLB
MULTINET - Call Multinet's transport directly.

If more than one option is used - separate them with coma and no spaces.

There are a few warnnings during the link - ignore them...
On VAX we have to link the objects themselves and can't use libraries since the
linker/librarian lose the global variables; on AXP it is ok...


Using
=====
  All the user needs is the PINE.EXE; Pine reads the mail from the user's
VMS/MAIL files and send outgoing mail either via mail routines using some
foreign protocol or via direct SMTP to some SMTP server (I preffer this
metod). You use the latter by defining SMTP-SERVER field with some host.
If you do not set it you must define PINE_MAIL_PROTOCOL to the prefix of
the foreign protocol used. For example, if you use SMTP% you have to define
it to SMTP.
The global PINE configuration file (if needed) is located at
SYS$MANAGER:PINE.CONF; if you want to recompile it with a different name then
modify PINE/OS_VMS.H;


Why TcpIp communication is needed?
==================================
  It is not really needed, but helps much. It is used in three places:
1. Sending mail: You can either send mail using the xxx% mechanism by defning
   PINE_MAIL_PROTOCOL; in this case no TcpIp is needed.
   you can use another mechanism: Don't define the above but set some SMTP
   server node name in PINE.CONF or .PINERC. In this case you need some
   SMTP package.
2. PINE can read NEWS via the NNTP protocol which runs over TcpIp...
3. Remote nodes (usually PC) can access the IMAP daemon and PINE can access
   remote IMAP servers using TcpIp.


Restrictions
============
1. In order to not modify the source too much the handling of the special
   INBOX folder was not modified. Hence, it always try to open the (empty)
   INBOX folder instead of NEWMAIL.
   It is possible to define in the system's wide PINE.CONF that
   inbox-path=NEWMAIL. In this case NEWMAIL will be opened when PINE is
   started. However, the user must not then switch to another folder as long
   as NEWMAIL has items.
2. WASTEBASKET folder is not used.
3. .PINERC and .ADDRBOOK are fixed to the user's login directory and cannot
   be defined to be elsewhere (the definition is ignored).
4. Messages cannot be postponed.
5. FCC cannot be used.


IMAPD
=====
  IMAPD of version 3.89 is available with the old Pine VMS port from
VMS.HUJI.AC.IL; the current version of IMAPD will be ported soon.


NETLIB
======
  NETLIB can be obtained from PUBLIC.TGV.COM:/MADISON/NETLIB. NETLIB supports
all the common TcpIp packages like Multinet, UCX, Fusion, Wollongong, etc.


Suggested PINE.CONF file.
=========================
here is the PINE.CONF file we use here. Default-FCC and Folder-collections MUST
be defined as is here; if not (or if missing), Pine won't work correctly.

# PINE.CONF for the Hebrew University.

user-domain=vms.huji.ac.il

smtp-server=vms.huji.ac.il

image-viewer=xv

inbox-path=NEWMAIL

default-fcc=""

folder-collections=SYS/[]


Notes:
=====
1. Due to the readonly definition in the source files we use an external
   #define to redefine it to something else. Due to that CTYPE.H fails, so
   we use a private copy of it.
