+changes in sbcl-0.8.18 relative to sbcl-0.8.17:
+ * new feature: reloading changed shared object files with
+ LOAD-SHARED-OBJECT now causes the new definitions to take effect.
+ * Solaris 10 (aka SunOS 5.10) on the SPARC platform is now
+ supported. (thanks to Dan Debertin)
+ * fixed bug #331: structure-class instances corresponding to
+ DEFSTRUCT forms are now created eagerly.
+ * fixed bug #345: backtraces from calls to undefined functions work
+ on x86 as well. Related bug #61 is now also partially fixed on x86
+ (backtraces from throws to unknown catch tags.)
+ * bug fix: lambda-list parsing is now stricter vrt. order and number
+ of lambda-list keywords.
+ * bug fix: as specified by AMOP, an error is signalled if a
+ class-option appears multiple times in a DEFCLASS form. (reported
+ by Bruno Haible)
+ * bug fix: RANDOM can be compiled when the compiler derives the type
+ of its numeric argument as a disjoint set of small integers.
+ (reported by Paul Dietz)
+ * fixed some bugs revealed by Paul Dietz' test suite:
+ ** INCF, DECF and REMF evaluate their place form as specified in
+ CLtS 5.1.3.
+ ** FORMATTER expands ~{ ~} iteration directives with V or #
+ parameters correctly.
+ ** FORMATTER deals with the ~@[ ~] conditional directive where the
+ consequent uses no arguments correctly.
+ ** the system has a partial understanding of the (COMPLEX RATIO)
+ type specifier.
+ ** UPGRADED-COMPLEX-PART-TYPE obeys the lattice upgrading rules
+ required.
+
changes in sbcl-0.8.17 relative to sbcl-0.8.16:
- * the system now has rudimentary external-format support; the
- primary user-visible change at this time is that characters with
- the high bit set (such as lower-case-e-acute) will print correctly
- to a terminal in a UTF-8 environment.
+ * new feature: a build-time option (controlled by the :SB-UNICODE
+ keyword feature, enabled by default) for building the system with
+ support for the entire 21-bit character space defined by the
+ Unicode consortium.
+ * new feature: the system now has rudimentary external-format
+ support; the primary user-visible change at this time is that
+ characters with the high bit set (such as lower-case-e-acute) will
+ print correctly to a terminal in a UTF-8 environment.
* minor incompatible change: BASE-CHAR no longer names a class;
however, CHARACTER continues to do so, as required by ANSI.
* minor incompatible change: SB-DEBUG:*DEBUG-PRINT-FOO* variables
* minor incompatible change: SB-C::*COMPILER-ERROR-PRINT-FOO* variables
are no longer supported: use SB-EXT:*COMPILER-PRINT-VARIABLE-ALIST*
instead.
+ * fixed bug #351: better error-handlind and reporting for malformed
+ LET and LET* forms.
+ * fixed bug #350: bignum-printing is now more memory-efficient,
+ allowing printing of very large bignums, eg. (expt 2 10000000).
+ (reported by Bruno Haible)
+ * fixed bug #302: better primitive-type selection for intersection
+ types.
* fixed bug #308: non-graphic characters now all have names, as
required. (reported by Bruno Haible)
+ * bug fix: redefining a class with different superclasses now correctly
+ removes it from the direct-subclasses of its previous superclasses.
+ (reported by David Morse)
+ * bug fix: (SETF FIND-CLASS) using a FORWARD-REFERENCED-CLASS as the
+ new value now works. (reported by Bruno Haible)
+ * bug fix: correct canonicalization of multiple non-standard slot
+ options in DEFCLASS as per AMOP 5.4.2. (reported by Bruno Haible)
+ * bug fix: SB-MOP:CLASS-PROTOTYPE now signals an error if the class
+ is not yet finalized, as required by AMOP. (reported by Bruno Haible)
+ * bug fix: SB-MOP:ALLOCATE-INSTANCE method for instances of BUILT-IN-CLASS
+ now exists, an signals an error.
+ * bug fix: duplicate LOOP variable bindings now signal PROGRAM-ERROR
+ during macroexpansion for non-iteration variables as well. (reported
+ by Bruno Haible for CMUCL)
* bug fix: Cyclic structures and unprintable objects in compiler
messages no longer cause errors. (reported by Bruno Haible)
* bug fix: READ, READ-PRESERVING-WHITESPACE, READ-DELIMITED-LIST,
* bug fix: EQUAL compiler optimizations is less aggressive on
strings which can potentially compare true despite having distinct
specialized array element types.
+ * bug fix: unit enumerations can be defined without dividing by
+ zero. (thanks to Vincent Arkesteijn)
* FORMAT compile-time argument count checking has been enhanced.
(report from Bruno Haible for CMUCL)
+ * a partial workaround for the bug 262: the compiler does not try to
+ inline-expand a local function doing RETURN-FROM from a deleted
+ BLOCK. (thanks to Peter Denno for the bug report and to David
+ Wragg for the simple test case)
* fixed some bugs revealed by Paul Dietz' test suite:
** RENAME-PACKAGE allows all package designators as new package
names.
** constraint propagation and lambda variable substitution are
more cautious in dealing with partially deleted code.
+ ** compiler sometimes lost reoptimization passes.
+ ** CERROR, given a condition as condition designator, passes its
+ remaining arguments to the continue format control without
+ complaint.
+ ** Case-altering FORMAT directives work correctly on non-ASCII
+ characters.
+ ** The REAL type specifier handles bounds outside the floating
+ point ranges without signalling FLOATING-POINT-OVERFLOW.
+ ** Functions with IR1-transformations can create intercomponent
+ references to global functions.
+ ** NIL parameter to the FORMAT directive ~^ means `unsupplied
+ parameter'.
+ ** FORMAT ~R treats a nil value for its first parameter correctly.
changes in sbcl-0.8.16 relative to sbcl-0.8.15:
* enhancement: saving cores with foreign code loaded is now