changes in sbcl-1.0.55 relative to sbcl-1.0.54:
* enhancements to building SBCL using make.sh:
** --fancy can be specified to enable all supported feature enhancements.
** --with-<feature> and --without-<feature> can be used to specify
which features to build with.
** --arch option can be used to specify the architecture to build for.
(Mainly useful for building 32-bit SBCL's on x86-64 hosts, not
* enhancement: extended package prefix syntax <pkgname>::<form-in-package>
which allows specifying name of the default interning package for the
* enhancement: when *READ-EVAL* is true, arrays with element type other than
T can be printed readably using #.-based syntax. (Thanks to Robert Brown)
* enhancement: MAKE-ALIEN signals a storage-condition instead of returning a
null alien when malloc() fails. (lp#891268)
* enhancement: SB-EXT:PRINT-UNREADABLY restart for PRINT-NOT-READABLE
conditions can be conveniently accessed through function with the same
name, analogously to CONTINUE.
* enhancement: SB-EXT:*SUPPRESS-PRINT-ERRORS* can be used to suppress errors
from the printer by type, causing an error marker to be printed instead.
(Thanks to Attila Lendvai)
* enhancement: BACKTRACE and DESCRIBE now bind *PRINT-CIRCLE* to T, and
generally behave better when errors occur during printing.
* enhancement: the test runner now takes a --report-skipped-tests argument
to report the individual tests skipped as well as the number of skipped
* enhancement: undefined functions now appear in backtraces as ("undefined
function") instead of ("bogus stack frame") on x86oids.
* enhancement: detected deadlocks no longer cause stderr to be spammed, and
deadlock errors are reported in an easier-to-decipher manner.
* enhancement: DESCRIBE on type designators reports the expansion in more
* enhancement: SBCL now provides either an explicit :BIG-ENDIAN or
:LITTLE-ENDIAN in *FEATURES*, instead of :BIG-ENDIAN being implied by lack
of the :LITTLE-ENDIAN feature. (Thanks to Luís Oliveira, lp#901661)
* enhancement: better disassembly of segment-prefixes on x86 and other
instruction prefixes (e.g. LOCK) on x86 and x86-64.
* optimization: FIND and POSITION on bit-vectors are orders of magnitude
faster (assuming KEY and TEST are not used, or are sufficiently trivial.)
* optimization: SUBSEQ on vectors of unknown element type is substantially
* optimization: specialized arrays with non-zero :INITIAL-ELEMENT can
be stack-allocated. (lp#902351)
* optimization: the compiler is smarter about representation selection for
floating point constants used in full calls.
* optimization: the compiler no longer refuses to coerce large fixnums to
single floats inline, except on x86 where this limitation is still
* bug fix: deadlock detection could report the same deadlock twice, for
two different threads. Now a single deadlock is reported exactly once.
* bug fix: interval-arithmetic division during type derivation did not
account for signed zeros.
* bug fix: compiler error when typechecking a call to a function with
non-constant keyword arguments.
* bug fix: misoptimization of TRUNCATE causing erratic behaviour.
* bug fix: condition slot accessors no longer cause undefined function
style-warnings when used in the :REPORT clause of the DEFINE-CONDITION
form that defines them. (lp#896379)
* bug fix: DEFGENERIC warns about unsupported declarations, as specified
by ANSI. (lp#894202)
* bug fix: SUBTYPEP tests involving forward-referenced classes no longer
bogusly report NIL, T.
* bug fix: bogus style-warnings for DEFMETHOD forms that both declared some
required arguments ignored and performed assignments to others.
* bug fix: *EVALUATOR-MODE* :COMPILE treated (LET () ...) identically
to (LOCALLY ...) leading to internally inconsistent toplevel-formness.
* bug fix: non-toplevel DEFSTRUCT signaled a style warning for unknown type.
* bug fix: redefining a function whose previous definition contained an
unknown type no longer causes a style-warning. (lp#806243)
* bug fix: undefined functions now appear in backtraces as ("undefined
function") instead of ("bogus stack frame") on non-x86oids.
* bug fix: backtraces are no longer cut off at ("undefined function") when
called under certain circumstances (involving a caller-allocated stack
frame) on PPC.
* bug fix: RUN-PROGRAM leaked a file-descriptor per call on non-Windows
systems. (regression since 1.0.53)
* bug fix: GC deadlocks from dladdr() on certain platforms.
* bug fix: broken standard streams no longer automatically cause recursive
errors on debugger entry.
* bug fix: build ignored --dynamic-space-size=<size> argument to make.sh
(regression since 1.0.53)
* bug fix: attempts to stack allocate a required argument to a function with
an external entry point caused compiler-errors.
* bug fix: compiler notes for failed stack allocation for a function argument
no longer claim to be unable to stack allocate the function.
* bug fix: COERCE now signals a type-error on several coercions to
subtypes of CHARACTER that are forbidden according to ANSI. (lp#841312)
* bug fix: missing failure-to-stack-allocate compiler notes for some
forms of MAKE-ARRAY with dynamic-extent. (lp#902351)
* bug fix: some of the compile-time side-effects of DEFCLASS were not caught
by package locks.