========================== C M U C L  19 f =============================

[--- WORK IN PROGRESS ---]

The CMUCL project is pleased to announce the release of CMUCL 19f.
This is a major release which contains numerous enhancements and
bugfixes from the 19e 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:
    - ~R supports many more cardinal names.
 
  * ANSI compliance fixes:
    - Fix bug in backquote printer.  If the variable is @foo, we want
      to print ", @foo" not ",@foo".  Similarly, for .foo, we want to
      print ", .foo" instead of ",.foo".
    - Fix merging of version in MAKE-PATHNAME.  If the pathname name
      is given, the version is not affected by the version in the
      default pathname.
    - RENAME-FILE now creates defaulted-new-name from merging new-name
      with the original filespec.  This is an incompatible change from
      the previous version which created defaulted-new-name from
      merging the new-name with the truename of filespec.  Also, a
      logical pathname should be returned if new-name is a logical
      pathname. 

  * Bugfixes:
    - Compiler can now derive the rank of an array, even if the array
      is not simple.
    - Fix off-by-one bug in ~R which prevents printing numbers from
      10^63 to 10^66-1.  10^63 is a vigintillion.
    - The compiler and interpreter should now handle slot-value the
      same.  Previously, different results were returned for things
      like (slot-value foo :a).
    - UNIX-GETGRNAM is now defined for Darwin (x86 and ppc).
    - UNIX-GETPWUID is defined for all BSD systems.
    - Type-derivation for EXPT no longer causes errors in some
      situations.  The computed bounds were of the wrong type for the
      resulting type specifier.
    - Pathname printer no longer produces an error for (MAKE-PATHNAME
      :HOST NIL :TYPE "foo").  It returns #P(:HOST NIL :TYPE "foo")
      now. 
    - Type derivation for DOUBLE-DOUBLE-FLOAT arithmetic should be
      working.  Previously, all arithmetic operations would just
      return DOUBLE-DOUBLE-FLOAT even though the compiler should have
      been able to figure out a tighter result.
    - When SCALE-FLOAT would underflow, it would always return 0f0,
      instead of a floating-point zero of the correct type.
    - Fix some issues in creating the debug arglist string when the
      arglist contains items that can't be printed readably.
    - DIRECTORY is now faster for directories with a large number of
      files.  
    - RANDOM is now much faster on all platforms for numbers upto
      #xffffffff.  This is an incompatible change from previous
      releases because the numbers produced may be different from
      before.  
    - The small bias in RANDOM for integer args up to 32 bits long
      should now be gone.

  * Trac Tickets:
    - #16: Read-time hash-table issue
      Fixed.

  * Other changes:
    - IS1, IS2, IS3, and IS4 are recognized character names for the
      ASCII control codes US, RS, GS, FS, respectively.
    - Added OPEN-NETWORK-STREAM and ACCEPT-NETWORK-STREAM functions.

  * Improvements to the PCL implementation of CLOS:
    - The compiler and interpreter should handle SLOT-VALUE the same
      way.  Previously, (SLOT-VALUE obj :a) would behave differently
      in the compiler and interpreter.
    - Some issues with get-accessor-method-function and
      slot-value-using-class have been fixed.
      Get-accessor-method-function was causing an error to be signaled
      incorrectly.

  * Changes to building procedure:

This release is not binary compatible with code compiled using CMUCL
19e; 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!

