0.9.13.52: Windows installer tweaks
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 0401dcc..8e8829f 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,9 +1,143 @@
 ;;;; -*- coding: utf-8; -*-
 ;;;; -*- coding: utf-8; -*-
+changes in sbcl-0.9.14 relative to sbcl-0.9.13:
+  * feature: thread support on Solaris/x86, and experimental thread support
+    on OS X/x86.
+  * feature: SBCL now tries to signal a STORAGE-CONDITION when running out
+    of heap.
+  * feature: SBCL now provides USE-VALUE and STORE-VALUE restarts in the
+    default method for SLOT-UNBOUND.
+  * minor incompatible change: prevent the user from specializing the
+    new-value argument to SB-MOP:SLOT-VALUE-USING-CLASS.  It's
+    somewhat counter to the intent of the protocol, I (CSR) think, and
+    additionally it just doesn't work in SBCL as currently
+    implemented, thanks to optimizations (that are always valid for
+    the other three SLOT-VALUEish functions, but not for the setter).
+  * minor incompatible change: the :SB-LDB feature is now enabled by
+    default, and DISABLE-DEBUGGER and ENABLE-DEBUGGER also affect
+    the low-level debugger.
+  * enchancement: RUN-PROGRAM is now able to extract the file-descriptor
+    from SYNONYM-STREAM and TWO-WAY-STEAMS provided they can be decomposed
+    down to an SB-SYS:FD-STREAM, allowing direct communication in
+    more cases. Temporary files and pipes are still used as a fallback
+    strategy.
+  * thread-safety: DECODE-UNIVERSAL-TIME & GET-DECODED-TIME depended
+    on the non-reentrant C functions localtime(3) and gmtime(3).
+  * bug fix: global optimization policy was not visible in LOCALLY and 
+    MACROLET forms.
+  * bug fix: class objects can be used as specializers in methods.
+    (reported by Pascal Costanza)
+  * bug fix: native unparsing of pathnames with :DIRECTORY NIL failed
+    with a type error. (reported by blitz_ on #lisp)
+  * bug fix: unparsing logical pathnames with :NAME :WILD :TYPE NIL
+    failed with a type error.  (reported by Pascal Bourguignon)
+  * bug fix: merging pathnames against defaults with :DIRECTORY
+    starting with '(:RELATIVE :BACK) should preserve the :BACK.
+    (reported by James Y Knight)
+  * bug fix: saving large (>2GB) cores on x86-64 now works
+  * bug fix: a x86-64 backend bug when compiling (setf aref) with a 
+    constant index and a (simple-array (signed-byte 32)) array
+  * bug fix: NAME-CHAR on an invalid symbol no longer signals an
+    error (patch by Robert J. Macomber)
+  * feature: TIME now displays the amount of run-time spent in GC
+  * bug fix: The debugger now does a better job of respecting 
+    (PUSH '(*PRINT-CIRCLE* . T) SB-DEBUG:*DEBUG-PRINT-VARIABLE-ALIST*)
+    when printing SB-DEBUG:*DEBUG-CONDITION*. (This is a debugger-only
+    workaround for bug 403.) 
+  * bug fix: floating point exception handling now works on FreeBSD
+    (thanks to NIIMI Satoshi)
+  * fixed some bugs revealed by Paul Dietz' test suite:
+    ** MISC.641: LET-conversion were not supposed to work in late
+       compilation stages.
+  * improvements to the Win32/x86 port:
+    ** GET-INTERNAL-RUN-TIME implemented, thanks to Frank Buss.
+    ** improved SB-BSD-SOCKETS support, thanks to Timothy Ritchey.
+
+changes in sbcl-0.9.13 relative to sbcl-0.9.12:
+  * new feature: source path information is generated for macro-expansion
+    errors for use in IDE's like Slime (thanks to Helmut Eller)
+  * bug fix: calls to the compiler no longer modify *RANDOM-STATE*
+  * bug fix: compiler does not loop forever on an invalid type in
+    TYPEP.
+  * improvement: compilation of most CLOS applications is significantly
+    faster
+  * optimization: added a limited bytecode compiler for simple toplevel
+    forms, speeding up compilation and FASL loading
+
+changes in sbcl-0.9.12 relative to sbcl-0.9.11:
+  * minor incompatible change: in sbcl-0.9.11 (but not earlier
+    versions) SB-MOP:FINALIZE-INHERITANCE would recursively descend
+    into subclasses of the finalized class.  Now user calls to
+    FINALIZE-INHERITANCE finalize just the one class, and calls by the
+    system return before any subclasses are finalized.
+  * minor incompatible change: The reader no longer ignores errors
+    regarding non-existent packages in #+ and #- feature tests.
+  * new feature: command line options --no-sysinit, --no-userinit to
+    inhibit loading the corresponding init files
+  * new feature: add a generic function SOCKET-SEND to SB-BSD-SOCKETS, 
+    for sending data through UDP sockets (thanks to François-René Rideau)
+  * minor incompatible change: SIGPIPE is ignored and "Broken pipe"
+    error is signalled instead (thanks to François-René Rideau)
+  * minor incompatible change: Error signalling behaviour of lexical
+    operations violating package locks has changed slightly. Refer to
+    documentation on package locks for details.
+  * enhancement: EVAL can process IF-expressions without resorting to the
+    compiler.
+  * bug fix: Some operations involving SIN, COS, or TAN weren't being
+    constant-folded properly due to missing out-of-line functions.
+    (reported by Mika Pihlajamäki)
+  * bug fix: LISTEN sometimes returned T even in cases where no data was
+    immediately available from the stream
+  * fixed bug: types of the last two arguments to SET-SYNTAX-FROM-CHAR
+    were reversed. (reported by Levente Mészáros)
+  * fixed bug: Tests for the (VECTOR T) type gave the wrong answer
+    when given a vector displaced to an adjustable array.  (reported
+    by Utz-Uwe Haus)
+  * bug fix: derivation of float boundaries from numbers outside the
+    appropriate float range (reported by John Wiseman)
+  * bug fix: MAKE-LOAD-FORM-SAVING-SLOTS accepts en empty slot name
+    list.
+  * bug fix: precomputing cache entries for generic functions with
+    some subclasses of specializers as yet invalid does not attempt to
+    fill a cache line with a negative offset.  (reported by Levente
+    Mészároz)
+  * improvements to DOCUMENTATION for TYPE and STRUCTURE doc-types:
+    allow condition class objects as arguments to DOCUMENTATION and
+    (SETF DOCUMENTATION); only find and set documentation for
+    structure names for the STRUCTURE doc-type.  (suggested by Gary
+    King)
+  * improvements to the Win32/x86 port:
+    ** (user-homedir-pathname) and default initialization file
+       locations now know about the user's "Documents and Settings"
+       directory (thanks to Yaroslav Kavenchuk)
+    ** run-program is implemented (thanks to Mike Thomas)
+    ** sockets support (thanks to Timothy Ritchey)
+    ** better backtrace support (thanks to Alastair Bridgewater)
+    ** sb-grovel supported
+    ** asdf-install and sb-posix work somewhat
+    ** capable of running Slime using SWANK:*COMMUNICATION-STYLE* NIL
+  * improvements to the Solaris/x86 port:
+    ** works on Solaris 11/Solaris Express
+    ** floating-point exception handling support
+    ** support for the breakpoint-based TRACE :ENCAPSULATE NIL facility
+  * fixed some bugs revealed by Paul Dietz' test suite:
+    ** REMOVE-METHOD returns its generic function argument even when
+       the method is not one of the generic functions' methods.
+    ** objects declared as MEMBER types can be admissible arguments to 
+       structure accessors.
+    ** printing characters should simply be printed by the FORMAT ~:C
+       directive.
+    ** compiler failure when compiling functions with hairy constant
+       defaults for optional parameters.
+    ** compiler produces wrong code when MAYBE-INLINE-expanding a
+       function, which is already optimized.
+
 changes in sbcl-0.9.11 relative to sbcl-0.9.10:
   * new platform: experimental support for SBCL x86/Darwin, including
     MacOS X 10.4.5 on Intel.
   * new feature: Unicode character names are now known to the system
     (through CHAR-NAME and NAME-CHAR).
 changes in sbcl-0.9.11 relative to sbcl-0.9.10:
   * new platform: experimental support for SBCL x86/Darwin, including
     MacOS X 10.4.5 on Intel.
   * new feature: Unicode character names are now known to the system
     (through CHAR-NAME and NAME-CHAR).
+  * new feature: the filesystem location of SBCL's core file is
+    exposed to lisp through the variable SB-EXT:*CORE-PATHNAME*.
   * minor incompatible change: the contrib modules SB-POSIX and
     SB-BSD-SOCKETS no longer depend on stub C libraries; the intent of
     this change is to make it easier to distribute
   * minor incompatible change: the contrib modules SB-POSIX and
     SB-BSD-SOCKETS no longer depend on stub C libraries; the intent of
     this change is to make it easier to distribute
@@ -19,6 +153,9 @@ changes in sbcl-0.9.11 relative to sbcl-0.9.10:
     to be friendlier to the prediction heuristics implemented,
     particularly with reference to CALL and RET pairing.  (thanks to
     Alastair Bridgewater)
     to be friendlier to the prediction heuristics implemented,
     particularly with reference to CALL and RET pairing.  (thanks to
     Alastair Bridgewater)
+  * optimization: on x86, the code for access to thread-local symbol
+    values and binding/unbinding of thread-local symbols is smaller.
+    (thanks to Alastair Bridgewater)
   * enhancement: CONSTANTP is now able to determine constantness of
     more complex forms, including calls to constant-foldable standardized
     functions and some special forms beyond QUOTE.
   * enhancement: CONSTANTP is now able to determine constantness of
     more complex forms, including calls to constant-foldable standardized
     functions and some special forms beyond QUOTE.
@@ -27,7 +164,9 @@ changes in sbcl-0.9.11 relative to sbcl-0.9.10:
     calls of MAKE-ARRAY, bound to variables, declared DYNAMIC-EXTENT
   * enchancement: the PROCESS-INPUT and -OUTPUT streams created by 
     SB-EXT:RUN-PROGRAM can be used for both character and byte IO
     calls of MAKE-ARRAY, bound to variables, declared DYNAMIC-EXTENT
   * enchancement: the PROCESS-INPUT and -OUTPUT streams created by 
     SB-EXT:RUN-PROGRAM can be used for both character and byte IO
-    (thanks to James Bielman)
+    (thanks to James Knight)
+  * fixed bug: CL:LISTEN always returns NIL at end of file, as required
+    by the standard (thanks to Stephen Compall)
 
 changes in sbcl-0.9.10 relative to sbcl-0.9.9:
   * new feature: new SAVE-LISP-AND-DIE keyword argument :EXECUTABLE can
 
 changes in sbcl-0.9.10 relative to sbcl-0.9.9:
   * new feature: new SAVE-LISP-AND-DIE keyword argument :EXECUTABLE can