0.9.16.27:
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 4fca016..4c2a480 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,20 +1,75 @@
 ;;;; -*- coding: utf-8; -*-
+changes in sbcl-0.9.17 (0.9.99?) relative to sbcl-0.9.16:
+  * incompatible change: External-format support for FFI calls.  The
+    SB-ALIEN:C-STRING no longer implies an ASCII
+    external-format. Instead the string is subject to external-format
+    conversion. Additionally return values of type SB-ALIEN:C-STRING
+    are by default of type (SIMPLE-ARRAY CHARACTER), not
+    SIMPLE-BASE-STRING. For an alien type that behaves like the old
+    SB-ALIEN:C-STRING type, use (SB-ALIEN:C-STRING :EXTERNAL-FORMAT
+    :ASCII :ELEMENT-TYPE BASE-CHAR).  (thanks to Yaroslav Kavenchuk)
+  * incompatible change: SB-EXT package no longer contains the
+    following unused symbols: *GC-NOTIFY-AFTER*, *GC-NOTIFY-BEFORE*,
+    *GC-NOTIFY-STREAM*, *ERROR-PRINT-LENGTH*, *ERROR-PRINT-LEVEL*,
+    *ERROR-PRINT-LINES*
+  * minor incompatible change: the direct superclasses of
+    SB-MOP:FUNCALLABLE-STANDARD-OBJECT are (FUNCTION STANDARD-OBJECT),
+    not (STANDARD-OBJECT FUNCTION).  This makes the
+    class-precedence-lists of GENERIC-FUNCTION and
+    STANDARD-GENERIC-FUNCTION comply with the requirement of ANSI
+    1.4.4.5.
+  * new feature: Add a version of evaluator that uses an interpreter instead
+    of the compiler. EVAL still uses the compiler by default, to switch it
+    to use the interpreter, set the value of the variable 
+    SB-EXT:*EVALUATOR-MODE* to :INTERPRET.
+  * bug fix: ENOUGH-NAMESTRING on pathnames with no name and a pattern
+    for a type now works.
+  * bug fix: loading of default sysinit file works. (thanks to Leonid
+    Slobodov)
+  * bug fix: better detection of circularities in the file-compiler.
+    (reported by Marco Monteiro)
+  * bug fix: the CL pathname functions now work with files that have
+    non-ASCII characters in their names (thanks to Yaroslav Kavenchuk)
+  * bug fix: The :PTY argument for RUN-PROGRAM will now work on 
+    systems with Unix98 pty semantics.
+  * bug fix: arguments to RUN-PROGRAM are escaped correctly on win32
+    (thanks to Yaroslav Kavenchuk)
+  * bug fix: ASDF-INSTALL will now work with bsd tar.
+  * bug fix: ASDF-INSTALL uses GNU tar on Solaris (thanks to Josip
+    Gracin).
+  * bug fix: timers expiring in dead threads no longer cause a
+    type-error (reported by Paul "Nonny Mouse"). 
+
 changes in sbcl-0.9.16 relative to sbcl-0.9.15:
   * feature: implemented the READER-METHOD-CLASS and
     WRITER-METHOD-CLASS portion of the Class Initialization Protocol
     as specified by AMOP.
+  * incompatible change: variable SB-EXT:*USE-IMPLEMENTATION-TYPES*
+    no longer exists.
   * optimization: faster LOGCOUNT implementation on x86 and x86-64
     (thanks to Lutz Euler)
   * optimization: hashing of general arrays and vectors has been
     improved. (reported by Any Fingerhut)
   * enhancement: SB-INTROSPECT is now able to find definitions of
     profiled functions. (thanks to Troels Henriksen)
+  * enhancement: compiler-macro expansion applies now to FUNCALL forms
+    as well, allowing compiler-macros for SETF-functions to expand.
+  * enhancement: step-instrumentation no longer wraps known
+    single-value functions with multiple-value context, allowing
+    better type inference.
   * fixed bug #337: use of MAKE-METHOD in method combination now works
     even in the presence of user-defined method classes.  (reported by
     Bruno Haible and Pascal Costanza)
   * fixed bug #339(c): if there are applicable methods not part of any
     long-form method-combination group, call INVALID-METHOD-ERROR.
     (reported by Bruno Haible)
+  * fixed bug #361: the :FUNCTION initarg in the protocol for
+    initialization of methods can now be used to override
+    internally-produced optimized functions.  (reported by Bruno
+    Haible)
+  * bug fix: extensions of MAKE-METHOD-LAMBDA which wrap the
+    system-provided lambda expression no longer cause warnings about
+    unbound #:|pv-table| symbols.
   * bug fix: improved the handling of type declarations and the
     detection of violations for keyword arguments with non-constant
     defaults.
@@ -26,6 +81,29 @@ changes in sbcl-0.9.16 relative to sbcl-0.9.15:
   * bug fix: format strings with ~> without matching ~< no longer
     trigger an AVER, but signal an understandable error instead.
     (reported by Antonio Martinez)
+  * bug fix: specifying an output-file without a pathname-type for
+    COMPILE-FILE or COMPILE-FILE-PATHNAME resulted in using the type
+    of input-file instead of "fasl". (reported by Robert Dodier)
+  * bug fix: compiler-macro lambda-list parsing of FUNCALL forms.
+    (reported by James Y Knight).
+  * bug fix: compiler-macros-function did not consider the environment
+    argument for shadowing by local functions.
+  * bug fix: compiler-macros expansion was inhibited by local INLINE 
+    declarations.
+  * bug fix: inline expansions of known functions were subject to
+    step-instrumentation in high debug policies, leading to problems
+    with type-inference.
+  * bug fix: compiler failed to differentiate between different CONS
+    types in some cases.
+  * bug fix: fixed input, output and error redirection in RUN-PROGRAM
+    for win32. (thanks to Mike Thomas and Yaroslav Kavenchuk)
+  * bug fix: #368: incorrect use of expressed vs. upgraded array
+    element type.
+  * bug fix: #306a: more precise unions of array types.
+  * thread-safety improvements:
+    ** CONDITION-WAIT could return early on Linux, if the thread was
+       interrupted and subsequently continued with SIGCONT.
+    ** STABLE-SORT and ADJUST-ARRAY were not reentrant.
 
 changes in sbcl-0.9.15 relative to sbcl-0.9.14:
   * added support for the ucs-2 external format.  (contributed by Ivan
@@ -134,6 +212,8 @@ changes in sbcl-0.9.13 relative to sbcl-0.9.12:
     faster
   * optimization: added a limited bytecode compiler for simple toplevel
     forms, speeding up compilation and FASL loading
+  * bug fix: the statistical profiler now properly distinguishes anonymous
+    functions
 
 changes in sbcl-0.9.12 relative to sbcl-0.9.11:
   * minor incompatible change: in sbcl-0.9.11 (but not earlier