========================== C M U C L  19 e =============================

[--- WORK IN PROGRESS --- DO NOT DISTRIBUTE ---]

The CMUCL project is pleased to announce the release of CMUCL 19e.
This is a major release which contains numerous enhancements and
bugfixes from the 19d release.

CMUCL is a free, high performance implementation of the Common Lisp
programming language which runs on most major Unix platforms. It
mainly conforms to the ANSI Common Lisp standard. CMUCL provides a
sophisticated native code compiler; a powerful foreign function
interface; an implementation of CLOS, the Common Lisp Object System,
which includes multimethods and a metaobject protocol; a source-level
debugger and code profiler; and an Emacs-like editor implemented in
Common Lisp. CMUCL is maintained by a team of volunteers collaborating
over the Internet, and is mostly in the public domain.

New in this release:


  * Feature enhancements:

  * ANSI compliance fixes:
    - BOA constructors with &AUX variables are handled better now.
    - SHADOW accepts characters now.

  * Bugfixes:
    - Floating-point traps are now handled on ppc.  Previously, no
      traps were signalled and SET-FLOATING-POINT-MODES did nothing.
    - FILE-POSITION no longer returns negative values for mapped
      file-simple-stream's.
    - Potential Version numbers that start with a leading 0 are not
      treated as version numbers.  Hence, "foo.~1~" has name "foo",
      type nil, and version 1, but "foo.~01~" has type "~01~" and
      version :NEWEST.
    - Converting negative rationals to double-double-float's doesn't
      produce wrong answers anymore.
    - A bug in type derivation for EXPT has been fixed.  (expt x y)
      for x of type (double-float (0d0) 1d0) and y of type
      (double-float (0d0)) now returns (or (member 0d0) (double-float
      (0d0) 1d0)) instead of (double-float 0d0 1d0), i.e., -0d0 is not
      in the range.
    - On sparc, the decoding of a trapping FP instruction is correct
      now.  Previously the wrong instruction was decoded, which
      produced the wrong operation and operands in the arithmetic
      error handler.
    - Conversion of bignums to double-double-floats preserves more
      bits of the bignum now.  This allows for read/print consistency
      for this particular case.  (The general case is still broken.)
    - (float <negative bignum> 1w0) no longer returns a positive
      result.
    - Some issues with creation of DOUBLE-DOUBLE-FLOAT and (COMPLEX
      DOUBLE-DOUBLE-FLOAT) have been fixed on sparc, ppc, and x86.
      These seem to work, except there appears to be some bugs on x86
      when compiling at speed 3 and safety 0.
    - (INTEGER-DECODE-FLOAT <double-double-float>) was sometimes
      returning the wrong integer value because the two components had
      the wrong sign.
    - Some issues with debugger printing out DOUBLE-DOUBLE-FLOATs and
      (COMPLEX DOUBLE-DOUBLE-FLOAT)'s have been fixed.

  * Trac Tickets:
    - #8 fixed so logs of bignums and ratios that won't fit into a
      float can be computed, instead of signalling an error.

  * Other changes:

  * Improvements to the PCL implementation of CLOS:
    - Forward-referenced classes are allowed.

  * Changes to rebuilding procedure:

This release is not binary compatible with code compiled using CMUCL
19d; you will need to recompile FASL files. 

See <URL:http://www.cons.org/cmucl/> for download information,
guidelines on reporting bugs, and mailing list details.


We hope you enjoy using this release of CMUCL!

