|
|
|
For the latest and most up-to-date news, also look at CMUCL Trac
Wiki.
- 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. .
- Snapshot 2011-10
-
The 2011-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.
- Command-line flags
-read-only-space-size,
-static-space-size, -control-stack-size,
and -binding-stack-size have been addded to control
the size of the corresponding region. The default size of each is
unchanged.
- Add -O option to
build.sh.
- The format of the file-comments has changed somewhat. The
Header keyword is retained, but the git short SHA1 hash is used for
the revision.
- 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-08
- There was no snapshot for this month.
- 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 whose name contains "[" with
:IF-EXISTS
:NEW-VERSION no longer causes an error.
- Snapshot 2011-05
- There was no snapshot in May, partly due to the ongoing upgrade
on common-lisp.net.
- Snapshot 2011-04
- The 2011-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 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-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.
- 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.
- 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,
REALPART and IMAGPART no 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.sh was 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-AUTHORIZATION will now return authorization data
if the protocol is :local, if the xauth file contains just
"localhost/unix:0". Previously, no authorization data was
returned because GET-BEST-AUTHORIZATION was looking for the
hostname.
-
FORMAT signals an warning if ~:; is used inside ~:[.
-
SET-SYSTEM-EXTERNAL-FORMAT was not actually setting the filename
encoding if given.
- 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.
- 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-FILE accepts a
:DECODING-ERROR argument that indicates how to handle
decoding errors when reading the file.
-
RUN-PROGRAM accepts :EXTERNAL-FORMAT
parameter to specify the external format for streams that are
created.
-
READ-CHAR signals errors on non-character
streams. READ-BYTE signals errors on character
streams. This is a change from previous versions. However, both
will work if the stream is a binary-text-stream.
-
REALPART and IMAGPARG no 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-REGISTER returned 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-POSITION returns 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-ERROR and
:ENCODING-ERROR parameters to OPEN. 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-FORMATS to list all known external
formats and their aliases.
- ADD EXT:DESCRIBE-EXTERNAL-FORMAT to print a description of the
specified exernal format. To support this, the macros
DEFINE-EXTERNAL-FORMAT and DEFINE-COMPOSING-EXTERNAL-FORMAT have
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,
-help has 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.
- 2010-05 snapshot
- Source information (file) for defstructs and deftypes is now
provided. DESCRIBE will print out the name of the file
where the defstruct/deftype was defined.
- WITH-STANDARD-IO-SYNTAX uses the standard pprint dispatch table
now instead of the current table.
- PRINC-TO-STRING binds *PRINT-READABLY* to NIL as required.
Previously, it used the current value of
*PRINT-READABLY*.
- DEFCLASS signals an error if the class name already names a
DECLARATION.
- The :METHOD-CLASS argument to ENSURE-GENERIC-FUNCTION can be a
class object as well as a name.
- Recognize but ignore the :DECLARE argument to
ENSURE-GENERIC-FUNCTION.
- Default documentation for short form of
DEFINE-METHOD-COMBINATION is NIL, not "".
- MAC is an alias for the CR composing 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.
- 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).
- COMPILE will 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 DEFUN or COMPILE. 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
- FROUND is 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-CHARACTER would return the wrong second value because
*READTABLE* was always being used instead of the specified
readtable.
- COMPILE-FILE was generating an error when compiling COMPILE
forms. 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 in
DEFMETHOD bodies 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 L and PP have been updated, and help
for the DESCRIBE command has been added
- 2010-02
- Some issues with FILE-POSITION on unicode builds have been
fixed. However, FILE-POSITION is 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-PATHNAMES now 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.
- 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-ARRAY with :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:
|