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)