1.0.48.28: make TRULY-THE macroexpandable
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 0cfc5f0..319822c 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,9 +1,118 @@
 ;;;; -*- coding: utf-8; fill-column: 78 -*-
-changes relative to sbcl-1.0.46:
+changes relative to sbcl-1.0.48:
+  * 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 and safer to use.
+  * enhancement: SB-POSIX improvements:
+    ** WNOHANG and WUNTRACED are exported.
+    ** SYSCALL-ERROR now also provides the name of the failing system call.
+  * 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)
+  * 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)
+
+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.
+  * enhancement: types of DEFSTRUCT constructors are proclaimed more
+    accurately, allowing better typechecking of call-sites.
+  * enhancement: errors during compile-time-too processing (i.e. EVAL-WHEN)
+    are no longer caught. (reverted to pre 1.0.34 behaviour)
+  * optimization: slightly faster ISQRT. (lp#713343)
+  * bug fix: better support for Solaris /bin/sh in sh-based tests.
+  * bug fix: TRACE behaves better when attempting to trace undefined
+    functions. (lp#740717)
+  * bug fix: missed optimizations for (FUNCALL (LAMBDA ...) ...) in comparison
+    to (FUNCALL #'(LAMBDA ...) ...).
+  * bug fix: ((LAMBDA ...) ...) forms with invalid argument counts resulted in
+    a compile-time error. (lp#720382)
+  * bug fix: forms such as (FUNCALL (FUNCTION NAME OOPS) ...) were compiled
+    without complaints.
+  * bug fix: less verbose source forms for functions from EVAL. (lp#747485)
+  * bug fix: sense of SLOT-BOUNDP-USING-CLASS was inverted in a MAKE-INSTANCE
+    optimization. (regression from 1.0.45.18/1.0.46.15)
+  * bug fix: package locks did not protects against compile-time side-effects
+    of DEFUN. (lp#675584)
+  * bug fix: --dynamic-space-size argument is validated more carefully.
+    (lp#721457)
+  * bug fix: memory fault from printing a malformed simple-condition.
+    (lp#705690)
+  * bug fix: redefining classes so that slot-definition classes change now
+    engages the obsolete instance protocol. (lp#766271)
+  * bug fix: constant improper lists could break source coverage recording.
+    (lp#767959)
+  * bug fix: compiling calls to eg. MEMBER with massive constant list arguments
+    could exhaust stack.
+
+changes in sbcl-1.0.47 relative to sbcl-1.0.46:
+  * bug fix: fix mach port rights leaks in mach exception handling code on
+    darwin/x86 and /x86-64. (thanks to Willem Oudshoorn for motivation and the
+    initial patch)
+  * enhancement: --script muffles style-warnings and compiler notes. (lp#677779)
+  * enhancement: redefinition warnings for macros from different files. (lp#434657)
+  * enhancement: better MACHINE-VERSION on Darwin x86 and x86-64. (lp#668332)
+  * enhancement: (FORMAT "foo" ...) and similar signal a compile-time warning. (lp#327223)
+  * enhancement: no more "in: LAMBDA NIL" messages from the compiler for forms
+    processed using EVAL -- now the appropriate toplevel form is reported instead.
+  * enhancement: more legible style-warnings for inappropriate IGNORE and IGNORABLE
+    declarations. (lp#726331)
+  * enhancement: :NOT-NULL option has been added to alien C-STRING type to indicate
+    that NIL/NULL is excluded from the type.
+  * enhancement: SB-INTROSPECT:MAP-ROOT allows mapping over pointers contained in
+    arbitrary objects.
+  * optimization: SLOT-VALUE &co are faster in the presence of SLOT-VALUE-USING-CLASS
+    and its compatriots.
+  * optimization: core startup time is reduced by 30% on x86-64. (lp#557357)
   * bug fix: SB-DEBUG:BACKTRACE-AS-LIST guards against potentially leaking
     stack-allocated values out of their dynamic-extent. (lp#310175)
   * bug fix: attempts to use SB-SPROF for wallclock profiling on threaded
     x86-64 builds caused a type-error.
+  * bug fix: calling COMPILE with something else than a lambda-expression as the
+    second argument reports a more sensible error. (lp#718905)
+  * bug fix: invalid combinations of :PREDICATE and :TYPE options in DEFSTRUCT
+    are detected. (lp#520607)
+  * bug fix: constant keyword argument checking didn't take :ALLOW-OTHER-KEYS
+    into account.
+  * bug fix: SLOT-BOUNDP information is correct during MAKE-INSTANCE in the
+    presence of (SETF SLOT-VALUE-USING-CLASS) and SLOT-BOUNDP-USING-CLASS
+    methods. (regression from 1.0.45.18)
+  * bug fix: INITIALIZE-INSTANCE :AROUND methods supplying initargs via
+    CALL-NEXT-METHOD work correctly. (regression from 1.0.45.19)
+  * bug fix: several foreign functions accepting string also accepted NIL and
+    consequently caused a memory fault at 0 now signal a type-error instead.
+    (lp#721087)
+  * bug fix: under rare circumstances, constraint propagation could rewrite a
+    variable reference to refer to a variable not in scope, causing an error
+    during physical environment analysis when attempting to close over the
+    variable. (lp#551227)
+  * bug fix: SIMPLE-CONDITION :FORMAT-CONTROL defaults to NIL.
 
 changes in sbcl-1.0.46 relative to sbcl-1.0.45:
   * enhancement: largefile support on Solaris.