Skip to content
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
       full-blows cross-compilation.)
  * enhancement: extended package prefix syntax <pkgname>::<form-in-package>
    which allows specifying name of the default interning package for the
    whole form.
  * 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
    tests.
  * 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
    cases.
  * 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
    faster. (lp#902537)
  * 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
    necessary.
  * 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.
    (lp#898331)
  * 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.