- Snapshot 2010-12
-
Some of the important changes are listed below. See the release notes
for more details.
- ASDF2 updated to version 2.010.
- On x86,
REALPARTandIMAGPARTno longer incorrectly returns 0 instead of the correct part of a complex number in some situations. - The command line parser now correctly handles the case where "--" is the first command option.
-
build.shwas accidenally loading the site-init file, but it shouldn't. - On sparc, the vops to add a float to a complex were broken, resulting in a complex number with the float as realpart and garbage for the imaginary part. This is now fixed.
-
XLIB::GET-BEST-AUTHORIZATIONwill now return authorization data if the protocol is :local, if the xauth file contains just "localhost/unix:0". Previously, no authorization data was returned becauseGET-BEST-AUTHORIZATIONwas looking for the hostname. -
FORMATsignals an warning if~:;is used inside~:[. -
SET-SYSTEM-EXTERNAL-FORMATwas not actually setting the filename encoding if given.
- 20b patch 000
-
A critical bug in
REALPARTandIMAGPARThas been fixed in the 2010-11 snapshot. A patch is provided now to fix this issue in the 20b release. Installation instructions are available. - 2010-11 snapshot
-
Some of the important changes are listed below. See the release notes
for more details.
- Update to Unicode 5.2.0.
- Support for character name completion for use with Slime.
-
COMPILE-FILEaccepts a:DECODING-ERRORargument that indicates how to handle decoding errors when reading the file. -
RUN-PROGRAMaccepts:EXTERNAL-FORMATparameter to specify the external format for streams that are created. -
READ-CHARsignals errors on non-character streams.READ-BYTEsignals errors on character streams. This is a change from previous versions. However, both will work if the stream is abinary-text-stream. -
REALPARTandIMAGPARGno longer returns 0 instead of the correct part of a complex number in some situations.
- 20b released
-
CMUCL 20b has been released. For information on the changes, we refer the reader to the 20b release notes.
- 2010-09 snapshot and 20b prerelease 2
-
CMUCL 20b prelease 2 has been released, in preparation for the upcoming 20b release. Therefore there will not be a 2010-09 snapshot.
- It is possible to hash NaNs (IEEE Not-a-Number)
- For SSE2 builds, = no longer signals an error if one operand is NaN. This matches what happens for x87.
- For SSE2 builds,
SIGCONTEXT-FLOAT-REGISTERreturned the wrong value for single-floats. Easily noticead when tracing a function with single-float arguments. - Trac issue #36: file-position broken for utf16 and utf32.
FILE-POSITIONreturns the correct value for UTF16 and UTF32 when there is a BOM (byte-order mark) at the beginning of the file.
- 2010-08 snapshot and 20b prerelease 1
-
CMUCL 20b prelease 1 has been released, in preparation for the upcoming 20b release. Therefore there will not be a 2010-08 snapshot.
-
Error handling has been added to external formats. Previously, all external formats would silently replace bad encodings with a suitable replacement character. Now, the user can specify how the errors are handled by using the
:DECODING-ERRORand:ENCODING-ERRORparameters toOPEN. The default is the previous behavior.For decoding-error, a character, symbol, or function can be given. If a character, then that character is used as the replacement character. For a symbol or function, it must be a function of 3 arguments: a message string, the offending octet (or nil), and the number of octets read in the encoding. If the function returns, it must be the codepoint of the desired replacement.
For encoding-error, a character, symbol, or function can be given. If a character, then that character is used as the replacement character. For a symbol or function, it must be a function of 2 arguments: a message string and the offending codepoint. If the function returns, it must be the codepoint of the desired replacement.
- Add
EXT:LIST-ALL-EXTERNAL-FORMATSto list all known external formats and their aliases. - ADD
EXT:DESCRIBE-EXTERNAL-FORMATto print a description of the specified exernal format. To support this, the macrosDEFINE-EXTERNAL-FORMATandDEFINE-COMPOSING-EXTERNAL-FORMAThave changed. - The sparc port now supports the :executable feature.
- The Mac OS X port now support the :executable feature.
- A critical bug in the fast unicode stream buffering routine has been fixed. This bug manifests itself by causing valid sequences to be incorrectly decoded, resulting in a replacement character.
- UTF-8 correctly catches overlong sequences now. Previously, overlong sequences were missed.
- When UTF-8 decoder encounters an overlong sequence, a surrogate code point, or a too-large codepoint, the entire sequence is converted to the replacement character. Previously, all of the octets except the first were put back, and the data read again.
- Some GC improvements for sparc and ppc. (Changes for ppc untested). GC could incorrectly move the PC and other registers, causing a segfault.
- A bug inadvertently introduced in the 2010-04 non-unicode snapshot has been fixed. The bug prevented the non-unicode versions of CMUCL from loading the external format aliases file.
- With SSE2, the imaginary part of a (complex single-float) is now returned correctly.
- The method used to create executable images for Linux has been cleaned up and should be far more robust against different versions of the OS. The same is true on sparc as well as Mac OS X.
-
- 2010-07 snapshot
-
- DELETE-FILE, ENSURE-DIRECTORIES-EXIST, FILE-AUTHOR, FILE-WRITE-DATE, and OPEN now merge the given pathname with *DEFAULT-PATHNAME-DEFAULTS* as required by CLHS sec 19.2.3.
- When printing out argument values in the debugger and also during TRACE, the incorrect values were returned for the SSE2 core. This was caused by using the x87 values instead of the sse2 values in the sigcontext. This is fixed now.
- 2010-06 snapshot
-
- ASDF2 and MK-DEFSYS have been added as contrib modules. Use
(require :asdf)or(require :defsystem)to load these. - A new switch,
-helphas been added. This prints out a brief summary of the available command line switches and exists. You may also use--help. - The GCD of positive integers sometimes returned a negative result. This is fixed.
- ASDF2 and MK-DEFSYS have been added as contrib modules. Use
- 2010-05 snapshot
-
- Source information (file) for defstructs and deftypes is now
provided.
DESCRIBEwill print out the name of the file where the defstruct/deftype was defined. -
WITH-STANDARD-IO-SYNTAXuses the standard pprint dispatch table now instead of the current table. -
PRINC-TO-STRINGbinds*PRINT-READABLY*toNILas required. Previously, it used the current value of*PRINT-READABLY*. -
DEFCLASSsignals an error if the class name already names aDECLARATION. - The
:METHOD-CLASSargument toENSURE-GENERIC-FUNCTIONcan be a class object as well as a name. - Recognize but ignore the
:DECLAREargument toENSURE-GENERIC-FUNCTION. - Default documentation for short form of
DEFINE-METHOD-COMBINATIONisNIL, not "". -
MACis an alias for theCRcomposing external format. -
Trac #39:
non-standard-lexical syntax is fixed. The reader macros are
no longer installed by default. Use
(intl:install)to install them.
- Source information (file) for defstructs and deftypes is now
provided.
- 2010-04 snapshot
-
- Support for internalization/localization added. Messages from CMUCL can be translated, but currently only a few messages in Korean are translated. For fun, there is a full Pig Latin translation (done by machine).
-
COMPILEwill update the macro-function if the specified names a macro. (Previously, the fdefinition of the name was set.) - CMUCL now signals a cerror when attempting to redefine a slot
accessor via
DEFUNorCOMPILE. If continued, the accessor is redefined, and CMUCL assumes the new definition is usable as a slot accessor. Previously, CMUCL would print a warning and undefine the structure. - An issue with SSE2 and GC hooks has been fixed. This shows up when doing arithmetic with GC hooks that use the SSE registers. The SSE state is saved along with the x87 state.
- 2010-03 snapshot
-
-
FROUNDis much faster for single and double float numbers. This is available everywhere, except for x87 (due to potential roundoff errors.) - CMUCL no longer segfaults on Linux when running on a kernel without COMPAT_BRK. CMUCL will set the personality appropriately and re-exec itself.
-
GET-MACRO-CHARACTERwould return the wrong second value because*READTABLE*was always being used instead of the specified readtable. -
COMPILE-FILEwas generating an error when compilingCOMPILEforms. This is fixed. - A critical bug in SSE2 support has been fixed. Multiplying a complex single-float by a single-float produced the wrong result.
- Fix issue where CMUCL does not correctly handle
FLETs inDEFMETHODbodies which use the same name as that of the generic function. The generic function was called instead of the local function. - CMUCL would fail to compile external formats if
*READTABLE*was not the standard readtable. This is fixed by binding*READTABLE*to the standard readtable before compiling the external format. - The debugger help messages is updated to reflect the actual
implementation. In particular
LandPPhave been updated, and help for theDESCRIBEcommand has been added
-
- 2010-02
-
- Some issues with
FILE-POSITIONon unicode builds have been fixed. However,FILE-POSITIONis still incorrect for files using external formats that have a byte-order mark. - The error-output and trace-file files are now opened using
the same external format as specified in
COMPILE-FILE. This ensures that these output files can correctly represent the same characters as used for the input file. - The debugger now opens files using the same external format as used to compile them. Previously, the default format was used, which would be wrong if the file is in a different format. This resulted in the debugger being unable to find the source forms.
-
TRANSLATE-PATHNAMESnow creates the resulting path to be an absolute or relative path according to whether the TO pathname is abslute or relative. Previously, the result was take from the SOURCE pathname, except if TO were absolute, in which case the result was absolute.
- Some issues with
- 2010-01-04
-
Experimental support for static arrays has been added. These are allocated in foreign (malloc) space and are never moved by GC. They are, however, properly garbage collected. To create an array, use
MAKE-ARRAYwith:ALLOCATION:MALLOC. Only arrays of character; 8, 16, and 32-bit integers (signed or unsigned); single and double floats; and complex single and double floats are supported.
Also see older news: