Less constraint propagation when COMPILATION-SPEED > SPEED
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 281a811..f73e8fb 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,98 @@
 ;;;; -*- coding: utf-8; fill-column: 78 -*-
-changes relative to sbcl-1.0.47:
+changes relative to sbcl-1.0.49:
+  * enhancement: errors from FD handlers now provide a restart to remove
+    the offending handler.
+  * enhancement: SB-INTROSPECT:FIND-DEFINITION-SOURCE now works on structure
+    copiers as well.
+  * enhancement: location of user or system initialization file can now easily
+    be customized for saved cores. See: SB-EXT:*USERINIT-PATHNAME-FUNCTION*
+    and SB-EXT:*SYSINIT-PATHNAME-FUNCTION*.
+  * enhancement: SB-EXT:MAKE-THREAD accepts an argument list designator for
+    the thunk, as a keyword argument, :arguments.
+  * enhancement: constraint propagation is simplified (and sped up) when
+    COMPILATION-SPEED > SPEED.
+  * optimization: extracting bits of a single-float on x86-64 has been
+    optimized. (lp#555201)
+  * meta-optimization: improved compilation speed, especially for large
+    functions. (lp#792363 and lp#394206)
+  * bug fix: bound derivation for floating point operations is now more
+    careful about rounding possibly closing open bounds. (lp#793771)
+  * bug fix: SB-POSIX:SYSCALL-ERROR's argument is now optional. (accidental
+    backwards incompatible change in 1.0.48.27)
+  * bug fix: occasional debugger errors in when a type-error occured in a
+    function with dynamic-extent &rest list.
+  * bug fix: &optional and &key supplied-p arguments in DEFSTRUCT
+    boa-construtors can be used to initialized structure slots.
+  * bug fix: FMAKUNBOUND removes the MACRO-FUNCTION, should one exist.
+    (lp#795705, regression)
+  * bug fix: DIRECTORY works better on logical pathnames.
+  * bug fix: RUN-PROGRAM no longer fails spuriously when argument strings
+    are of the order of ARRAY-TOTAL-SIZE-LIMIT. (lp#787237)
+  * bug fix: the compiler no longer constant-folds NaNs in
+    MAKE-{SINGLE,DOUBLE}-FLOAT. (lp#486812)
+  * bug fix: FORMAT now handles floating point rounding correct, eg.
+    (format nil "~,1F" 0.01) => "0.0" instead of "0.01" as previously.
+    (lp#308961)
+  * bug fix: style warning during lambda-list introspection of generic
+    functions with both optional and key argments.
+
+changes in sbcl-1.0.49 relative to sbcl-1.0.48:
+  * minor incompatible change: WITH-LOCKED-HASH-TABLE no longer disables
+    interrupts for its body.
+  * enhancement: source locations are now available for files loaded as
+    source, compile-time-too evaluation, and initialization files.
+  * enhancement: WITH-COMPILATION-UNIT :SOURCE-NAMESTRING allows providing
+    virtual source-file information, eg. overriding input-file of COMPILE-FILE
+    when a temporary file is used for compilation.
+  * enhancement: ASDF has been updated to version 2.015.3.
+  * enhancement: backtraces involving frames from the default evaluator are
+    more readable.
+  * enhancement: RUN-PROGRAM works with user-defined binary input and output
+    streams.
+  * enhancement: more informative compile-time warnings and runtime errors for
+    type-errors detected at compile-time.
+  * enhancement: deadlock detection for mutexes and spinlocks.
+  * enhancement: dynamic-extent for &rest lists stack allocate only their
+    spines, not their argumets. While portable code should not rely on this,
+    particularly in combination with inlining, it should make dynamic-extent
+    easier to use safely.
+  * enhancement: SB-POSIX improvements:
+    ** WNOHANG and WUNTRACED are exported.
+    ** SYSCALL-ERROR now also provides the name of the failing system call.
+  * enhancement: --script improvements:
+    ** errors on standard input, output, and error streams are handled and
+       cause scripts to exit silently, making them easier to use in shell
+       pipelines.
+    ** backtraces from scripts now go to standard error instead of the
+       terminal even if one is available.
+    ** --script can be an argument, causing the script to be loaded from
+       standard input.
+  * enhancement: MAKE-ALIEN-STRING provides an easy way to transport lisp
+    strings to foreign memory.
+  * enhancement: (SETF GC-LOGFILE) allows logging garbage collections to
+    a file, making it easier to understand heap dynamics.
+  * optimization: using a &REST argument only in APPLY or VALUES-LIST calls
+    allows the compiler to automatically elide rest-list allocation so long as
+    the call sites are in functions that the compiler knows cannot escape.
+    (lp#504575)
+  * optimization: CALL-NEXT-METHOD using explicit arguments is faster,
+    especially in safe code when none of the required arguments have changed
+    their identities.
+  * bug fix: blocking reads from FIFOs created by RUN-PROGRAM were
+    uninterruptible, as well as blocking reads from socket streams created
+    with for which :SERVE-EVENTS NIL. (regression from 1.0.42.43)
+  * bug fix: SET-SYNTAX-FROM-CHAR now removes dispatch-macro character syntax
+    from the to-char if the from-char is not a dispatch-macro character.
+  * bug fix: references to undefined variables in function calls that are
+    optimized away now signal a runtime error. (lp#722734)
+  * bug fix: miscompilation of MULTIPLE-VALUE-CALL when asserting derived
+    types from a function defined in the same file. (regression from
+    1.0.43.57)
+  * bug fix: TRULY-THE forms are now macroexpandable and setf-expandable.
+    (lp#771673)
+  * bug fix: spurious errors during QUIT when standard streams were closed.
+
+changes in sbcl-1.0.48 relative to sbcl-1.0.47:
   * incompatible change: SB!KERNEL:INSTANCE-LAMBDA, deprecated for over five
     years, is now no longer supported.
   * enhancement: read() and write() have been added to SB-POSIX.