0.7.11.2:
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 8046d33..d7f2e71 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1346,12 +1346,18 @@ changes in sbcl-0.7.9 relative to sbcl-0.7.8:
     :ALLOW-OTHER-KEYS
 
 changes in sbcl-0.7.10 relative to sbcl-0.7.9:
+  * Support for building SBCL for MIPS platforms running in
+    little-endian mode has now been checked in, and basic
+    functionality on said platforms verified.
   * minor incompatible change: PCL now records the pathname of a file
     in which methods and the like are defined, rather than its
     truename.
   * minor incompatible change: TRUENAME now considers the truename of
     a file naming a directory to be the pathname with :DIRECTORY
     component indicating that directory.
+  * minor incompatible change: a NAMED clause in the extended form of
+    LOOP no longer causes a BLOCK named NIL to surround the LOOP.  The
+    reason for the previous behaviour is unclear.
   * more systematization and improvement of CLOS and MOP conformance
     in PCL (thanks to Gerd Moellman and Pierre Mai):
     ** the standard ANSI CL generic function NO-NEXT-METHOD is now
@@ -1376,51 +1382,124 @@ changes in sbcl-0.7.10 relative to sbcl-0.7.9:
     ** COMPUTE-SLOTS :AROUND now assigns locations sequentially based
        on the order returned by the primary method for classes of
        class STANDARD-CLASS;
+    ** DEFINE-METHOD-COMBINATION now works with the :ARGUMENTS option.
   * fixed some bugs shown by Paul Dietz' test suite:
-    ** DOLIST puts its body in TAGBODY
+    ** DOLIST puts its body in TAGBODY;
     ** SET-EXCLUSIVE-OR sends arguments to :TEST function in the
-       correct order
+       correct order;
     ** MULTIPLE-VALUE-SETQ evaluates side-effectful places before
-       value producing form
+       value producing form;
     ** if more variables are given to PROGV than values, extra
-       variables are bound and made to have no value
+       variables are bound and made to have no value;
     ** NSUBSTITUTE on list arguments gets the right answer with
-       :FROM-END
+       :FROM-END;
     ** ELT signals an error of type TYPE-ERROR when the index argument
        is not a valid sequence index;
     ** LOOP signals (at macroexpansion time) an error of type
        PROGRAM-ERROR when duplicate variable names are found;
-    ** LOOP supports DOWNTO and ABOVE properly (thanks to Matthew Danish)
+    ** LOOP supports DOWNTO and ABOVE properly; (thanks to Matthew Danish)
     ** FUNCALL of special-operators now cause an error of type
        UNDEFINED-FUNCTION;
     ** PSETQ now works as required in the presence of side-effecting
        symbol-macro places;
-    ** NCONC accepts any object as its last argument
-    ** :COUNT argument to sequence functions may be BIGNUM (thanks to
+    ** NCONC accepts any object as its last argument;
+    ** :COUNT argument to sequence functions may be BIGNUM; (thanks to
        Gerd Moellman)
+    ** loop-for-as-package does not require a package to be explicitely
+       specified;
+    ** LOOP WITH now treats NIL in the d-var-spec correctly as an
+       ignored binding.
   * fixed bug 166: compiler preserves "there is a way to go"
     invariant when deleting code.
   * fixed bug 172: macro lambda lists with required arguments after
     &REST arguments now cause an error to be signalled.  (thanks to
     Matthew Danish)
-  * fixed Entomotomy PEEK-CHAR-WRONGLY-ECHOS-TO-ECHO-STREAM bug (thanks
-    to Matthew Danish)
-  * fixed bug 225: STRING-STREAM is now a class (reported by Gilbert
+  * fixed Entomotomy PEEK-CHAR-WRONGLY-ECHOS-TO-ECHO-STREAM
+    bug. (thanks to Matthew Danish)
+  * fixed bug 225: STRING-STREAM is now a class. (reported by Gilbert
     Baumann)
+  * fixed bug 136: CALL-NEXT-METHOD no longer gets confused when
+    arguments are lexically rebound. (thanks to Gerd Moellmann and
+    Pierre Mai)
+  * fixed bug 194: error messages are now more informative when there
+    is no primary method applicable in a call to a generic
+    function. (thanks to Gerd Moellmann)
+  * fixed bug in command line argument checking (thanks to Julian
+    Fondren)
+  * fixed bug in COUNT-IF, making it handle :FROM-END correctly
+    (thanks to Matthew Danish)
+  * incremented fasl file version number, because of the
+    SXHASH-related changes in the layout of CLOS data structures
+
+changes in sbcl-0.7.11 relative to sbcl-0.7.10:
+  * fixed bug 127: DEFSTRUCT now does not clobber old structure
+    accessors that are related by inheritance, as specified in the
+    :CONC-NAME section of the specification of DEFSTRUCT.  (thanks to
+    Valtteri Vuorikoski)
+  * The compiler is now able to inline functions that were defined in
+    a complex lexical environment (e.g. inside a MACROLET).
+  * fixed bug in DESCRIBE, which now works on rank-0 arrays.  (thanks
+    to Lutz Euler)
+  * Support for the upcoming FreeBSD-5.0 release has been included.
+    (thanks to Dag-Erling Smorgrav)
+  * fixed bug 219: DEFINE-COMPILER-MACRO no longer has compile-time
+    effect when it is not in a toplevel context.
+  * fixed bug 222: DEFMETHOD and SYMBOL-MACROLET interactions now
+    stand a better chance of being correct.  (thanks to Gerd
+    Moellmann)
+  * fixed bug in COERCE, which now signals an error on coercing a
+    rational to a bounded real type which excludes the expected
+    answer.
+  * The compiler is now able to derive types more accurately from the
+    COERCE and COMPILE functions.
+  * fixed bug 223: functional binding is considered to be constant
+    only for symbols in the CL package.
+  * fixed bug 231: SETQ did not check the type of a variable being set
+    (reported by Robert E. Brown)
+  * A new optimization for MAKE-INSTANCE has been included, fixing
+    various bugs (including relating to :ALLOCATION :CLASS slots and
+    :DEFAULT-INITARGS over-eager evalueation).  (thanks to Gerd
+    Moellmann)
+  * fixed some LOOP bugs revealed by Paul Dietz' test suite:
+    ** As required by ANSI, LOOP now disallows anonymous collection
+       clauses such as COLLECT I in conjunction with aggregate boolean
+       clauses such as THEREIS (= I 1);
+    ** LOOP now signals an error when any variable is reused in the
+       same loop (including the potentially useful construct analogous
+       to WITH A = 1 WITH A = (1+ A);
+    ** IT is only a special loop symbol within the first clause of a
+       conditional loop clause;
+    ** LOOP with a typed iteration variable over a hashtable now
+       signals a type error iff it should.
+  * fixed some other bugs revealed by Paul Dietz' test suite:
+    ** FILE-STREAM now names the class previously known as FD-STREAM;
+    ** in DEFSTRUCT, a bare :CONC-NAME (or a :CONC-NAME with no
+       argument) no longer signals an error;
+    ** likewise in DEFSTRUCT, :CONC-NAME NIL now respects the package
+       of the slot symbol, rather than using the current package
+       ((:CONC-NAME "") continues to intern the slot's name in the
+       current package);
+  * incremented fasl file version number, because of the incompatible
+    change to the DEFSTRUCT-DESCRIPTION structure, and again because
+    of the new implementation of DEFINE-COMPILER-MACRO.
+
+changes in sbcl-0.7.12 relative to sbcl-0.7.11:
+  * fixed bug 62: constraints were not propagated into a loop.
 
 planned incompatible changes in 0.7.x:
-* When the profiling interface settles down, maybe in 0.7.x, maybe
-  later, it might impact TRACE. They both encapsulate functions, and
-  it's not clear yet how e.g. UNPROFILE will interact with TRACE
-  and UNTRACE. (This shouldn't matter, though, unless you are
-  using profiling. If you never profile anything, TRACE should
-  continue to behave as before.)
-* Inlining can now be controlled the ANSI way, without
-  MAYBE-INLINE, since the idiom
+  * (not done yet, but planned:) When the profiling interface settles
+    down, maybe in 0.7.x, maybe later, it might impact TRACE. They both
+    encapsulate functions, and it's not clear yet how e.g. UNPROFILE
+    will interact with TRACE
+    and UNTRACE. (This shouldn't matter, though, unless you are
+    using profiling. If you never profile anything, TRACE should
+    continue to behave as before.)
+  * (not done yet, but planned:) Inlining can now be controlled the
+    ANSI way, without MAYBE-INLINE, since the idiom
        (DECLAIM (INLINE FOO))
        (DEFUN FOO (..) ..)
        (DECLAIM (NOTINLINE FOO))
        (DEFUN BAR (..) (FOO ..))
        (DEFUN BLETCH (..) (DECLARE (INLINE FOO)) (FOO ..))
-  now does what ANSI says it should. The CMU-CL-style 
-  SB-EXT:MAYBE-INLINE declaration is now deprecated and ignored.
+    now does what ANSI says it should. The CMU-CL-style 
+    SB-EXT:MAYBE-INLINE declaration is now deprecated and ignored.