sbcl-1.3.18 released

Christophe Rhodes <[email protected]> Tue, 30 May 2017 17:36:00 +0100
Newsgroups gmane.lisp.steel-bank.announce
Message-ID <[email protected]>
Dear all,

I have released sbcl-1.3.18, and uploaded source and an x86-64/linux
binary to sourceforge; a list of changes relative to the previous
version is appended below.

The changes this month related to write-to-string can cause problems in
some cases, as the production of base-strings can lead to the
construction of some objects which are not printably-readable (in the
PRINT-NOT-READABLE sense) where previously those objects would have been
fine; this shows up as a user-visible problem if, for example, deferred
warnings support is turned on in ASDF.  Development in the coming month
will include looking at mitigating this issue, so potentially affected
users might wish to skip a version update.

Best wishes,

Christophe

changes in sbcl-1.3.18 relative to sbcl-1.3.17:
  * minor incompatible change: existing values of CFLAGS, ASFLAGS,
    CPPFLAGS, and LINKFLAGS will be incorporated into C compiler
    invocations when building from source.
  * minor incompatible change: the result of WRITE-TO-STRING may be
    a BASE-STRING if all characters written are of type BASE-CHAR.
  * minor incompatible change: the broadcast stream with no output
    streams is a singleton object. That object satisfies OPEN-STREAM-P
    regardless of how many times CLOSE is invoked on it.
  * enhancement: x86[-64] backends contain an experimental feature
    which aids in demonstrating reachability of any object starting
    from a tenured object or a thread stack by producing a proof
    as a sequence of pointers to follow.
    The file "tests/traceroot.test.sh" contains an example usage.
  * enhancement: if the alien symbol "gc_coalesce_string_literals" is
    set to 1 prior to SAVE-LISP-AND-DIE, then similar string constants
    loaded from different fasl files may be collapsed to one object.
    If the variable is set to 2, then additionally strings which are
    STRING= in code resulting from COMPILE can be coalesced.
    For instance, two functions returning the literal string "HI"
    might return EQ strings after collapsing, which may be undesired
    in a particular use. The flag pertains to gencgc only.
  * enhancement: SXHASH values on pathnames are better distributed
  * bug fix: MAKE-PATHNAME removes empty strings as components of a
    directory, as is permitted: "Whenever a pathname is constructed
    the components may be canonicalized if appropriate."
  * optimization: various printer and FORMAT performance enhancements.
  * bug fix: GET-FOREGROUND no longer fails in case all other interactive
    threads exit (lp#1682671, reported by Syll)
  * bug fix: RELEASE-FOREGROUND always removes the current thread from the
    list of interactive threads. (lp#1682867, reported by Syll)


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot