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.13Back to top
- incompatible change: on success, TRY-SEMAPHORE and WAIT-ON-SEMAPHORE
return the new count
- enhancement: WAIT-ON-SEMAPHORE accepts a decrement parameter
- enhancement: JOIN-THREAD allows distinguishing timeout vs. abort in all
- enhancement: On Windows DBG_PRINTEXCEPTION_C is handled and its message is
- bug-fix: TRUENAME works properly on broken symlinks presented as
- bug fix: Inlined DPB and DEPOSIT-FIELD don't interfere with left-to-right
order of argument evaluation. (#1458190)
- bug fix: (SETF (LDB (BYTE 1 2 JUNK) X) 0) is rightly rejected.
- bug fix: DEFSETF lambda lists should not permit argument destructuring.
- bug fix: calls to (SETF SLOT-VALUE) on a missing slot would in certain
situations incorrectly return the result of a SLOT-MISSING method
instead of always returning the new value. (#1460381)
- bug fix: a DEFMACRO occurring not at toplevel and capturing parts of
its lexical environment (thus being a closure) caused expressions
involving the macro name to cause corruption in the pretty-printer
due to faulty introspection of the lambda list of a closure.
- bug fix: out of line MAP/MAP-INTO check that the results produced by the
function are of the matching sequence type. (#1459581)
- bug fix: pretty-printing of '(LET `((,X ,Y)) :B) is handled correctly.
Older 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)