



Alpha, SGI, Sun4/Solaris support.

Bug fixes:
 -- Fixed ADJUST-ARRAY to not flame out on arrays containing a zero-length
    dimension (hence having no elements whatsoever.)
 -- In SIGNAL, bind *break-on-signals* to NIL even before doing the type test
    so that we don't wedge the error system if the type is malformed or
    undefined.
 -- Fixed bugs with EOF handling in READ-LINE.
 -- In DEFINE-CONDITION, don't warn about probable error unless both initarg
    and initform are missing.
 -- In OPEN, fixed :direction :io :if-does-not-exist :create to actually
    create.
 -- Fix problem in LOAD-FOREIGN where (especially on SunOS), the failure to
    page-align loaded code caused errors when load-foreign was done more than
    once.
 -- In OUTPUT-INSTANCE, check for the layout being invalid before calling the
    print function, since the print function might error.
 -- Closing composite streams (broadcast, etc.) no longer closes the component
    streams. 
 -- Fixed pprint goof that didn't actually break anything, but wasted effort.
 -- (COERCE x 'FLOAT) now convert to a single-float (instead of being an
    error.)  Also, we now check that numeric coercions actually return a value
    of the specified type (which they might not if the type is not a symbol,
    e.g. (coerce 0 '(complex float)).  Possibly these should "do the right
    thing", but it seems better to error than quietly do the wrong thing.
 -- Fixed a bug in FLOAT-BIGNUM-RATIO that could cause an assertion failure
    when floating particular bignum ratios (or possibly reading particular
    values.)

Enhancements:
 -- LOOP is now the MIT/Symblics loop, so whatever it does is by definition
    correct and The Right Thing.
 -- PURIFY is now exported as EXT:PURIFY.  This function can greatly improve
    the GC performance of many large programs by moving code and static data
    into non-collected storage.  This is a "poor man's generational GC".
    Environment compaction now done by purify.
 -- Some reduction in the size of the image (and of GC scanned memory) from
    tweaks to build process.
 -- Binary input can now be done from string streams (from David Axmark.)
 -- Debugger no longer aborts printing of a frame when printing one arg gets an
    error (from Harris.)
 -- LOAD-FOREIGN support for HP/Ux (from TSM.)
 -- Add sap-ref-64 (only on Alpha).
 -- Changes to EVAL, ROOM and site-init to work better in a runtime core image
    (without the compiler loaded.)
 -- *BEFORE-SAVE-INITIALIZATIONS* is now actually done before saving.

Compiler:
 -- Fixed some problems with multiple values and cleanup code in byte
    compilation.  Also added EXT:*COMPILE-PROGRESS* printout.
 -- Fixed some problems with internal errors when a function was just
    declared to be FUNCTION.
 -- Now allows stream args to compile-file and doesn't attempt to constant-fold
    pathname functions (which depend on *default-pathname-defaults*.)
 -- Fixed a case where dead local function in top-level code could cause an
    internal error.
 -- Fix compiler-macro expansion to correctly handle macros that pass (by
    returning the unmodified form.)
 -- Fix spelling of :COMPILE-TOPLEVEL and :LOAD-TOPLEVEL in EVAL-WHEN.
 -- If compile-file is :block-compile T, the entire file is block-compiled as a
    unit (even if it contains embedded START-BLOCK/END-BLOCK declarations.)
 -- Virtually all of the compiler is now compiled without type checking, giving
    some space and speed benefit.

CLX:
 -- Merged with CLX R5.02 (no substantive changes).  
 -- In read-resources, trim off spaces, tabs, and "'s in #include file name
 -- If CLX is compiled when PCL is loaded (as is now done in the binary
    distribution), DRAWABLE, WINDOW and PIXMAP will be defined as PCL classes
    (which can be subclasses.)  This is compatible with various CLX-based
    toolkits.
 -- Fix some CONS declarations to be LIST because they aren't conses on the
    last iteration (when the body isn't executed.)
 -- Fix incorrect slot type declaration for DISPLAY-AUTHORIZATION-DATA.
 -- Changed holding-lock not to turn off GC, which could cause event handlers
    and other code to run for ling periods of time without garbage collecting.
    Instead we bind all the GC hooks to (), since it was their invocation that
    could cause bad recursive entry of CLX.

Hemlock:
 -- Fixed problem in Hemlock recursive error handler (hadn't been properly
    updated for ANSI conditions.)
 -- Add ignore handler for client-message events.
 -- Deleted some setting of hi::*hack-hunk-replace-line* to T, since we may
    want it explicitly disabled in the init file.
 -- Dylan mode now infix-oriented.

Motif interface:
 -- Fixed a bug in the generation of Interface.h which was preventing motifd 
    from being successfully compiled on HP/Ux, Solaris, ...
 -- use pcl::precompile-random-code-segments to minimize run-time compilations.
 -- Add INVOKE-TTY-DEBUGGER.  Don't try to invoke motif debugger if we didn't
    succeed in opening a connection.
 -- Print warning in status hook when server dies.
 -- Made server to fflush after all output so that we see motifd output
    when it is run on a pipe.
 -- Fixed severely broken INSPECT-CLOS-PANE according to patch from Marco
    Antoniotti. 
 -- Fix from Marco Antoniotti to actually remove handlers from the table in
    remove-event-handler.
 -- Fix to TOOLKIT-WRITE-VALUE to allow it to write either signed or unsigned
    word integers.
 -- Improved error recovery and internal error reporting.

PCL:
 -- Structure-object is now no longer shadowed in PCL.  Code that was using
    PCL::STRUCTURE-OBJECT will now work better.
 -- BUILT-IN-CLASS, CLASS-NAME, CLASS-OF and FIND-CLASS are once again exported
    from PCL.  This will cause a name conflict if anyone use-package's PCL, but
    this will at least warn about the distinction.  Probably you shouldn't
    USE-PACKAGE PCL for this reason, but you can now say PCL:FIND-CLASS instead
    of PCL::FIND-CLASS.  It is also possible to use SHADOW or SHADOWING-IMPORT
    to resolve the conflict.
 -- Fix to update-instance-for-different-class.
 -- When updating arg-info slots, check to see if the value is already there.
    This can reduce non-shared pages.
 -- Improved handling of invalid structure instances.
 -- Fix a problem with PCL clobbering byte functions when setting their names.
 -- New parameterized version of use-dispatch-dfun-p which avoids pessimizing
    GFs with many methods.
 -- Fix to :after methods on accessor functions.  Also, fixed some problems
    with the result of get-secondary-dispatch-function1 when there are no
    methods.
 -- Add compiler-macro for pcl:find-class which does lookup at load-time
    when the name is a constant.
 -- Definitive tweak for handling function-p in
    compute-secondary-dispatch-function1 which avoids an infinite recursion. 
 -- When signalling an incompatible superclass error, added a hint to the
    message to check out VALIDATE-SUPERCLASSES.

Lisp code:
 -- Fixed Sparc GC bug fix (L2 never scavenged.)
 -- On all non-Mach platforms, changed the default for CMUCLLIB to be
    /usr/local/lib/cmucl/lib.
 -- On SunOS, added "dynamic segments" patch which prevents the "out of
    segments" errors that could happen when a Lisp memory management table
    overflowed.

Build tools:
 -- Fix compilation of motif interface to actually generate the C header files
    Interface.h, etc.
 -- Some changes to reduce compiler warnings
 -- In compile-all, -clean and -noupdate have been flushed.  -clean is now
    done by the clean-build script. 
