0.pre8.9:
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 80a1c63..faa9abc 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1494,9 +1494,144 @@ changes in sbcl-0.7.12 relative to sbcl-0.7.11:
   * fixed bug 62: constraints were not propagated into a loop.
   * fixed bug in embedded calls of SORT (reported and investigated by
     Wolfgang Jenkner).
-  * fixed bugs identified by Paul F. Dietz related to printing and
-    reading of arrays with some dimensions having length 0.  (thanks
+  * fixed some bugs revealed by Paul Dietz' test suite:
+    ** printing and reading of arrays with some dimensions having
+       length 0 (thanks to Gerd Moellmann);
+    ** BOA constructor with &AUX argument without a default value does
+       not cause a type error;
+    ** CONSTANTP now returns true for all self-evaluating objects.
+
+changes in sbcl-0.7.13 relative to sbcl-0.7.12:
+  * incompatible packaging change: in line with Unix convention, 
+    SBCL now looks for its core file in /usr/{local/,}lib/sbcl/sbcl.core 
+    if it's not in $SBCL_HOME.  It also sets SBCL_HOME to match.
+  * REQUIRE and PROVIDE are now optionally capable of doing something
+    useful. See the documentation string for REQUIRE.
+  * infrastructure for a managed SBCL contrib system: contributed 
+    modules in this release include:
+    ** the ASDF system definition facility;
+    ** an interface to the BSD Sockets API;
+    ** an ACL-like convenience interface to the repl; 
+       (thanks to Kevin Rosenberg)
+    ** an implementation of ROTATE-BYTE, with efficient implementation
+       on x86 hardware;
+  * fixed a bug in LOG, so that LOG of a rational argument near 1 now
+    gives a closer approximation to the right answer than previously.
+    (thanks to Raymond Toy)
+  * fixed bug 157: TYPEP, SUBTYPEP, UPGRADED-ARRAY-ELEMENT-TYPE and
+    UPGRADED-COMPLEX-PART-TYPE now take (ignored, in all situations)
+    optional environment arguments, as required by ANSI.
+  * fixed bugs in other functions taking environment objects, allowing
+    calls with an explicit NIL environment argument to be compiled
+    without error.
+  * fixed bug 228: primary return values from
+    FUNCTION-LAMBDA-EXPRESSION are either NIL or suitable for input to
+    COMPILE or FUNCTION.
+  * fixed a bug in DEFSTRUCT: predicates for :NAMED structures with
+    :TYPE will no longer signal errors on innocuous objects.
+  * fixed bug 231b: SETQ is better at respecting type declarations in
+    the lexical environment.
+  * fixed a bug in DEFCLASS: classes named by symbols with no or
+    unprintable packages can now be defined.
+  * fixed a bug in RESTART-BIND: The :TEST-FUNCTION option had been
+    carelessly renamed to :TEST-FUN.  (thanks to Robert E. Brown)
+  * fixed compiler failure related to checking types of functions.
+    (reported by Robert E. Brown)
+  * the compiler is now much more consistent in its error-checking
+    treatment of bounding index arguments to sequence functions: in
+    (SAFETY 3) code, errors will be signalled in almost all cases if
+    invalid sequence bounding indices are passed to functions defined
+    by ANSI to operate on sequences.
+  * fixed a bug in the build procedure: documentation of SBCL-specific
+    packages is now preserved and available in the final Lisp image.
+  * lifted FDEFINITION lookup out of loops in the implementation of
+    many list operations.  (thanks to Robert E. Brown)
+  * fixed a bug in the reader: the #n# reader macro now works for
+    objects of type STANDARD-OBJECT.  (reported by Tony Martinez)
+  * the compiler is now aware that SYMBOL-FUNCTION returns a FUNCTION
+    and that READ-DELIMITED-LIST returns a LIST.  (thanks to Robert
+    E. Brown and Tony Martinez respectively)
+  * PCL is now smarter about SLOT-VALUE, (SETF SLOT-VALUE) and
+    SLOT-BOUNDP: in particular, it is now able to optimize them much
+    better, and is now not vulnerable to having packages renamed.
+    Furthermore, a compliance bug has been fixed: SLOT-MISSING is now
+    always called when a slot is not present in an instance.  (thanks
     to Gerd Moellmann)
+  * fixed a bug related to CONCATENATED-STREAMs: PEEK-CHAR will no
+    longer signal an error on unreading a character following EOF on
+    the previous constituent stream.  (thanks to Tony Martinez)
+  * fixed some bugs revealed by Paul Dietz' test suite:
+    ** ARRAY-IN-BOUNDS-P now allows arbitrary integers as arguments,
+       not just nonnegative fixnums;
+    ** the logical bit-array operators such as BIT-AND now accept an
+       explicit NIL for their "opt-arg" argument (to indicate a
+       freshly-consed result bit-array);
+    ** ELT now signals an error on an invalid sequence index in safe
+       code;
+    ** the type system is now cleverer about negations of numeric
+       types, and consequently understands the BIGNUM and RATIO types
+       better;
+    ** the type system is now cleverer about the interaction between
+       INTEGER and RATIO types: while bugs still remain, many more
+       cases are accurately computed;
+    ** in TYPECASE, OTHERWISE now only introduces an otherwise-clause
+       if it is in the last clause;
+    ** CONSTANTLY now correctly returns a side-effect-free function in
+       all cases;
+    ** DECLARE is no longer treated as a special-operator; in
+       particular, SPECIAL-OPERATOR-P no longer returns T for DECLARE;
+  * incremented fasl file version number due to the change in the
+    DEFSTRUCT-SLOT-DESCRIPTION structure.
+
+changes in sbcl-0.7.14 relative to sbcl-0.7.13:
+  * a better implementation of SXHASH on (simple) bit vectors,
+    measured both in execution speed and in distribution of results
+    over the positive fixnums, has been installed.  Likewise, a better
+    implementation of EQUAL for simple bit vectors is now available.
+  * fixed CEILING optimization for a divisor of form 2^k.
+  * fixed bug 240 (emitting extra style warnings "using the lexical
+    binding of the symbol *XXX*" for &OPTIONAL arguments).  (reported
+    by Antonio Martinez)
+  * fixed SXHASH, giving different results for NIL depending on type
+    declarations (SYMBOL or LIST).  (thanks to Gerd Moellmann)
+  * fixed bug in DEFPARAMETER and DEFVAR: they could assign a lexical
+    variable.  (found by Rolf Wester)
+  * SBCL does not ignore type declarations for special
+    variables.  (reported by rif on c.l.l 2003-03-05)
+  * some bug fixes in contrib/sb-aclrepl/
+  * fixed some bugs revealed by Paul Dietz' test suite:
+    ** a bug in the CONS type specifier, whereby the CAR and CDR
+       types got intertwined, has been fixed;
+    ** the type system is now able to reason about the interaction
+       between INTEGER and RATIO types more completely;
+    ** APPEND, [N]REVERSE and NRECONC check that those their
+       arguments, which must be proper lists, are really so;
+    ** An array specialized to be unable to hold elements has been
+       implemented, as required -- yes, really -- by ANSI;
+    ** GETF and GET-PROPERTIES throw a TYPE-ERROR, not a SIMPLE-ERROR,
+       on malformed property lists;
+
+changes in sbcl-0.8.0 relative to sbcl-0.7.14
+  * the old distinction between CL:CLASS objects and SB-PCL:CLASS
+    objects has been removed.  The return value from CL:FIND-CLASS is
+    now a CLOS class, and likewise that of CL:CLASS-OF;
+    CL:BUILT-IN-CLASS, CL:STRUCTURE-CLASS and CL:STANDARD-CLASS name
+    CLOS classes.
+  * an interface to the MetaObject Protocol, as described in Kiczales,
+    des Rivieres and Bobrow's "The Art of the Metaobject Protocol",
+    MIT Press, 1991, is available from the SB-MOP package.
+  * incompatible change: the SB-PCL package should now be considered a
+    private implementation detail, and no longer a semi-private MOP
+    interface.
+  * known functions, which cannot be open coded by backend, are
+    considered to be able to check types of their arguments.
+    (reported by Nathan J. Froyd)
+  * fixed a bug in computing method discriminating functions: it is
+    now possible to define methods specialized on classes which have
+    forward-referenced superclasses.  (thanks to Gerd Moellmann)
+  * fixed some bugs revealed by Paul Dietz' test suite:
+    ** COPY-ALIST now signals an error if its argument is a dotted
+       list;
 
 planned incompatible changes in 0.7.x:
   * (not done yet, but planned:) When the profiling interface settles