I've just tagged CVS and put sbcl-1.0.38 up for download on Sourceforge.
The freeze was somewhat slushy this time round; I hope there won't need
to be brown paper bags handed around the development team, but please as
ever report any problems encountered with the release.
changes in sbcl-1.0.38 relative to sbcl-1.0.37:
* incompatible change: Thread names are now restricted to SIMPLE-STRINGs
like for any other thread-related datastructure, MUTEX, etc. (lp#547095)
* deprecation: the SB-QUEUE contrib was merged into the SB-CONCURRENCY
contrib module. New code should depend on SB-CONCURRENCY, not SB-QUEUE.
* deprecation: SB-THEAD:GET-MUTEX was deprecated in favor of
* new contributed module: SB-CONCURRENCY is a new contrib; it's supposed to
contain additional data structures and tools for concurrent programming;
at the moment it contains a lock-free queue, and a lock-free mailbox
* new feature: added SB-THREAD:GRAB-MUTEX; it's like the now deprecated
GET-MUTEX but takes &key rather than &optional parameters. Also added
:TIMEOUT argument to GRAB-MUTEX on non-sb-lutex platforms like Linux and
* new feature: added SB-THREAD:TRY-SEMAPHORE, a non-blocking variant of
* new feature: SB-EXT:ATOMIC-DECF has been added as a companion to
* new feature: a CANCEL-DEADLINE is associated with DEADLINE-TIMEOUT
conditions to defer the deadline for forever.
* enhancement: *STANDARD-OUTPUT*, *STANDARD-INPUT*, and *ERROR-OUTPUT* are
* enhancement: errors from NO-APPLICABLE-METHOD and
NO-PRIMARY-METHOD now have a RETRY restart available to retry the
generic function call.
* enhancement: SB-BSD-SOCKET improvements
** sockets and socket streams now have a more informative printed
representation based on the corresponding SOCKET-NAME and
** SOCKET-MAKE-STREAM once more supports the :AUTO-CLOSE option.
** SOCKET-CLOSE now accepts :ABORT argument, which is passed on to
CL:CLOSE when appropriate, and no longer disassociates the stream
from the socket if close failed. (lp#543951)
* improvements to the instrumenting profiler
** new feature: report per-function GC overhead. (thanks to John Fremlin)
** optimization: counters no longer use locks for the overflow mode.
** bug fix: whenever a profiling counter wrapped into overflow mode, it
incurred an off-by-one miscount.
* enhancement: improved MAKE-HASH-TABLE documentation (lp#543473)
* enhancement: improved DEFMETHOD pretty-printing.
* enhancement: perform range reduction when arguments are too large for
x87's transcendentals (instead of returning 0). (lp#327192)
* enhancement: eliminate some spurious TYPE-WARNINGs. Should help with
some of CL-PPCRE's macros. (lp#570079)
* enhancement: our machine code is slightly less hostile to valgrind on
* enhancement: up-to-date versions of NetBSD-current are supported. (Thanks
to Robert Swindells and Aleksej Saushev)
* bug fix: correct restart text for the continuable error in MAKE-PACKAGE.
* bug fix: a rare case of startup-time page table corruption.
* bug fix: a semaphore with multiple waiters and some of them unwinding due
to timeouts could be left in an inconsistent state.
* bug fix: fix typo in "Reporting Bugs" section of the manual (lp#520366)
* bug fix: misoptimization of multiplication by one in
(SB-C::FLOAT-ACCURACY 0) policies.
* bug fix: miscounts in SB-PROFILE.
* bug fix: Fix lost wakeup bug between SB-THREAD:CONDITION-WAIT and
CONDITION-NOTIFY on Linux. See threads "lost wakeup in condition-wait /
condition-notify" (Feb 2010) and "Condition-Wait, Deadline handler, waking
up itself" (March 2010) for further details.
* bug fix: allow forward FIND and POSITION on lists to elide checking :END
against length of the list if the element is found before the specified
END is reached. (thanks to Alec Berryman, lp#554385)
* bug fix: errors signalled during package graph modification no longer
block FIND-SYMBOL and FIND-PACKAGE in other threads. (lp#511072)
* bug fix: SB-POSIX build was broken when SBCL was compiled without the
:SB-DOC feature. (lp#552564)
* bug fix: SB-INTROSPECT build issues on GENGC/PPC. (lp#490490)
* bug fix: more robust runtime executable path detection. (lp#375549)
* bug fix: GCD always returns positive values. (lp#413680)
* bug fix: Converting division to multiplication by reciprocal handles
* bug fix: We were too eager in eliding range reduction tests on x87.
The maximal magnitude is 2^63, not 2^64.
* bug fix: Transforms for TRUNCATE don't die when the result is completely
* bug fix: Maybe restore buildability on Alpha.
* bug fix: READ-BYTE isn't inline anymore, fixing weird streams failures.
* bug fix: RANDOM-STATE can be printed readably again.
* bug fix: Unreadable objects were sometimes printed like #<\nFoo>.
* bug fix: Using EQL with non-constant values of constant type (e.g. EQL
types) could result in type mismatches during compilation.