release-21a.txt 5.28 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
========================== C M U C L  21 a =============================

The CMUCL project is pleased to announce the release of CMUCL 21a.
This is a major release which contains numerous enhancements and
bug fixes from the 20f 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 multi-methods and a meta-object 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:
  * Known issues:

  * Feature enhancements
Raymond Toy's avatar
Raymond Toy committed
21 22
    * The darwin/ppc port can create executables now.  Current
      implementation is rather buggy, though.
23 24 25

  * Changes
    * Micro-optimize SCALE-FLOAT to do multiplication when possible.
Raymond Toy's avatar
Raymond Toy committed
26
    * Update to ASDF 3.1.5.
27
    * The external-format :UTF is no longer an alias for :UTF-8.
Raymond Toy's avatar
Raymond Toy committed
28
    * :ELF feature added for solaris.
Raymond Toy's avatar
Raymond Toy committed
29 30 31 32 33 34 35 36 37 38 39
    * LISP:WITH-STRING-CODEPOINT-ITERATOR added to iterate over the
      codepoints in a string. This works the same as
      WITH-HASH-TABLE-ITERATOR.
    * LISP:WITH-STRING-GLYPH-ITERATOR added to iterate over the glyphs
      in a string. Works like WITH-HASH-TABLE-ITERATOR.
    * LOOP supports new extended keywords
      * (loop for cp being the codepoint of string ...)
        * codepoints, code-point, and code-points are aliases for
          codepoint. 
      * (loop for g-string being the glpyh of string ...)
        * glyphs is an alias for glpyh.
Raymond Toy's avatar
Raymond Toy committed
40 41 42 43 44 45
    * The UNIX package has been split into two parts. By default the
      UNIX package contains just enough to build CMUCL.  If you want
      the rest of the functionality, use (require :unix).
    * Added clx-inspector module.
    * ASDF documentation included in html, info, and pdf formats in
      contrib/asdf/doc/.
46 47 48 49
    * If -quiet is given, don't print out the herald, even if the user
      init files add things to the herald. (Previously, these would
      get printed out.)  Also, -quiet no longer removes the herald
      items; you can sill print out the entire herald using 
Raymond Toy's avatar
Raymond Toy committed
50

51 52

  * ANSI compliance fixes:
Raymond Toy's avatar
Raymond Toy committed
53
    * See Issue #3, #4, #5, #7.
54 55

  * Bugfixes:
Raymond Toy's avatar
Raymond Toy committed
56 57 58
    * On ppc machines with clock speeds over 2 GHz or so,
      LISP::CYCLES-PER-TICK is no longer negative. This caused the
      cycle count from TIME to be negative.
Raymond Toy's avatar
Raymond Toy committed
59 60 61 62 63 64 65 66
    * EXTERN-ALIEN-NAME unified not to prepend an underscore if :ELF
      is a *FEATURE*.
    * Motifd will work as either a 32-bit or 64-bit app.
    * Various bugs in clm fixed:
      * Occasional RXmStringGetLtoR crash fixed.
      * Motifd text callback fixed.
    * Support for 64-bit time_t on NetBSD added. This allows cmucl to
      run on more recent versions of NetBSD.
Raymond Toy's avatar
Raymond Toy committed
67
    * The empty package LOOP has been removed.
Raymond Toy's avatar
Raymond Toy committed
68 69 70 71 72 73 74 75 76 77 78 79
    * Executables on x86 can be created once again.  This ability was
      inadvertently broken when x86 support was removed.
    * (log number base) no longer generates an error when one of the
      args is a double-double.
    * Fix bug in kernel::dd-%log2 which returned the wrong value.
    * More accurate values for (log x 2) and (log x 10):
      * Add log10 implementation for double-doubles so that log10(10^n)
	= n for integer n.
      * An accurate log2 function added so that log2(2^n) = n.
    * All unit tests pass successfully on darwin/x86, linux/x86, and
      solaris/sparc.  Darwin/ppc fails most of the tests dealing with
      exceptions for the special functions.
Raymond Toy's avatar
Raymond Toy committed
80 81
    * Fix compiler warnings in motif about destructive functions
      discarding their results.
Raymond Toy's avatar
Raymond Toy committed
82 83 84 85
    * Move back some UNIX functionality back into the core.  asdf
      wants unxi-getenv and slime wants unix-execve and unix-fork.
    * Increase *ERROR-PRINT-LINES* to 10.
    * Updated FreeBSD 9.3 support for building motifd.
Raymond Toy's avatar
Raymond Toy committed
86 87
    * Issue #4 updated:
      * ELT did not terminate when the index was negative.
88 89

  * Trac Tickets:
Raymond Toy's avatar
Raymond Toy committed
90
    * Ticket #54 fixed.
Raymond Toy's avatar
Raymond Toy committed
91 92 93
    * Ticket #95 fixed.
    * Ticket #110 fixed.
    * Ticket #112 fixed.
94

Raymond Toy's avatar
Raymond Toy committed
95
  * Gitlab tickets:
Raymond Toy's avatar
Raymond Toy committed
96 97 98 99 100 101
    * Issue #1: Handle funcall in compiler macro functions.
    * Issue #5: Give better error message when using T in CASE.
    * Issue #4: ELT on lists does not signal an error when given
      invalid index.
    * Issue #3: Shadowing compiler macro functions.
    * Issue #7: Local functions and get-setf-expansions
Raymond Toy's avatar
Raymond Toy committed
102
    * Issue #8: Constants and top-level code
Raymond Toy's avatar
Raymond Toy committed
103

104
  * Other changes:
Raymond Toy's avatar
Raymond Toy committed
105 106
    * Cross compile scripts from x86 to sparc and ppc updated to work
      again to cross-compile from the current snapshot.
Raymond Toy's avatar
Raymond Toy committed
107 108
    * motifd is a 64-bit binary on linux again, instead of 32-bit.

109 110 111 112

  * Improvements to the PCL implementation of CLOS:

  * Changes to building procedure:
Raymond Toy's avatar
Raymond Toy committed
113
    * Dependencies for motifd are autogenerated.
Raymond Toy's avatar
Raymond Toy committed
114
    * Cross compile from darwin/x86 to solaris/x86 fixed to work
Raymond Toy's avatar
Raymond Toy committed
115 116
      correctly.

117 118 119 120 121 122 123 124 125 126 127


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

See <URL:http://www.cmucl.org> or
<URL:http://trac.common-lisp.net/cmucl> for download information,
guidelines on reporting bugs, and mailing list details.


We hope you enjoy using this release of CMUCL!