1.0.37.8: add ATOMIC-DECF, fix WAIT-ON-SEMAPHORE-BUGLET
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 2d0b819..c0d524e 100644 (file)
--- a/NEWS
+++ b/NEWS
 ;;;; -*- coding: utf-8; fill-column: 78 -*-
-changes relative to sbcl-1.0.35:
-  * bug fix: fix compilation on chenygc platforms. Thanks to Larry Valkama and
+changes relative to sbcl-1.0.36:
+  * new feature: added SB-THREAD:TRY-SEMAPHORE, a non-blocking variant of
+    SB-THREAD:WAIT-ON-SEMAPHORE.
+  * new feature: SB-EXT:ATOMIC-DECF has been added as a companion to
+    SB-EXT:ATOMIC-INCF.
+  * enhancement: *STANDARD-OUTPUT*, *STANDARD-INPUT*, and *ERROR-OUTPUT* are
+    now bivalent.
+  * enhancement: errors from NO-APPLICABLE-METHOD and
+    NO-PRIMARY-METHOD now have a RETRY restart available to retry the
+    generic function call.
+  * bug fix: correct restart text for the continuable error in MAKE-PACKAGE.
+  * bug fix: a rare case of startup-time page table corruption.
+  * bug fix: a semaphore with multiple waiters and some of them unwinding due
+    to timeouts could be left in an inconsistent state.
+
+changes in sbcl-1.0.37 relative to sbcl-1.0.36:
+  * enhancement: Backtrace from THROW to uncaught tag on x86oids now shows
+    stack frame thrown from.
+  * enhancement: WITH-COMPILATION-UNIT :POLICY allows restricting changes to
+    compiler optimization qualities inside dynamic extent of its body.
+  * enhancement: LOAD-LOGICAL-PATHNAME-TRANSLATIONS can be used to load
+    translations from SYS:SITE;<HOST>.TRANSLATIONS.NEWEST (thanks to Michael
+    Weber)
+  * optimization: SLOT-VALUE and (SETF SLOT-VALUE) take advantage of
+    constraint propgation, allowing better compilation eg. when used to
+    access structures with WITH-SLOTS. (lp#520366)
+  * optimization: the compiler is now more aware of the type of the underlying
+    storage vector for multidimensional simple arrays resulting in better code
+    for accessing such arrays.
+  * optimization: passing NIL as the environment argument to TYPEP no longer
+    inhibits optimizing it. (lp#309788)
+  * optimization: more efficient register usage when handling single-float
+    arguments on x86-64. (thanks to Lutz Euler)
+  * optimization: ADJUST-ARRAY and STABLE-SORT on vectors no longer use
+    pre-allocated temporary vectors. (lp#496249)
+  * bug fix: Fix compiler error involving MAKE-ARRAY and IF forms
+    in :INITIAL-CONTENTS. (lp#523612)
+  * bug fix: FUNCTION-LAMBDA-EXPRESSION lost declarations from interpreted
+    functions. (lp#524707)
+  * bug fix: bogus style warnings from certain (SETF SLOT-VALUE) and
+    WITH-SLOTS usages during compilation.
+  * bug fix: SB-C::CLASS-INFO now prints correctly. (lp#514762)
+  * enhancement: Can now build with ud2 instead of int3 as trap instruction on
+    all x86oid platforms with :UD2-BREAKPOINTS target feature.
+  * bug fix: Breakpoints now work when using ud2 instead of int3 as trap
+    instruction (tested on x86oid linux with ud2-breakpoints).
+  * bug fix: slam.sh now works on win32.
+  * bug fix: better differences of numeric types. (lp#309124)
+  * bug fix: arrays declared intersection and union types can have their
+    upgraded element type derived. (lp#316078)
+  * bug fix: SB-SPROF allocation profiling for all threads failed to profile
+    threads started during profiling. (lp#472499)
+  * bug fix: SB-INTROSPECT test failure when building without SB-EVAL feature.
+    (lp#535658)
+  * bug fix: SB-CLTL2:DECLARATION-INFORMATION did not take
+    SB-EXT:RESTRICT-COMPILER-POLICY into account. (lp#313337)
+  * bug fix: Comma inside a backquoted array or structure resulted in nonsense
+    values instead of signaling an error. (lp#309093)
+  * bug fix: Spurious unused variable warning in a DEFSTRUCT edge case.
+    (lp#528807)
+  * bug fix: More consistent warnings and notes for ignored DYNAMIC-EXTENT
+    declarations (lp#497321)
+  * bug fix: FIND and POSITION on lists did not check sequence bounds properly
+    and failed to detect circular lists (lp#452008)
+  * bug fix: leakage from ~/.asdf-install into the ASDf-INSTALL contrib build
+    (lp#538974)
+  * bug fix: LOOP OF-TYPE VECTOR compile-time error. (lp#540186)
+  * bug fix: SIGNAL SB-SYS:INTERACTIVE-INTERRUPT before entering the debugger
+    due to it, so that handlers can run.
+  * bug fix: reparsing undefined types if they have become defined since
+    parsing. (lp#309128)
+  * bug fix: missing &REST type in a proclamation for a function with both
+    &REST and &KEY in lambda-list caused miscompilation (lp#458354)
+  * bug fix: WHO-CALLS information for source-transformed and compiler-macro
+    expanded calls (lp#542174)
+  * bug fix: more accurate WHO-MACROEXPANDS information; point into rather
+    than just at toplevel form.
+
+changes in sbcl-1.0.36 relative to sbcl-1.0.35:
+  * new feature: SB-EXT:TYPEXPAND-1, SB-EXT:TYPEXPAND, and
+    SB-EXT:TYPEXPAND-ALL behave exactly like their MACROEXPAND counterparts
+    but work on type specifiers.
+  * new feature: SB-EXT:DEFINED-TYPE-NAME-P returns whether a symbol is known
+    to name a type specifier.
+  * new feature: SB-EXT:VALID-TYPE-SPECIFIER-P returns whether a given type
+    specifier is valid where "valid" basically means "would be accepted as
+    second argument of TYPEP".
+  * new feature: SB-INTROSPECT:FUNCTION-TYPE takes a function-designator and
+    returns the function's declared, or derived FTYPE.
+  * new feature: SB-POSIX now supports accessing the d_ino member of
+    dirent structures.  (Thanks to Philipp Marek and Pierre THEIRRY)
+  * new feature: The function SB-EXT:SEED-RANDOM-STATE has been added to
+    provide for seeding a RANDOM-STATE object with user-provided data or
+    from the operating system's PRNG.  Also, (MAKE-RANDOM-STATE T) will
+    attempt to initialize the returned state from the operating system's
+    PRNG where possible.  (Thanks to Fare Rideau; launchpad bug lp#310116)
+  * bug fix: Fix SB-SIMPLE-STREAMS:READ-VECTOR to correctly set the
+    FILE-POSITION of the stream being read from.  (launchpad bug lp#491087)
+  * bug fix: Fix grammar and style issues for the docstrings of
+    printer-related variables and functions.  (Thanks to mon_key; launchpad
+    bug lp#518696)
+  * bug fix: Fix compilation on chenygc platforms. Thanks to Larry Valkama and
     Bruce O'Neel.
   * 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
+  * 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.
+  * bug fix: Backtrace from internal-errors on x86-64 os x was truncated
+    before reaching the erring stack frame.
+  * bug fix: Fix type derivation for EXPT when raising a fixnum to a
+    real power.  (launchpad bug lp#525949)
+  * bug fix: Fix SB-EXT:GENERATION-* accessors for generations > 0 on
+    GENCGC platforms.  (launchpad bug lp#529014)
+  * bug fix: More robust checks for invalid DEFMETHOD argument specializers.
+    (launchpad bug lp#525916)
+  * bug fix: Fix building on Darwin when sysctl is not in the user's PATH.
+    (Thanks to Robert Goldman)
 
 changes in sbcl-1.0.35 relative to sbcl-1.0.34:
   * optimization: ROUND with a single single-float or double-float argument