Fix make-array transforms.
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 7327aaa..d294148 100644 (file)
--- a/NEWS
+++ b/NEWS
 ;;;; -*- coding: utf-8; fill-column: 78 -*-
-changes relative to sbcl-1.1.10
+changes relative to sbcl-1.1.14:
+  * new feature: the iterative spilling/coloring register allocator developed
+    by Alexandra Barchunova during Google Summer of Code 2013 is now merged
+    in.  By default, it only activates for functions that optimize with
+    (speed 3) and (> speed compilation-speed), but setting
+    sb-regalloc:*register-allocation-method* to :iterative forces its
+    execution.  The previous behaviour can be obtained by instead setting that
+    variable to :greedy.  Thanks again to Google for their support, and, more
+    crucially, to Alexandra Barchunova for her hard work.
+  * optimization: make-array with known element-type and unknown dimensions is
+    much faster.
+  * optimization: make-array with unknown element-type is faster as well.
+    (lp#1004501)
+  * enhancement: sb-ext:save-lisp-and-die on Windows now accepts
+    :application-type argument, which can be :console or :gui. :gui allows
+    having GUI applications without an automatically appearing console window.
+  * enhancement: reduced conservativism on GENCGC platforms:
+    conservative roots must be valid-looking tagged pointers or point
+    within a code object, not merely point to within the allocated part
+    of a page, in order to pin a page.
+  * enhancement: support for "Mac Roman" external format.
+  * enhancement: encapsulation of named generic functions now happens without
+    altering the identity of the function bound to the name.
+  * bug fix: Windows applications without the console window no longer misbehave.
+    (patch by Wilfredo Velazquez, lp#1256034).
+  * bug fix: modular arithmetic optimizations do not stumble on dead branches
+    with bad constants. (reported by Douglas Katzman)
+  * bug fix: CLISP can be used again as a cross-compilation host.
+    (Thanks to Vasily Postnicov, lp#1261451)
+  * bug fix: run-program crashed with :directory nil. (lp#1265077)
+
+changes in sbcl-1.1.14 relative to sbcl-1.1.13:
+  * optimization: complicated TYPEP tests are less opaque to the type
+    propagation pass. (lp#1229340)
+  * optimization: [N]BUTLAST perform a single pass over the list. (lp#1245697)
+  * optimization: EQUALP on structures with raw slots (double-float/complex)
+    no longer conses and is faster.
+  * optimization: RESTART-CASE expands to more compact code.
+    Thanks to Jan Moringen. (lp#1249055)
+  * enhancement: Top-level defmethod without defgeneric no longer causes
+    undefined-function warnings in subsequent forms. (lp#503095)
+  * enhancement: Better error messages for system errors on Windows.
+  * enhancement: run-sbcl.sh is usefully handled by rlwrap.  Thanks to William
+    Cushing. (lp#1249183)
+  * enhancement: new function SB-EXT:ASSERT-VERSION->= accepts a version
+    specification (multiple integer arguments) and signals a continuable error
+    if the current SBCL version is lower (older) than the specification.
+    (lp#674372)
+  * enhancement: better ARRAY-RANK result derivation. (lp#1252108)
+  * bug fix: EQUALP now compares correctly structures with raw slots larger
+    than a single word.
+  * bug fix: contribs couldn't be built on Windows with MinGW.
+  * bug fix: Better pathname handling on Windows. (lp#922117)
+  * bug fix: OPEN reports a more meaningful error when an existing file is
+    opened for output with :if-exists :new-version.  Thanks to Philip
+    Munksgaard. (lp#455381)
+  * bug fix: DEFSTRUCTs with NIL as a slot name no longer cause strange
+    CLOS-related errors.  (lp#633911)
+  * bug fix: GC deadlocks caused by concurrent consing on Windows.
+
+changes in sbcl-1.1.13 relative to sbcl-1.1.12:
+  * optimization: better distribution of SXHASH over small conses of related
+    values.  (lp#309443)
+  * other improvements to SXHASH:
+    ** use the whole of the positive-fixnum range for SXHASH of fixnums
+  * enhancement: The error message when calling an undefined alien function
+    includes the name of the function on x86-64.
+  * enhancement: sb-ext:run-program now supports :environment on Windows.
+  * enhancement: ASDF is no longer required to load contribs at runtime.
+    (lp#1132254)
+  * enhancement: when called with a symbol, FIND-RESTART no longer calls
+    COMPUTE-RESTARTS, making it faster and cons less (lp#769615)
+  * enhancement: FIND-RESTART and COMPUTE-RESTARTS handle huge restart
+    clusters better in some cases
+  * enhancement: SOME/ANY/other quantification higher-order functions no
+    longer cons. (lp#1070635)
+  * bug fix: forward references to classes in fasls can now be loaded.
+    (lp#746132)
+  * bug fix: don't warn on a interpreted->compiled function redefinition
+    from the same location.  (patch by Douglas Katzman, lp#1042405)
+  * bug fix: Create vectors of proper internal length when reading literal
+    vectors from FASLs. (Reported by Jan Moringen)
+  * bug fix: COMPILE can now successfully compile setf functions.
+    (Reported by Douglas Katzman)
+  * bug fix: run-program performs more correct escaping of arguments on
+    Windows. (lp#1239242)
+  * bug fix: function-lambda-expression on generic functions returns the
+    actual name.
+  * bug fix: (the [type] [constant]) now warns when [constant] matches
+    [type] except for the number of values.  (Reported by Nathan Trapuzzano
+    on sbcl-help)
+  * bug fix: signal errors in required cases of slot-definition initialization
+    protocol.  (lp#309072)
+  * bug fix: run-sbcl.sh works better in the presence of symlinks on OS X.
+    (thanks to Stelian Ionescu, lp#1242643)
+  * bug fix: when given a restart object, FIND-RESTART checks whether the
+    restart is active and, when a condition is supplied, whether the restart
+    is associated to a different condition (lp#774410)
+
+changes in sbcl-1.1.12 relative to sbcl-1.1.11:
+  * enhancement: Add sb-bsd-sockets:socket-shutdown, for calling
+    shutdown(3). (thanks to Jan Moringen, lp#1207483)
+  * enhancement: document extensible sequences.  (thanks to Jan Moringen,
+    lp#994528)
+  * optimization: EQUAL and EQUALP transforms are smarter.
+    (thanks to Elias Martenson, lp#1220084)
+  * optimization: CHAR-EQUAL is faster for constant and base-char arguments.
+  * bug fix: probe-file now can access symlinks to pipes and sockets in
+    /proc/pid/fd on Linux. (reported by Eric Schulte)
+  * bug fix: SBCL can now be built on Solaris x86-64.
+  * bug fix: Floating point exceptions do not persist on Solaris anymore.
+  * bug fix: (setf . a) is pprinted correctly (reported by Douglas Katzman).
+  * bug fix: handle compiler-error in LOAD when it's not run from inside EVAL.
+    (lp#1219601)
+  * bug fix: SB-GMP:MPZ-POW no longer segfaults given a non-bignum base.
+    (thanks to Stephan Frank)
+  * bug fix: space allocation of result bignums in SB-GMP is more accurate.
+    (thanks to Stephan Frank, lp#1206191)
+  * bug fix: sb-safepoint can now reliably handle signal interruptions of
+    foreign code. (lp#1133018)
+  * bug fix: the compiler-macro for MAKE-INSTANCE when emitting "fallback"
+    constructors no longer fails to merge actual and default initargs
+    (thanks to Jan Moringen, lp#1179858)
+  * bug fix: the compiler-macro for MAKE-INSTANCE when emitting "fallback"
+    constructors handles non-KEYWORD initialization arguments more correctly.
+  * bug fix: loading the SB-SIMPLE-STREAMS contributed module no longer
+    clobbers FILE-NAMESTRING.  (thanks to Anton Kovalenko, lp#884603)
+  * bug fix: class definitions with CPLs inconsistent with their metaclasses
+    are less likely to destroy the object system's integrity.  (lp#309076)
+  * bug fix: restart clause parsing in RESTART-CASE is more in line with the
+    standard.  (lp#1203585, thanks to Jan Moringen)
+  * bug fix: silence a note from RESTART-CASE under high-SPEED optimization
+    settings.  (lp#1023721)
+  * bug fix: getting the order of arguments to
+    SB-MOP:SET-FUNCALLABLE-INSTANCE-FUNCTION wrong produces a sensible error
+    rather than a failed AVER.  (reported by Paul Nathan)
+  * bug fix: Parsing of &optional/&key/&rest arguments now never overwrites
+    arguments during copying on x86 and x86-64; it may still happen on other
+    platforms when there are more fixed arguments than stack slots.
+    (reported by Jan Moringen)
+
+changes in sbcl-1.1.11 relative to sbcl-1.1.10:
   * enhancement: support building the manual under texinfo version 5.
     (lp#1189146)
+  * enhancement: Windows builds no longer display the "Kitten of Death" message.
+    A warning is instead appended to the regular banner, and may be muted with
+    --noinform.  (lp#728247)
+  * enhancement: support building under new linker handling of syscalls under
+    NetBSD.  (thanks to Robert Swindells)
   * bug fix: undefined function errors are now properly reported on PPC and MIPS.
     (regression since 1.1.9)
   * bug fix: (funcall (function X junk)) didn't causes an error when X had a
-    compiler macro.
-    Patch by Douglas Katzman.
+    compiler macro.  (thanks to Douglas Katzman).
   * bug fix: signal a warning when defining a setf-function when a
-    setf-expander is already present.
-    Patch by Douglas Katzman.
+    setf-expander is already present.  (thanks to Douglas Katzman).
+  * bug fix: improved threading on PPC.  
+  * bug fix: ROOM works again on Windows.  (lp#1206456)
+  * bug fix: Streams were flushed even when there was one byte still left in
+    the buffer. (lp#910213)
+  * bug fix: OPEN handles correctly when :if-exists and :if-does-not-exist are
+    either NIL or :ERROR.  (reported by Jan Moringen)
 
 changes in sbcl-1.1.10 relative to sbcl-1.1.9:
   * enhancement: ASDF has been updated to 3.0.2.