News

For the latest and most up-to-date news, also look at CMUCL Wiki.

Snapshot 2012-10
The 2012-10 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between the this snapshot and the previous snapshot.
  • READ-CYCLE-COUNTER no longer destroys any live values in the EDX or ECX registers.
  • Add VM::WITH-CYCLE-COUNTER to return the number of ticks elapsed when executing the body. The number of ticks is the number of CPU cycles, except for ppc/darwin.
Snapshot 2012-09
The 2012-09 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between the this snapshot and the previous snapshot.
  • ASDF2 updated to version 2.24
  • Add microptimization of 2*x and x/(2^n) when x is a float and n is an integer.
  • Fixed a minor build issue in the CLM debugger.
Snapshot 2012-08
The 2012-08 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between the this snapshot and the previous snapshot.
  • ASDF2 updated to version 2.23.
  • CMUCL can now be compiled correctly with clang.
  • Fixed a possible stack corruption bug on x86 when calling from C into lisp.
  • Support for Mac OSX 10.4 and earlier has been dropped. (Lack of developer access to such machines.)
Snapshot 2012-07
The 2012-07 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between the this snapshot and the previous snapshot.
  • ASDF2 updated to version 2.22.
  • Minor internal changes to support building with clang, which doesn't yet work as expected.
Snapshot 2012-06
The 2012-06 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between the this snapshot and the previous snapshot.
  • Implement faster LOGCOUNT function on x86, if :SSE3 feature is available. (Only applies to new uses of LOGCOUNT. The core uses the default version.)
  • On x86, SET-FLOATING-POINT-MODES clears any current and accrued exceptions that match exceptions in :TRAPS. Previously, enabling a trap when the current exception also listed that trap caused the exception to be immediately signaled. This no longer happens and now matches how ppc and sparc behave.
Snapshot 2012-05
The 2012-05 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between the this snapshot and the previous snapshot.
  • ASDF2 updated to version 2.21.
  • Many additional aliases for external formats added that match the glibc iconv aliases.
  • External format for UTF-32 was generating an error when converting octets to a string.
  • The UTF-16-BE and UTF-16-LE external formats were returning the incorrect number of octets when surrogates pairs were decoded. This confuses the stream buffering code.
  • Fix typo in ISO8859-2 external format that caused it not to work correctly. This type potentially also caused failures for all other external formats that were based on ISO8859-2.
  • Fix ticket:58: UTF-16 buffering problem.
Snapshot 2012-04
The 2012-04 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between the this snapshot and the 20c release..
  • Added a new contrib, contrib-packed-sse2 to allow packed operations ala SSE2. Support for some packed sse2 operations like multiply, divide, and shuffle for both packed singles and doubles. All operations are done on top of (complex double-float) numbers. Functions are provided to put and get packed singles/doubles from (complex double-float).
  • Some VOP costs were incorrect which prevented the fast complex double-float multiplier from being used when sse3 is available.
  • Add micro-optimization for x86 (already available on sparc and ppc) where (logand <signed-byte 32> #xffffffff) generates a register move instead of and'ing with #xffffffff.
  • Updated to Unicode 6.1.0.
  • LISP:UNICODE-COMPLETE no longer signals an error if the prefix isn't a prefix of the name of any Unicode character.
  • Add -R option to build.sh to force recompiling the C runtime.
  • UTF-8 is now build into the core and always available.
  • A bug in UNICODE-COMPLETE-NAME has been fixed. (Mostly useful with Slime when completing character names.)
  • An issue with blocked signals after an interrupt has been fixed.
  • The ppc port has been revived; only a Unicode version is currently available.
  • CMUCL was not printing pathnames like (make-pathname :directory '(:absolute "tmp" "" "/")) correctly. This is now printed using #P(...).
  • The directory structure has been changed.
  • ASDF2 updated to version 2.019.
  • Behavior of STRING-TO-OCTETS has changed. This is an incompatible change from the previous version but should be more useful when a buffer is given which is not large enough to hold all the octets for the given string. See docstring for more details.
  • DECODE-FLOAT was not correctly declared and could not be compiled to handle double-double-floats.
20c released
CMUCL 20c has been released, For information on the changes between 20c and 20b, we refer the reader to the 20c release notes. Because of the release, there will not be a 2011-11 snapshot. .
2011-09-20
The CMUCL CVS repository has been converted to git and is now available. You can browse the repository using the Browse Source, or you can visit CMUCL gitweb for a different view. This page also includes links necessary for cloning the repository. (For commiters, be sure to put your userid in the ssh link.) The CVS repository will still be available, but will not allow checkins anymore. Git is integrated with Trac so the commit messages can refer to and even close Trac tickets. If the commit messages contains text like
   command #1
   command #1, #2
   command #1 & #2
   command #1 and #2
then the given command is applied to the specified tickets. Instead of the short-hand syntax above, you can also use
   command ticket:1
   command ticket:1, ticket:2
   command ticket:1 & ticket:2
   command ticket:1 and ticket:2
The available commands (not case-sensitive) are:
close, closed, closes, fix, fixed, fixes
The specified issue numbers are closed with the contents of this commit message being added to it.
references, refs, addresses, re, see
The specified issue numbers are left in their current status, but the contents of this commit message are added to their notes.
Snapshot 2011-09
The 2011-09 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between the this snapshot and the previous snapshot.
  • ASDF2 updated to version 2.017.
  • Improve type propagation for LOAD-TIME-VALUE.
  • Getting documentation of a structure via DOCUMENTATION no longer signals an error.
  • Reduce unnecessary consing of SAPs in ROOM.
  • Make stack overflow checking actually work on Mac OS X. The implementation had the :stack-checking feature, but it didn't actually prevent stack overflows from crashing lisp.
  • Fix rounding of numbers larger than a fixnum.
Snapshot 2011-07
The 2011-07 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between the this snapshot and the previous snapshot.
  • Unicode database updated to Unicode 6.0.0.
  • ASDF2 updated to version 2.016.1
  • Add LISP:LOAD-ALL-UNICODE-DATA to load all the unicode information into core. This is useful for creating an executable image that does not need unidata.bin.
  • CMUCL no longer exits if you specify a core file with an executable image. A warning is printed instead and the core file is used.
  • Trac #43 has been fixed in a better way. The previous fix was incorrect and causes some Unicode tests to fail.
Snapshot 2011-06
The 2011-06 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between the this snapshot and the previous snapshot.
  • :CMUCL is now in *FEATURES*
  • Added command line option, -unidata, to allow user to specify the location and name of the unidata.bin file. This is used instead of the default location.
  • Opening a file with :IF-EXISTS :NEW-VERSION no longer causes an error if the file name contains "[".
Snapshot 2011-05
Due to the upgrade on common-lisp.net, no snapshot is available for this month.
Snapshot 2011-04
The 2011-04 snapshot has been released. See the release nots for details, but here is a quick summary of the changes between the this snapshot and the previous snapshot.
  • In COMPILE-FILE, the second return value is now non-nil if there are style warnings. Previously, style warnings were erroneously ignored.
  • ASDF has been updated to version 2.014.1
Snapshot 2011-03
The 2011-03 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between the this snapshot and the previous snapshot.
  • In COMPILE-FILE, the :OUTPUT-FILE can also be a stream. CMUCL was erroneously signaling an error..
  • (OPEN f :DIRECTION :IO :IF-DOES-NOT-EXIST NIL) no longer signals an error if the file f does not exist. It returns NIL now.
  • In some situations the compiler could not constant fold SQRT calls because KERNEL:%SQRT was not defined on x86 with SSE2. This is fixed now.
  • In an earlier snapshot to add support for character name completion with slime, a bug was introduced where cmucl could no longer read #\latin_small_letter_a. This is fixed in this version.
Snapshot 2011-02
The 2011-02 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between the this snapshot and the previous snapshot.
  • EXT::DESCRIBE-EXTERNAL-FORMAT was not exported.
  • TRACE was erroneously allowing encapsulation when tracing local flet/labels functions. This doesn't actually trace anything. An error is now signaled in this case. If you are sure, you can specify :ENCAPSULATE NIL to disable encapsulation.
Snapshot 2011-01
The 2011-01 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between the this snapshot and the previous snapshot.
  • Initial support for Solaris/x86. CMUCL will run on Solaris/x86 with all features available.
  • UNINTERN no longer removes the wrong symbol. UNINTERN would remove the symbol when inherited from another package although it should not.
  • DEFSTRUCT allows multiple keyword constructors as required by the spec..
  • SUBSEQ with an end index less than the start index sometimes crashes CMUCL. Now, signal an error if the boudns are not valid.
  • Localization support was causing many calls to stat trying to find non-existent translation files. This has been fixed so that the results are cached. (If new translations are added, the cache will need to be cleared or cmucl restarted.) This change cuts building time by half on Solaris/sparc.
  • On NetBSD, function-end breakpoints, especially for tail-recursive functions, are working now.
  • On NetBSD, display of FP numbers (sse2 and x87) during tracing has been corrected. Previously, random values were displayed.
  • Executables images can now be created on NetBSD again.
20b patch 000
A critical bug in REALPART and IMAGPART has been fixed in the 2010-11 snapshot. A patch is provided now to fix this issue in the 20b release. Installation instructions are available.
CMUCL 20b released
CMUCL 20b has been released, For information on the changes between 20b and 20a, we refer the reader to the 20b release notes.

Also see older news: