========================== C M U C L 21 a ============================= [Work in progress] The CMUCL project is pleased to announce the release of CMUCL 21b. This is a major release which contains numerous enhancements and bug fixes from the 21a 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 * Changes * Update to ASDF 3.1.6.9 * Add support for asdf's static-image-op * This mostly entails internal changes in how executables are handled. lisp.a is not complete; it must be linked with either exec-init.o or exec-final.o. * If the linker fails to link an image, the exit code is returned to indicate failure. * When printing the process structure (from run-program), include the exit code to make it easier to see if the the process exited cleanly or not. The printed representation is also changed slightly to use pprint-unreadable-object. * Executable images on OSX no longer support running on other versions of the OS. Previously, -mmacosx-version-min=10.5 was used to specify the executable would run on OSX versions >= 10.5. This, however, requires the 10.5DK be available. Thus, no longer require that. * Disassembly of bytes and words now use .BYTE and .WORD instead of BYTE and WORD. * Unix support on Linux has been unified with all other OSes. Thus, src/code/unix-glibc2.lisp is no longer used. * Micro-optimize modular shifts on x86. * Update lisp-unit to commit e6c259f. * Added EXT:WITH-FLOAT-TRAPS-ENABLED to complement WITH-FLOAT-TRAPS-MASKED. * (EXPT 0 power) doesn't throw INTEXP-LIMIT-ERROR anymore for any integer value of power. * Starting cmucl with "-dyanmic-space-size 0" means using the maximum possible heap size for the platform. * ANSI compliance fixes: * PATHNAME-MATCH-P did not accept search-lists. * Bugfixes: * Linux was missing unix-setitimer which prevented saving cores. * Generate inxact exceptions more carefully. * Fix FP issue when building with Xcode 7.2 (and newer versions of clang). (See ticket #12.) * Trac Tickets: * Gitlab tickets: * Ticket #10 fixed: setting an element of a 1, 2, or 4-bit array with a constant index did not always set the element appropriately. * Ticket #12 fixed. It looks like a possible compiler bug, but worked around by explicitly setting inexact instead of using FP instructions to generate inexact. * Ticket #16 fixed: search-lists are handled correctly. * Other changes: * Improvements to the PCL implementation of CLOS: * Changes to building procedure: This release is not binary compatible with code compiled using CMUCL 21a; you will need to recompile FASL files. See or for download information, guidelines on reporting bugs, and mailing list details. We hope you enjoy using this release of CMUCL!