+changes in sbcl-0.8.15 relative to sbcl-0.8.14:
+ * incompatible change: SB-INT:*BEFORE-SAVE-INITIALIZATIONS* and
+ SB-INT:*AFTER-SAVE-INITIALIZATIONS* have been renamed
+ SB-EXT:*SAVE-HOOKS* and SB-EXT:*INIT-HOOKS*, and are now part of
+ the supported interface.
+ * new feature: Single-stepping of code compiled with DEBUG 2 or
+ higher and (> DEBUG (MAX SPACE SPEED)) is now possible.
+ * new feature: saving cores with foreign code loaded is now
+ supported on x86/FreeBSD, x86/Linux, and sparc/SunOS. (based on
+ Timothy Moore's work for CMUCL)
+ * bug fix: DEFTYPE lambda-list parsing now binds unsupplied keyword
+ parameters to * instead of NIL if no initform is supplied.
+ (reported by Johan Bockgaard)
+ * bug fix: DEFINE-COMPILER-MACRO lambda-list parsing now binds
+ correctly when FUNCALL appears as the car of the form. Note:
+ despite this FUNCALL forms are not currently subject to
+ compiler-macro expansion. (port of Raymond Toy's fix for the
+ same from CMUCL, reported by Johan Bockgaard)
+ * bug fix: FOR ... ON ... -clauses in LOOP now work on dotted lists
+ (thanks for Teemu Kalvas)
+ * bug fix: in FORMAT ~^ inside ~:{ now correctly steps to the next
+ case instead of terminating the iteration (thanks for Julian
+ Squires, Sean Champ and Raymond Toy)
+ * bug fix: incorrect expansion of defgeneric that caused a style
+ warning. (thanks for Zach Beane)
+ * bug fix: slot accessor effective method computation works properly
+ for classes with multiple non-standard applicable methods on
+ SB-MOP:SLOT-VALUE-USING-CLASS. (reported by Ralf Mattes)
+ * on x86 compiler supports stack allocation of results of LIST and
+ LIST*, bound to variables, declared DYNAMIC-EXTENT. (based on
+ CMUCL implementation by Gerd Moellmann)
+ * fixed some bugs revealed by Paul Dietz' test suite:
+ ** FORMAT strings with both the ~<~:;~> form of the justification
+ directive and pretty-printing directives cause an error.
+
+changes in sbcl-0.8.14 relative to sbcl-0.8.13:
+ * incompatible change: the internal functions
+ SB-KERNEL:32BIT-LOGICAL-FOO, intended for providing efficient
+ logical operations on (UNSIGNED-BYTE 32) values, have been renamed
+ to SB-KERNEL:WORD-LOGICAL-FOO. Modular arithmetic should be used
+ instead of the old functions.
+ * new feature: on platforms where "dladdr" is available foreign
+ function names now appear in backtraces. (based on Helmut Eller's
+ work for CMUCL)
+ * documentation: documentation for SB-BSD-SOCKETS, SB-GRAY,
+ SB-SIMPLE-STREAMS, and SB-PROFILE have been integrated into the user
+ manual.
+ * documentation: ASDF manual is now distributed with SBCL.
+ * bug fix: SBCL can now load its contributed modules with REQUIRE
+ even if the system-provided entries have been removed from
+ ASDF:*CENTRAL-REGISTRY*. Infinite recursion in REQUIRE is also
+ detected.
+ * bug fix: backtraces involving undefined functions or assembly
+ routines are more informative. (thanks to Brian Downing)
+ * bug fix: mutually referent alien structures now work correctly.
+ (reported by Rick Taube)
+ * bug fix: structures defined by WITH-ALIEN can be referred to
+ within other definitions in the same WITH-ALIEN.
+ * bug fix: division operators (MOD, TRUNCATE and the like) with
+ constant zero divisors and integer dividends no longer generate
+ left shifts.
+ * bug fix: provide default methods for INPUT-STREAM-P and
+ OUTPUT-STREAM-P specialized on SB-GRAY:FUNDAMENTAL-STREAM.
+ * bug fix: improve the detection and resolution of MOP metacycles
+ (where effective method computation depends on the generic function
+ having its effective method computed). (reported by Bruno Haible)
+ * bug fix: pass the right initargs to :BEFORE or :AFTER methods on
+ SHARED-INITIALIZE or INITIALIZE-INSTANCE in optimized
+ MAKE-INSTANCE constructors. (reported by Axel Schairer for cmucl)
+ * bug fix: pathnames with relative directory components can be
+ represented relative to default pathnames.
+ * optimization: in taking the GCD of bignums, reduce the two bignums
+ to approximately the same size (using Euclid's algorithm) before
+ applying the more sophisticated binary GCD. (thanks to Juho
+ Snellman)
+ * optimization: COUNT on bitvectors now operates word-at-a-time.
+ * optimization: ASH with a positive, but not necessarily constant,
+ (leftwards) shift, when in a modular context, is compiled to a
+ hardware shift.
+ * fixed some bugs revealed by Paul Dietz' test suite:
+ ** FORMAT variable parameters ("~V<char>") are defaulted properly
+ if the corresponding argument is NIL.
+ ** FORMAT directives accepting a minpad parameter treat negative
+ values as 0.
+ ** literal commas as character parameters to FORMAT directives are
+ parsed correctly.
+ ** literal spaces directly after ~<Newline> directives within a
+ format-logical-block (~:< ~@:>) do not induce :FILL-style
+ conditional newlines.
+ ** PRINT-UNREADABLE-OBJECT inserts spaces as specified (and only
+ as specified: it no longer includes conditional newlines).
+ ** PRINC-TO-STRING binds *PRINT-READABLY* to NIL (as well as
+ *PRINT-ESCAPE*).
+ ** PPRINT-LOGICAL-BLOCK signals a TYPE-ERROR if its :PREFIX or
+ :PER-LINE-PREFIX argument does not evaluate to a string.
+
changes in sbcl-0.8.13 relative to sbcl-0.8.12:
* new feature: SB-PACKAGE-LOCKS. See the "Package Locks" section of
- the manual for details; add :SB-PACKAGE-LOCKS in
- customize-target-features.lisp to enable them.
+ the manual for details; for now, package locks can be disabled by
+ removing :SB-PACKAGE-LOCKS in customize-target-features.lisp, but
+ if no major problems are found then it is likely that they will be
+ compiled in unconditionally.
+ * major incompatible change: LOAD-FOREIGN and LOAD-1-FOREIGN are now
+ unsupported operators on all platforms. To load a shared library
+ into SBCL, use SB-ALIEN:LOAD-SHARED-OBJECT. To load a non-shared
+ object file, link it into a shared library outside of SBCL and
+ load it using SB-ALIEN:LOAD-SHARED-OBJECT. (incidentally fixes
+ bug #79)
+ * bug workaround: ROOM T and the GC were not working together
+ reliably, because invariants expected by the SB!VM:INSTANCE-USAGE
+ reporting facility aren't preserved. That reporting has been
+ disabled, so now until and unless someone figures out how to make it
+ work reliably with the current GC, (ROOM T) is equivalent to (ROOM).
* minor incompatible change: as threatened around sbcl-0.8.0, the
home package of MOP-related symbols is now SB-MOP, not SB-PCL.
The symbols are also exported from SB-PCL for backwards
compatibility, but more so than before SB-PCL should be treated as
an implementation-internal package.
+ * fasl format changed: SBCL 0.8.13 fasls are incompatible with those
+ of earlier versions
* the SB-SPROF contrib now works on (most) non-x86 architectures.
It is known as of this release not to work on the Alpha, however.
- * fixed bug: initialization of condition class metaobjects no longer
- causes an instance of the condition to be created. (reported by Marco
- Baringer)
* fixed bug #167: errors signalled due to illegal syntax in method
bodies are now more legible.
* fixed bug #338: instances of EQL-SPECIFIER are now valid type
* fixed bug #334: programmatic addition of slots using specialized
methods on SB-MOP:COMPUTE-SLOTS works for :ALLOCATION :INSTANCE
and :ALLOCATION :CLASS slots.
+ * fixed bug #269: SCALE-FLOAT scales floats by any integer, not just
+ float exponents. (rereported by Peter Seibel)
* fixed a bug: #\Space (and other whitespace characters) are no
longer considered to be macro characters in standard syntax by
GET-MACRO-CHARACTER.
+ * fixed bug: initialization of condition class metaobjects no longer
+ causes an instance of the condition to be created. (reported by
+ Marco Baringer)
+ * fixed bug: it is now possible to have slots such that
+ SB-MOP:SLOT-DEFINITION-ALLOCATION of the effective slot
+ description is neither :INSTANCE nor :CLASS.
+ * fixed bug: the ctor optimization of MAKE-INSTANCE now respects
+ user-defined methods on SLOT-BOUNDP-USING-CLASS and (SETF
+ SLOT-VALUE-USING-CLASS), and no longer causes errors with
+ non-standard SLOT-DEFINITION-ALLOCATION values.
+ * fixed bugs: various race conditions handling exiting threads.
+ CL-PPCRE's thread torture test now passes.
+ * fixed arguably-a-bug: GC time proportional to number of threads in
+ system even when most of them are idle
+ * optimization: improved performance of BIT and SBIT on bit-vectors.
+ * .fasl file incompatibility: The fasl file version number has
+ been incremented because of changes associated with package locks.
changes in sbcl-0.8.12 relative to sbcl-0.8.11:
* minor incompatible change: the system no longer provides