@comment -*- Mode:Text; Package:USER -*- @library(gsi-patbo) @library(lisp) @tolerance 300 @overfullrule 0in @setpagewidth 6.25in @textbodyindent = 0.5in @begin(document) @baselineskip 13pt @parskip = 0.2in @parindent = 0in @secheadingskip .25in @defindex cp @synindex fn cp @synindex vr cp @synindex fl cp @synindex kw cp @settitle Lambda 4.0 LISP @setx titlecomment Release Notes / Installation Guide @setx gsipart Part 3342-0000 (Rev 8 Preliminary) - @datestamp @headings off @titlepage @copyrightpage @format @ZLP @end(format) @sp 2 Comments on this manual, and on GigaMos documentation in general, should be addressed to: @display GigaMos Systems, Inc. 675 Mass. Ave. Cambridge, MA 02139 Attn: Documentation @end(display) @end(copyrightpage) @setchapternewpage odd @headings off @headings on @evenheading @thispage@|@|@thistitle @oddheading @thistitle@|@|@thispage @chapter Introduction This manual accompanies the Release 4 LISP update distribution kit. The kit consists of the following parts: @sp 1 @settabs 5 @columns @< @\ @i(Part #) @\ @i(Description) @\ @\ @i(Material) @cr @sp 1 @< @\ (3338-0000) @\ Release 4 LISP update kit: @cr @< @\ @ 3338-9900 @\ @ @ Release 4 Cover Letter @\ @\ letter @cr @< @\ @ 3339-0000 @\ @ @ Release 4 Band/Microcode Tape @\ @\ tape @cr @< @\ @ 3340-0000 @\ @ @ Release 4 Options Tape @\ @\ tape @cr @< @\ @ 3341-0000 @\ @ @ Release 4 Sources Tape @\ @\ tape @cr @< @\ @ 3342-0000 @\ @ @ Lambda 4.0 LISP Release Notes @\ @\ manual @cr @< @\ @ 3343-0000 @\ @ @ Lambda Networking Guide @\ @\ manual @cr @cleartabs @sp 1 Note that three tapes are included in the kit. The LISP files that were previously provided on one tape (``the sources'') have been distributed on two tapes for Release 4: @enumerate @csubindex[LISP options][tape contents] @item The @i(``Release 4 Options Tape'') contains the software systems that are frequently loaded and used, including: @include options @cindex[LISP sources] @item The @i(``Release 4 Sources Tape'') contains the @l(".LISP") files that make up most of the ZetaLISP-Plus@tm@ system software; these are provided for the users' reference, to assist in such operations as diagnosis of programming problems. @end(enumerate) The system manager should determine from the description above what tapes need to be restored. The restoration procedures are described separately, further in this document. This update kit is all that is required to upgrade a system to Release 4, provided that the following requirements are met: @table 3 @cindex[software prerequisites] @item PREREQUISITE SOFTWARE - It is not necessary to load a prior release of LISP software before loading Release 4. You can update a blank system, or one that has been running Lambda LISP software (Release 2, 3, or 4) previously. However, the Lambda @ii[must have been updated with a Release 3 SDU ``boot tape'']. @cindex[boot tape] The best way to confirm that the system disk has been updated with Release 3 SDU software is to run the @l(load) command at the SDU. Use the @l(print) command to inspect the disk label. The LISP label must be located on cylinder 1. Verify that there is a partition named @l(UNX6); this is the partition that contains the Release 3 SDU software. @b[If the system has not been upgraded with a Release 3 boot tape,] do not proceed with the installation of Release 4. For information on upgrading with a boot tape, see the @i(Lambda Operations Manual). @cindex[backups] @item BACKUPS - Customers who have been running a prior release should make full backups of their LISP file system(s) and load band(s). The procedure for performing full backups is documented in the @i(Tape Software Manual). @item INSTALLING SOFTWARE ON A BLANK DISK (OR NEW SYSTEM) - Software installation on a blank disk is performed with the SDU @l(load) program. See the @i(Lambda Operations Manual) for the complete procedure. Use the @i(``Release 4 Band/Microcode Tape'') in place of the Release 3 band tape mentioned in that manual. @item FREE DISK PARTITIONS - Loading the LISP run-time software from the @i(``Release 4 Band/Microcode Tape'') uses up one of the available load (``LOD'') bands and two of the microcode (``LMC'') bands on the disk. Make a backup of any Release 3 load bands that you may need to use in the future. If you have customized site files, or if you load optional systems, you will have to save the updated LISP world to a second load band. It is possible to @l(disk-save) on top of the current load band, but this is not recommended. The procedure for saving a LISP load band is explained in the installation instructions later in this manual. @item FREE FILE SPACE - A significant quantity of file space is used up when the LISP software (the options and/or the system sources) is restored. Select the desired options carefully, and estimate the amount of file space remaining before proceeding to load the optional files. @itemize - @item The @i(Release 4 LISP Options) files occupy about 9,000 blocks. @item The @i(Release 4 LISP Sources) files occupy about 12,000 blocks. @end(itemize) List a directory on the system host to verify that there is sufficient free space. Note the text @l("Free=12010") displayed in the following example: @smalllisp (listf "LM:~;") MASTER: ~; *.*#* Free=12010, Reserved=10, Used=48000 (12 pages used in ) : OUR-SITE.DIRECTORY #1 3 DIRECTORY ! 05/27/88 13:45:45 pld REL.DIRECTORY #1 1 DIRECTORY ! 11/10/86 19:51:02 rel TMP.DIRECTORY #1 5 DIRECTORY ! 07/20/88 23:01:51 pld : @end(smalllisp) In this example, there are 12010 free blocks. This is enough space to restore all the options, @ii(or) the sources, but not both. @end(table) @chapter New Features and Improvements Release 4 includes hundreds of bug fixes and improvements throughout the system. The sections in this chapter describe the most visible and significant changes. @need 1000 @section LISP Language Features @subsection CommonLISP @include cltl @need 1000 @subsection ZetaLISP-Plus @include zetalisp @need 1000 @subsection Format @include format @need 1000 @section LISP Listener Enhancements @include listeners @need 1000 @section File System @include file-system @need 1000 @section ZMacs @include zmacs @need 1000 @section Networking Software @cindex[networking software] There are significant changes and enhancements in the Lambda networking software. The new @i(Lambda Networking Guide) (included with this release) contains release notes that explain the major improvements. These release notes also explain the changes required for proper network configuration (``site files''). The second section of the @i(Lambda Networking Guide) provides a comprehensive guide to networking configuration, operations, and applications. @need 1000 @section Operating System @include internals @need 1200 @section Windows and Interfaces @include windows @need 1200 @section Utilities The following is a summary of improvements to utilities and interfaces: @enumerate @item Various enhancements to the Site Editor have been made to improve the interface and solve known problems. @item The @l(:IMAGEN) printer driver has been enhanced. See the @i(Lambda Networking Guide) for further information. @item Two new (experimental) Tape system formats, ``TANALYZ-FORMAT'' and ``TAR-FORMAT'', have been implemented. @item The Kermit window has been enhanced, and known problems with the SDU serial ports have been resolved.@cindex[Kermit] @item Various enhancements to the Window-Maker have been made to improve the interface and solve known problems.@cindex[Window-Maker] @end(enumerate) Some of these improvements are discussed further, below. @need 1200 @subsection Site Editor The Site Editor is not loaded in the default band; it can be restored and loaded from the @i(``Release 4 Options Tape'') (see below). Once it is installed, the Site Editor can be invoked by executing @l[(sited:sited)], or by pressing @syson[@gkey-E]. @cindex[site editor] The major Site Editor commands are now grouped under logical headings. This new configuration is invoked by default, but the wide-area configuration that was provided in Release 3 is still available. Clicking on the menu command @mouseditem(Configure Window) toggles between the two configurations. A new command is provided, @mouseditem(Point to Site Files), which prompts the user for the parameters to execute @l(si:set-sys-host). Use this function to point to your set of site files. See the @i(Lambda Networking Guide) for further information about @l(si:set-sys-host). @need 1200 @subsection Kermit @cindex[Kermit] Kermit is not loaded in the default band; it can be restored and loaded from the @i(``Release 4 Options Tape'') (see below). Once it is installed, Kermit can be invoked by pressing @syson[K]. The major Kermit commands are now grouped under logical headings. Clicking on the menu command @mouseditem(Configure Window) toggles between two configurations, varying the size of the terminal emulator window. The command @mouseditem[Serial Port] prompts the user for the parameters for initializing the serial port. This is a modified version of the @mouseditem[Set Baud Rate] command in earlier releases. Serial port ``open forms'' that were not fully implemented have been removed from the command menu. A new Kermit parameter under @mouseditem[Review Parameters] determines the enabling of XON/XOFF (software flow control) on the serial port lines. The option, @l(*sdu-serial-xon-xoff-p*), is enabled by default; software flow control is commonly used to connect terminals and personal computers to the Lambda serial ports. @subsection Spelling Checker The Spelling Checker may be restored from the @i(``Release 4 Options Tape'') and installed as the ``ISPELL'' system. With the spelling checker installed, ZMacs offers a useful command interface. @cindex[spelling checker] To check the spelling of a particular word from ZMacs, position the cursor on or near the word and press @meta[$]. If the word (or its root) is found, a message to this effect is printed in the ZMacs echo area, along with its derivation, if any. If the word cannot be found, valid alternatives are listed in the echo area. To select one of the displayed alternatives, press the corresponding numeric key. Press @spacekey to leave the word ``as is''. Press ``R'' to replace the word with text you type in the mini-buffer; ZMacs will replace the word in the buffer. @group The LISP interface function @l(spell:spell-word) is also provided: @defun spell:spell-word word &optional (start 0) end The interface to the spelling checker. @i(word) is a string containing the word to be checked. The return value can be: @itemize @item The input @i(word): The word was found either in the system dictionary or your private dictionary. @item Another word: This string, derived by stripping suffixes from the original word, was found in the system dictionary. @item A list of words: These strings are words that are ``close'' to the original word. They are capitalized like the original word. @item NIL: Neither the original or any near misses could be found. @end(itemize) @end(defun) @end(group) @need 1200 @subsection Inspector INSPECTing an instance and modifying a slot that was not listed in the Flavor's :settable-instance-variables no longer causes the error, "The object received a :set ... message which went unclaimed." The message was accurate, but misleading, as INSPECT proceeds to set the instance variable by another method. @need 1200 @subsection New Tape Formats Two new tape formats have been implemented. Their purpose and use is explained below. To invoke the menu-driven interface to the tape software, press @syson[B]. To select a tape format, click left with the mouse on the current format -- by default, @mouseditem[LMFL-FORMAT] -- displayed under the column marked @i(Selected Format). This will bring up a menu of supported tape formats; click to select the desired format. At this point you may be prompted to set any options that are specific to the selected tape format. You can always return to the default @mouseditem(LMFL-FORMAT) by right-clicking on the currently selected format. When you use the tape software functions in LISP (such as @l(tape:list-files)), you can also select a specific tape format by binding the variable @l(tape:*selected-format*). Use the function @l(tape:parse-format) to obtain the flavor object corresponding to a tape format, and @l(tape:set-format-options) to set options for the selected format. @defvar tape:*selected-format* The currently selected tape format. The binding of this (as a special variable) affects the behavior of most tape software functions. @end(defvar) @defun tape:parse-format &rest init-options Takes a format name, flavor-symbol, or format object and returns a format object initialized according to INIT-OPTIONS. @end(defun) @defun tape:set-format-options &optional options &key (format-spec tape:*selected-format*) Set the options of a particular format. Options should be a list of the form ((: