0.9.13.4:
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 29541ac..7994058 100644 (file)
--- a/NEWS
+++ b/NEWS
 ;;;; -*- coding: utf-8; -*-
+changes in sbcl-0.9.14 relative to sbcl-0.9.13:
+  * 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).
+  * bug fix: unparsing logical pathnames with :NAME :WILD :TYPE NIL
+    failed with a type error.  (reported by Pascal Bourguignon)
+  * fixed some bugs revealed by Paul Dietz' test suite:
+    ** MISC.641: LET-conversion were not supposed to work in late
+       compilation stages.
+
+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).
+  * 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
+    location-independent binaries.
+  * bug fix: as implied by AMOP, standardized classes no longer have
+    slots named by external symbols of public packages.  (reported by
+    Pascal Costanza)
+  * optimization: calling functions via constant symbols -- as in 
+    (FUNCALL 'FOO) -- is now roughly as efficient as calling them
+    via the function object as in (FUNCALL #'FOO).
+  * optimization: on x86 and x86-64, the calling convention for the
+    case of dealing with an unknown number of values has been altered
+    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.
+  * fixed bug: occasional GC crashes on Solaris/x86
+  * optimization: x86-64 supports stack allocation of results of simple
+    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 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
     be used for bundling the runtime and the core file into one 
     executable binary. This feature is not currently supported on all SBCL
     platforms.  (thanks to James Bielman and NIIMI Satoshi)
+  * new feature: a generational or ephemeral garbage collector is now
+    the default on the PowerPC platform (both Linux and Darwin).  The
+    old Cheney (stop and copy) collector is a build-time option.
+    (thanks to Cyrus Harmon, after Raymond Toy)
   * minor incompatible change: the method by which SBCL finds its
     contributed modules has changed; it no longer relies on symbolic
     links from an $SBCL_HOME/systems directory, but searches directly
     in the subdirectories of $SBCL_HOME.
   * enhancement: the dynamic heap size on the Linux/PPC platform is
-    markedly larger.
+    markedly larger, even using the older Cheney garbage collector.
   * fixed bug #399: full call to DATA-VECTOR-REF in accesses to
     certain complicated string types.  (reported by Gary King)
   * fixed bug: STRING-TO-OCTETS and OCTETS-TO-STRING did not convert
@@ -21,6 +154,18 @@ changes in sbcl-0.9.10 relative to sbcl-0.9.9:
     applicable non-standard primary or :AROUND method on
     INITIALIZE-INSTANCE or SHARED-INITIALIZE and a non-keyword initarg
     no longer cause unbound variable errors.  (reported by Kevin Reid)
+  * fixed bug: metacircle resolution in cases where methods have slots
+    added before the slots from STANDARD-METHOD.  (reported by Jean
+    Bresson)
+  * fixed bug: the Power PC assembly code for calling into lisp
+    sometimes computed its return address wrongly (depending on the
+    15th bit of the address, fixed at link time).  This used to
+    manifest itself in a segmentation violation while building PCL.
+    (reported by Kevin Rosenberg, Eric Marsden, Lars Brinkhoff and
+    many others over the years)
+  * fixed bug: ROOM no longer reports silly numbers for stack usage if
+    the stack pointer (treated as a signed integer) is negative.
+    (thanks to Peter van Eynde)
 
 changes in sbcl-0.9.9 relative to sbcl-0.9.8:
   * new platform: experimental support for the Windows operating
@@ -76,7 +221,7 @@ changes in sbcl-0.9.8 relative to sbcl-0.9.7:
   * fixed some bugs revealed by Paul Dietz' test suite:
     ** DOCUMENTATION returns NIL instead of "" for method combinations
        that don't have a docstring
-
+\a
 changes in sbcl-0.9.7 relative to sbcl-0.9.6:
   * minor incompatible change: (SETF CLASS-NAME) and (SETF
     GENERIC-FUNCTION-NAME) are no longer generic functions, and