XLISP-PLUS 3.05 (and XLISP 1.4) for OpenVMS VAX 7.3 -- installation kit
=======================================================================
Built 14-OCT-2026 with DEC C (Compaq C) 6.4 on a VAXstation 4000/90 by
Douglas P. Fields, Jr. (symbolics@lisp.engineer).  Nothing in this kit needs VAX C.

WHAT IT IS
  XLISP is David Betz's small Lisp with its own object system (classes and messages).
  XLISP-PLUS 3.05 is Tom Almy's Common-Lisp-flavoured development of XLISP 2.1: bignums,
  ratios, complex numbers, structures, &key arguments, FORMAT, sequences, and more.
  XLISP 1.4 (1985) is the very small original (integers only, no FORMAT), kept as a
  historical curiosity and called XLISP14.

LICENCE (read LICENSE.TXT): "Permission is granted for unrestricted non-commercial use."
  Do not use this kit commercially.

WHAT IS IN THE SAVESET
  XLISP.EXE   XLISP-PLUS 3.05 (new OpenVMS system module, see SOURCES.TXT)
  XLISP14.EXE XLISP 1.4 (unchanged 1985 sources, built with DEC C)
  [.LSP]      the XLISP-PLUS Lisp library (INIT.LSP and the examples that come with it)
  [.XLISP14]  the 1.4 library (INIT.LSP, OBJECT.LSP, PROLOG.LSP, TRACE.LSP, FACT.LSP)
  [.DOC]      text documentation (XLISPDOC.TXT, LISP-TUT.DOC, XLISPINS.DOC, READ.ME,
              READMEUPD.TXT, XLISP14.DOC)
  [.EXAMPLES] five example programs with expected output and RUN_EXAMPLES.COM
  XLISP_SETUP.COM, XLISP_INSTALL.COM, XLISP_UNINSTALL.COM, README.TXT, LICENSE.TXT, SOURCES.TXT

INSTALL (as SYSTEM; needs SYSPRV; nothing else on the system is touched)
  $ @XLISP_INSTALL                 ! finds XLISP_VAX_*.BCK next to it; REPLACE as P2 to reinstall
  Files go to SYS$COMMON:[SYSLIB.XLISP], owner [1,4], world read/execute.  No INSTALL, no
  rights identifier, no SYSTARTUP/SYLOGIN/SYSUAF change.  A manifest of every file
  (name, size, revision date) is written; the installer ends with a smoke test.
UNINSTALL
  $ @SYS$COMMON:[SYSLIB.XLISP]XLISP_UNINSTALL [CHECK]
  Removes only the files recorded in the manifest and still unchanged; CHECK only lists.

USE (each user, once per login or from LOGIN.COM)
  $ @SYS$COMMON:[SYSLIB.XLISP]XLISP_SETUP
  $ XLISP                      ! read-eval-print loop; (exit) or Ctrl/Z to leave
  $ XLISP "-b" MYFILE.LSP      ! load MYFILE.LSP; an uncaught error ends the program
  $ XLISP14                    ! the 1985 version
  Switches must be in quotes (DCL changes case).  "-b" means "batch": any uncaught
  error ends the program instead of entering the break loop; at end of input it exits.
  Ctrl/C returns to the top level.  Ctrl/Y returns to DCL (the program is only
  suspended: CONTINUE resumes it, any other command or LOGOUT ends it; no process is left).
  Ctrl/Z at the prompt ends the program (in a break loop it first returns one level).
  ERRSET catches errors only when *BREAKENABLE* is NIL (see EXAMPLES]FILEIO.LSP).
  XLISP looks for INIT.LSP and for LOAD file names without a directory in XLPATH:
  (the logical name XLPATH, set by XLISP_SETUP to the .LSP directory unless you defined
  it; a search list works) and then in the current directory.
  Calling DCL:   (system "DIRECTORY")   returns T for an odd (success) VMS status,
  else the status number.  Examples: @SYS$COMMON:[SYSLIB.XLISP.EXAMPLES]RUN_EXAMPLES.

THE VMS-SPECIFIC BEHAVIOUR (what the new system module does)
  * Input is read a line at a time; the terminal driver echoes and edits it.
  * Floating point is G_floating (range 1E308, as on IEEE machines).
  * File names are VMS names (logical names, devices, directories, versions).
  * (system "") is an error (no interactive subprocess is ever left behind).
  * GET-KEY and POPEN are not available.  Workspace SAVE/RESTORE are untested.
