;;;; -*- coding: utf-8; fill-column: 78 -*-
-changes relative to sbcl-1.0.53:
+changes 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: 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.
+ * optimization: the compiler is smarter about representation selection for
+ floating point constants used in full calls.
+ * 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)
+
+changes in sbcl-1.0.54 relative to sbcl-1.0.53:
* minor incompatible changes:
- ** RENAME-FILE on a symbolic links used to rename the linked-to file instead
- of the link.
+ ** RENAME-FILE on a symbolic links used to rename the linked-to file
+ instead of the link.
** DELETE-DIRECTORY on symbolic link to a directory used to delete the
- directory, but now signal an error instead. Use TRUENAME to resolve
- the pathname if you wish to delete the linked directory, and DELETE-FILE
- if you wish to delete the
- * enchancement: on CHENEYGC targets, SB-KERNEL:MAKE-LISP-OBJ now does
- the same validation of pointer objects as GENCGC does, instead of a
- comparatively weak bounds-check against the heap spaces.
+ directory, but now signal an error instead. Use TRUENAME to resolve the
+ pathname if you wish to delete the linked directory, and DELETE-FILE if
+ you wish to delete the
+ ** The internal SB-THREAD::SPINLOCK API has been deprecated, and using
+ symbols associated with it will trigger a compile-time warning.
+ * thread-related enhancements:
+ (This work has been funded by the SBCL Threading 2011 IndieGoGo campaign.
+ Many thanks to generous donors!)
+ ** Threading is now more reliable on non-Linux platforms. We still don't
+ consider threads on non-Linux platforms good enough to enable them by
+ default, but they're in a clearly better shape now.
+ ** Deadlines supported now on all platforms.
+ ** All blocking functions in the threading API now have a :TIMEOUT
+ argument.
+ ** Semaphore notification objects have been added to SB-THREAD.
+ ** SB-CONCURRENCY contrib now includes Allegro-style GATE objects.
+ ** SB-EXT:COMPARE-AND-SWAP has been extended to support SLOT-VALUE,
+ STANDARD-INSTANCE-ACCESS, and FUNCALLABLE-STANDARD-INSTANCE-ACCESS.
+ ** Users can now defined new places usable with SB-EXT:COMPARE-AND-SWAP
+ using an API anologous to defining new SETFable places.
+ * GC-related enhancements and bug fixes:
+ ** --dynamic-space-size and --control-stack-size now understand Kb, Mb,
+ and Gb suffixes. Default is megabytes as before.
+ ** on GENCGC targets, the default dynamic space size is now 512Mb for
+ 32-bit systems, and 1Gb for 64-bit systems. (OpenBSD/x86-64 is the only
+ exception, defaulting to mere 444Mb to fit under default ulimits.) The
+ new defaults are in place to prevent hitting swap on low-end systems.
+ Use build-time option --dynamic-space-size to build an SBCL with
+ another default, or the runtime option to adjust the size at startup: a
+ good size is at most equal to the amount of physical memory the system
+ has.
+ ** on GENCGC targets, nursery and generation sizes now default to 5% of
+ dynamic-space size.
+ ** on GENCGC targets, SB-KERNEL:MAKE-LISP-OBJ no longer categorically
+ refuses to create SIMPLE-FUN objects.
+ ** on 64-bit GENCGC targets, setting the nursery size above 4Gb now works.
+ (lp#870868)
+ ** on CHENEYGC targets, SB-KERNEL:MAKE-LISP-OBJ now does the same
+ validation of pointer objects as GENCGC does, instead of a
+ comparatively weak bounds-check against the heap spaces.
+ * SB-BSD-SOCKETS bug fixes:
+ ** GET-PROTOCOL-BY-NAME had a significant memory leak.
+ ** GET-HOST-BY-NAME and GET-HOST-BY-ADDRESS small amounts of memory on
+ systems with getaddrinfo().
+ ** GET-HOST-BY-NAME and GET-HOST-BY-ADDRESS weren't thread or interrupt
+ safe outside systems with getaddrinfo().
+ * enhancement: ASDF has been updated 2.019.
+ * enhancement: special-case TCO prevention for functions which never return
+ extended to untrusted types, keeping one more frame's worth of debug
+ information around in many cases.
+ * enhancement: debug-names of anonymous and local function are more
+ descriptive. Affects backtraces and SB-SPROF results. (lp#805100)
* enhancement: on win32, ABS of complex floats guards better against
overflows. (lp#888410)
+ * enhancement: RUN-PROGRAM now distinguishes exec() failing from child
+ process exiting with code 1. (lp#676987)
+ * enhancement: convenience function SET-SBCL-SOURCE-LOCATION for informing
+ the system where on the filesystem the SBCL sources themselves are
+ located. (Thanks to Zach Beane)
+ * enhancement: the compiler is now able to derive tighter bounds for
+ floating point numbers in some cases. (Thanks to Lutz Euler, lp#894498)
* bug fix: on 64-bit targets, atomic-incf/aref does index computation
correctly, even on wide-fixnum builds. (lp#887220)
- * bug fix: (directory "foo/*/*.*") did not follow symlinks in foo/ that
+ * bug fix: (DIRECTORY "foo/*/*.*") did not follow symlinks in foo/ that
resolved to directories.
- * bug fix: SB-KERNEL:MAKE-LISP-OBJ on GENCGC no longer categorically
- refuses to create SIMPLE-FUN objects.
+ * bug fix: type mismatch when assigning to lexical variables no longer
+ result in fasl-dumping internal type objects. (lp#890750)
+ * bug fix: type mismatch on (SETF AREF) and function return values no
+ longer result in fasl-dumping internal type objects.
+ * bug fix: With several combinations of argument types, for example (EXPT
+ <integer> <(complex double)>), EXPT now uses double-precision throughout
+ instead of partially calculating only to single-precision. (lp#741564;
+ thanks to Lutz Euler)
+ * bug fix: SYMBOL-VALUE-IN-THREAD is no longer able to construct bogus
+ objects when interrupted by GC on PPC.
changes in sbcl-1.0.53 relative to sbcl-1.0.52:
* enhancement: on 64-bit targets, in src/compiler/generic/early-vm.lisp,