;;;; -*- coding: utf-8; fill-column: 78 -*-
-changes relative to sbcl-1.0.54:
+changes relative to sbcl-1.0.57:
+ * enhancement: SB-EXT:ATOMIC-UPDATE makes it easy to perform non-destructive
+ updates of CAS-able places (similar to Clojure's swap!).
+ * bug fix: potential for infinite recursion during compilation of CLOS slot
+ typechecks when dependency graph had loops. (lp#1001799)
+ * bug fix: error forms reported with some program-errors were not escaped
+ properly.
+
+changes in sbcl-1.0.57 relative to sbcl-1.0.56:
+ * RANDOM enhancements and bug fixes:
+ ** bug fix: the range and distribution of random integers could be
+ catastrophically wrong when the compiler derived the type of its
+ argument as a disjoint set of small integers.
+ ** bug fix: the distribution of random integers is now completely
+ uniform even when the specified limit is not a power of two.
+ (Previously some values could be about 0.1 % more probable than
+ others in the worst case.)
+ ** RANDOM on large integer arguments is generally faster and conses
+ less than before; this is visible for fixnums above a length of
+ about 24 bits, but extremely so for bignums: the old implementation
+ used time and space quadratical in the size of the argument there,
+ the new one is linear.
+ * enhancement: redesigned protocol for quitting SBCL. SB-EXT:EXIT is the new
+ main entry point, SB-EXT:QUIT is deprecated.
+ * enhancement: additions to the SB-THREAD API: RETURN-FROM-THREAD,
+ ABORT-THREAD, MAIN-THREAD-P, and MAIN-THREAD.
+ * enhancement: FASL loading no longer grabs the world-lock.
+ * enhancement: GENCGC reclaims space more aggressively when objects being
+ allocated are a large fraction of the total available heap space.
+ (lp#936304)
+ * enhancement: backtraces show the correct number of arguments for frames
+ called with too many arguments.
+ * enhancement: support for abort(3), exit(3), and _exit(2) has been added to
+ SB-POSIX.
+ * enhancement: ASDF has been updated 2.21.
+ * optimization: fewer uses of full calls to signed modular functions.
+ (lp#903821)
+ * optimization: typechecking alien values is typically 5 x faster.
+ * optimization: FDEFINITION, SYMBOL-FUNCTION, MACRO-FUNCTION, and FBOUNDP
+ are 20% faster.
+ * bug fix: file compilation performance issues when dumping subtypes
+ of CHARACTER (lp#994487)
+ * bug fix: fixed disassembly of some SSE instructions on x86-64.
+ * bug fix: SB-SIMPLE-STREAMS signals an error for bogus :CLASS arguments in
+ OPEN. (lp#969352, thanks to Kambiz Darabi)
+ * bug fix: CASE normal-clauses do not allow T and OTHERWISE as keys.
+ (lp#959687)
+ * bug fix: (SETF (FIND-CLASS X) NIL) removed proper name of the underlying
+ classoid even if X was not the proper name of the class. (lp#941102)
+ * bug fix: declaration leakage between lexical environments due to careless
+ use of NCONC in MAKE-LEXENV. (lp#924276)
+ * bug fix: ENSURE-DIRECTORIES-EXIST now works when
+ *default-pathname-defaults* contains NAME or TYPE components.
+ * bug fix: PPRINT couldn't print improper lists with CARs being some symbols
+ from CL package, e.g. (loop . 10).
+ * bug fix: run-program with existent or non-existent files for :output or
+ :input when :if-output-exists or :if-input-does-not-exist are NIL properly
+ returns NIL instead of signalling an obscure error.
+ * bug fix: fix miscompilation of some logand forms with large constant
+ arguments. (lp#974406)
+ * bug fix: account for funcallable-instance objects properly in ROOM.
+ * bug fix: incorrect octets reported for c-string decoding errors.
+ (lp#985505)
+ * bug fix: miscompilation of LDB on the PowerPC platform. (thanks to Bruce
+ O'Neel)
+ * bug fix: better input error reporting for COMPILE-FILE. (lp#493380)
+ * bug fix: default size of non-nursery generations has been shrunk on GENCGC,
+ allowing faster release of memory back to the OS. (lp#991293)
+ * bug fix: WITH-DEADLINE (:SECONDS NIL :OVERRIDE T) now drops any
+ existing deadline for the dynamic scope of its body.
+ * bug fix: compiler-internal interval arithmetic needed to be more
+ conservative about open intervals when operated on by monotonic but not
+ strictly-monotonic functions. (lp#975528)
+ * bug fix: copy-tree caused stack exhaustion on long linear lists, and now
+ it's also slightly faster. (lp#998926)
+ * bug fix: better error messages for malformed declarations.
+ (lp#1000239)
+ * bug fix: define-condition didn't return the name of the defined condition.
+ * documentation:
+ ** improved docstrings: REPLACE (lp#965592)
+
+changes in sbcl-1.0.56 relative to sbcl-1.0.55:
+ * bug fix: fix copy-structure. When copying from stack to heap, garbage
+ could end up in the heap making GC unhappy.
+ (Thanks to James Knight, lp#911027)
+ * enhancements
+ ** SBCL can now be built using Clang.
+ ** ASDF has been updated 2.20.
+ * bug fix: compiler errors when weakening hairy integer types. (lp#913232)
+ * bug fix: don't complain about a too-hairy lexical environment for inlining
+ when the function has never been requested for inlining. (lp#963530)
+
+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
** --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.
+ * optimization: truncation operations on integers with constant divisor
+ arguments 1 and -1 are optimized away.
* 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
* 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.
+ * bug fix: Proper handling of --dynamic-space-size option on 32 bit platforms.
changes in sbcl-1.0.54 relative to sbcl-1.0.53:
* minor incompatible changes: