1.0.35.2: Fix CONDITION-WAIT to signal deadline with interrupts enabled.
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 4ebd920..adf8eaf 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,12 +1,76 @@
 ;;;; -*- coding: utf-8; fill-column: 78 -*-
-changes relative to sbcl-1.0.32:
+changes relative to sbcl-1.0.35:
+  * bug fix: SB-THREAD:CONDITION-WAIT sometimes signaled a deadline twice 
+    in a row even though a handler defered the deadline long into the
+    future. (lp#512914)
+  * bug fix: a deadline handler was run without interrupts enabled for a
+    deadline signaled within SB-THREAD:CONDITION-WAIT. That could result
+    in infinitely spinning, non-killable threads.
+
+changes in sbcl-1.0.35 relative to sbcl-1.0.34:
+  * optimization: ROUND with a single single-float or double-float argument
+    is properly inlined when possible.
+  * optimization: Slightly better code is generated for integer<->float
+    conversions and for single-float<->double-float conversions on x86-64.
+  * optimization: SB-ROTATE-BYTE:ROTATE-BYTE now generates more efficient
+    code for 32-bit and 64-bit rotations on x86-64.
+  * bug fix: The install script changes the ownership of directories as well
+    as files for contrib modules using asdf.  (thanks to Eugene Ossintsev;
+    launchpad bug lp#508485)
+  * bug fix: TRUNCATE with a single single-float or double-float argument is
+    properly inlined when possible.  (launchpad bug lp#489388)
+  * bug fix: Passing a rotation count of zero to SB-ROTATE-BYTE:ROTATE-BYTE
+    no longer causes a compiler error on x86 and ppc.
+  * bug fix: GET-MACRO-CHARACTER bogusly computed its second return value
+    always relative to *READTABLE* rather than the passed argument.
+
+changes in sbcl-1.0.34 relative to sbcl-1.0.33:
+  * minor incompatible change: threading support is now enabled by default
+    on x86[-64] Linux.
+  * enhancement: SB-INTROSPECT:DEFTYPE-LAMBDA-LIST now also works on most
+    builtin types.
+  * enhancement: Errors during compile-time-too processing (i.e. EVAL-WHEN)
+    are now caught and reported just like errors during macroexpansion.
+  * enhancement: SB-POSIX now provides access to tcdrain(), tcflow(),
+    tcflush(), tcgetsid(), and tcsendbreak(). (thanks to Jerry James)
+  * enhancement: ASDF systems can now depends on SB-QUEUE.
+  * fixes and improvements related to Unicode and external formats:
+    ** bug fix: error handling and restart usage in the ucs-2 external format 
+       has been improved.
+    ** there is now an implementation of the ucs-4 external format.
+    ** the utf-16 and utf-32 external formats are supported.
+  * bug fix: SB-POSIX wrapper for putenv no longer tries to put lisp strings
+    in the environment. setenv() and unsetenv() are also provided. (reported by
+    Fare Rideau; launchpad bug lp#460455)
+  * bug fix: LOAD of both .fasl and .FASL type files now forces fasl-style
+    loading. This ensures sensible errors for .FASL files from other
+    implementations on case-insensitive filesystems. (reported by Willem
+    Broekema; launchpad bug lp#489417)
+  * bug fix: #p"\\\\" can now be read without error on Win32.  (reported by
+    Willem Broekema; launchpad bug lp#489698).
+  * bug fix: some minor code rearrangements to reenable warning-free building
+    from CMUCL (reported by xme@gmx.net; launchpad bug lp#491104)
+  * bug fix: PRINT-OBJECT for clos instances respects the right margin when
+    pretty printing
+  * bug fix: FIND-PACKAGE & DEFPACKAGE were not thread safe. (reported by
+    Attila Lendvai)
+
+changes in sbcl-1.0.33 relative to sbcl-1.0.32:
+  * new port: support added for x86-64 NetBSD.  (thanks to Aymeric Vincent)
   * improvement: support O_LARGEFILE access to files larger than 2GB on
-    x86-64/linux.  (thanks to Daniel Janus; launchpad bug #453080)
+    x86-64/linux.  (thanks to Daniel Janus; launchpad bug lp#453080)
   * new feature: SB-INTROSPECT:WHO-SPECIALIZES-DIRECTLY to get a list of
     definitions for methods specializing on the passed class itself. 
   * new feature: SB-INTROSPECT:WHO-SPECIALIZES-GENERALLY to get a list of
     definitions for methods specializing on the passed class itself, or on
     subclasses of it.
+  * new build flag: :sb-xref-for-internals; SBCL will collect xref information
+    about itself during the build (e.g. for M-? in Slime), if this flag is
+    enabled in customize-target-features.lisp. This will increase the core
+    size by about 5-6mb, though, so it's mostly interesting to SBCL
+    developers.
+  * new feature: various GENCGC tuning parameters have been experimentally
+    documented and exported from SB-EXT. See documentation for details.
   * fixes and improvements related to Unicode and external formats:
     ** the Unicode character database has been upgraded to the
        Unicode 5.2 standard, giving names and properties to a number of new
@@ -18,38 +82,59 @@ changes relative to sbcl-1.0.32:
        external format the system supports, it is now possible to specify
        (:<encoding> :replacement <character>) as an external format which will
        automatically substitute <character> on encoding or decoding errors for
-       streams and for STRING-TO-OCTETS and its inverse.
+       streams and for STRING-TO-OCTETS and its inverse.  (launchpad bug
+       lp#317072)
+    ** improvement: the file streams underlying the standard streams (such as
+       *STANDARD-INPUT*, *TERMINAL-IO*) are opened with an external format 
+       which uses the replacement mechanism to handle encoding errors,
+       preventing various infinite error chains and unrecoverable I/O
+       confusion.
     ** minor incompatible change: the utf-8 external format now correctly
        refuses to encode Lisp characters in the surrogate range (char-codes
        between #xd800 and #xdfff).
     ** fix a typo preventing conversion of strings into octet vectors
        in the latin-2 encoding.  (reported by Attila Lendvai; launchpad bug
-       #471689)
+       lp#471689)
     ** fix a bug in the octet multibyte handling of decoding errors and the
-       USE-VALUE restart.  (launchpad bug #314939)
+       USE-VALUE restart.  (launchpad bug lp#314939)
     ** fix the bug underlying the expected failure in the FORCE-END-OF-FILE
        restart on fd-stream decoding errors.
     ** fix a bug in the ATTEMPT-RESYNC fd-stream decoding restart when the
-       error is near the end of file
+       error is near the end of file.
     ** fix a double-error case in unibyte octet conversions, when the first
        use of USE-VALUE is ignored.
+    ** fix bugs in handling of undefined code points in unibyte encodings.
+    ** fix LISTEN (and consequent hangs in READ-CHAR-NO-HANG) on bivalent
+       streams after an UNREAD-CHAR.
   * enhancement: SB-INTROSPECT:ALLOCATION-INFORMATION also reports if the
     object is allocated in a boxed region of dynamic space.
+  * enhancement: SB-POSIX:FORK now signals an error if an attempt to
+    fork with multiple Lisp threads running is made, instead of going
+    ahead with unpredictable consequences. (reported by Leslie Polzer)
   * bug fix: uses of slot accessors on specialized method parameters within
     the bodies of SLOT-VALUE-USING-CLASS methods no longer triggers a type
     error while finalizing the class.  This fix may cause classes with slot
     accessors to be finalized later than previously.  (reported by Lars Rune
-    Nøstdal; launchpad bug #473699)
+    Nøstdal; launchpad bug lp#473699)
   * bug fix: restore buildability on the MIPS platform.  (regression from
     1.0.30.38, reported by Samium Gromoff)
   * bug fix: inspecting closures is less likely to fail with a type error.
   * bug fix: no timer starvation when setting the system clock back.
-    (launchpad bug #460283)
+    (launchpad bug lp#460283)
   * bug fix: WITH-STANDARD-IO-SYNTAX now binds *PRINT-PPRINT-DISPATCH* to the
     standard pprint dispatch table as specified by CLHS.
   * bug fix: give CLISP a hint about a type declaration to enable it to build
     the cross-compiler without warnings.  (thanks to Josh Elasser; launchpad
-    bug #396597)
+    bug lp#396597)
+  * bug fix: correctly dump literal objects in defaulting forms of arglists.
+    (reported by Attila Lendvai; launchpad bug lp#310132)
+  * bug fix: distinguish in type specifiers between arrays that might be
+    complex and arrays that are definitely complex.  (launchpad bug lp#309129)
+  * bug fix: SUBTYPEP knows that the SYMBOL type is not SUBTYPEP the KEYWORD
+    type.  (reported by Levente Mészáros; launchpad bug lp#485972)
+  * bug fix: setting the value of a symbol-macro within a method in the
+    presence of type declarations works properly again.  (reported by Iban
+    Hatchondo; launchpad bug lp#485019)
 
 changes in sbcl-1.0.32 relative to sbcl-1.0.31:
   * optimization: faster FIND and POSITION on strings of unknown element type