News
New SBCL versions are usually released at the end of each
month: check the Sourceforge File List to see the current version. The new features of the two most recent SBCL releases are listed below.
Please see the complete news page for details on all historical SBCL releases.
New in version 1.0.24
Back to top- new feature: ARRAY-STORAGE-VECTOR provides access to the underlying data
vector of a multidimensional SIMPLE-ARRAY.
- new feature: the system now signals a continuable error if standard
readtable modification is attempted. (thanks to Tobias Rittweiler)
- new feature: DIRECTORY has been extended with a non-standard keyword
argument :RESOLVE-SYMLINKS. (thanks to TC-Rucho)
- enhancement: SB-BSD-SOCKETS:MAKE-SOCKET-STREAM keyword argument handling
has been robustified and documented better. (thanks to Robert Goldman)
- optimization: faster generic arithmetic dispatch on x86 and x86-64.
- optimization: FORMAT ~D and ~F are now approximately 5% faster.
- tradeoff: constant FORMAT control strings are now compiled unless
SPACE > SPEED (previously only when SPEED > SPACE.)
- bug fix: Red Hat Enterprise 3 mmap randomization workaround. (thanks
to Thomas Burdick)
- bug fix: DEFCLASS and ENSURE-CLASS-USING-CLASS are now expected to
be thread safe.
- bug fix: lexical type declarations are now correctly reported by
SB-CLTL2. (reported by Larry D'Anna)
- bug fix: STRING-TO-OCTETS did not handle :START properly when
using UTF-8 as external format. (thanks to Luis Oliveira)
- bug fix: errors from invalid fill-pointer values to (SETF FILL-POINTER)
are signalled correctly. (thanks to Stas Boukarev)
- bug fix: SET-MACRO-CHARACTER accepts NIL as the readtable
designator. (thanks to Tobias Rittweiler)
- bug fix: SET-DISPATCH-MACRO-CHARACTER accepts NIL as the readtable
designator, and returns T instead of the function. (thanks to
Tobias Rittweiler)
- bug fix: direct superclasses of STANDARD-CLASS and
FUNCALLABLE-STANDARD-CLASS now default to STANDARD-OBJECT and
FUNCALLABLE-STANDARD-OBJECT as required by AMOP.
- bug fix: compiling a call to SLOT-VALUE with a constant slot-name
when no class with the named slot yet exists no longer causes a
compile-time style-warning.
- bug fix: :ALLOCATION :CLASS slots are type-checked properly
in safe code. (reported by Didier Verna)
- bug fix: #430; nested structure constructors can stack allocate.
- bug fix: on some 64-bit platforms dynamic space size was truncated
to #xffff0000 bytes. (reported by Benjamin Lambert)
- bug fix: setting *READ-SUPPRESS* to T no longer renders the default
REPL unusable. (reported by Daniel Herring)
- bug fix: return values of READ-SEQUENCE did not take :START into
account on file streams, regressions since 1.0.12.22. (reported by
Thomas Russ, patch by Paul Khuong)
- bug fix: using SET or (SETF SYMBOL-VALUE) to change the value of a
method specializer used to confuse permuation vector optimization.
- bug fix: system inserted bogus implicit type declarations for local
special variables in DEFMETHOD bodies.
- bug fix: #354; duplicated frames in backtraces due to
non-tail-call-optimized XEPs to functions with return type NIL
have been elimited.
- bug fix: #357; MAKE-INSTANCE/SHARED-INITIALIZE now
initializes structure object slots according to DEFSTRUCT initforms,
and DEFSTRUCT forms :INCLUDEind structure classes defined using
DEFCLASS :METACLASS STRUCTURE-CLASS now inherit their initforms.
(reported by Bruno Haible and Stephen Wilson)
- bug fix: #395; fill-pointer output streams used now support
element-type BASE-CHAR as well.
- bug fix: compiler error when attempting to derive return value of
ARRAY-ELEMENT-TYPE when the array type was a union of intersection
types.
- bug fix: address-spaces overlapped on OpenBSD. (thanks to Josh
Elsasser)
- bug fix: Mac OS X binaries should now be portable between Leopard
and Tiger.
New in version 1.0.23
Back to top- enhancement: when disassembling method functions, disassembly
for the associated fast function is also produced.
- enhancement: system stores DEFTYPE lambda-lists, so DESCRIBE can
report them.
- optimization: printing with *PRINT-PRETTY* true is now more
efficient as long as the object being printed doesn't require
special handling by the pretty printer.
- bug fix: slot symbol-macros from WITH-SLOTS inside DEFMETHOD bodies
now interact correctly with type declarations.
- partial bug fix: PCL detects infinite recursion during wrapper
validation. (thanks to Attila Lendvai)
- bug fix: #426; nested function calls are inlined properly.
Previously if FOO was an inline function, in calls of the form
(FOO (FOO ...)) the outer call was not inlined.
- bug fix: long long arguments passed in registers to alien
functions on PowerPC Linux and NetBSD are now handled correctly
when preceded by SYSTEM-AREA-POINTERs. (reported by Josh Elsasser)
Older SBCL releases