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.2.12Back to top
- minor incompatible change: the SB-C::*POLICY* variable is no longer
a list. Code which manipulated it as such (including but not limited
to non-bundled releases of ASDF) will need to be revised.
- enhancement: The input stream for COMPILE-FILE implements
- enhancement: EVAL errors that occur by way of LOAD report the starting
line and column number of the erring toplevel form. (#565247)
- optimization: better MAP and MAP-INTO on known vector result types.
- bug fix: Read/modify/write macros accessing a place which is a
composition of CAR+CDR operations, such as (SHIFTF (CADR X) (ELT V 0)),
do not access subforms more than once. (#1450968)
- bug fix: short form of DEFSETF no longer allows trailing junk.
- bug fix: DEFINE-MODIFY-MACRO respects the provisions of CLHS 5.1.3
regarding argument evaluation order. (#1452539)
- bug fix: POP works as specified in CLHS if the setter for its
argument has a side-effect on the existing CAR value. (#1454021)
- bug fix: Reading "#()" with a positive numeric argument signals a
reader error. As specified, reading "#1()" has undefined consequences,
so correct portable code should be indifferent to this. (#1252100)
- bug fix: Malformed reader conditionals such as "(#-no-such-feature)"
and "(#+sbcl)" no longer parse as NIL. (#1454400)
Older SBCL releases
New in version 1.2.11Back to top
- enhancement: SET-PPRINT-DISPATCH will warn when given an expression in
which any part is unrecognizable as a legal type-specifier.
The dispatch table will be altered, but the new entry is disabled.
Subsequent type-defining forms will cause pprint-dispatch tables to
re-examine whether any disabled entries should be enabled. (#1429520)
- enhancement: Loading code containing calls to a deprecated function will,
under most circumstances, signal warnings similar to compiling such code.
The usual caveat holds about not detecting calls through a computed name,
as in (funcall (intern "DEPRECATED-FUN" "SB-EXT")).
- enhancement: (SB-EXT:COMPILE-FILE-LINE) is a new macro that expands
to a constant (VALUES integer integer) indicating the source line/column
from which it was read, intended for logging Lisp runtime errors in
a style similar to that afforded by the C preprocessor __LINE__ macro.
Similarly (SB-EXT:COMPILE-FILE-POSITION) returns a position in characters.
- enhancement: improved source locations for VOPs, alien types and
- bug fix: functions in :FINAL deprecation have the correct docstring.
No visible change, as no such functions presently exist. (#1439151)
- bug fix: (SETF (FDEFINITION this) (FDEFINITION OTHER)) signals an error
if OTHER names either a macro or special-operator. (#1439921)