update to unicode 6.2
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 29bfc32..590b909 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,238 @@
 ;;;; -*- coding: utf-8; fill-column: 78 -*-
-changes relative to sbcl-1.1.0:
+changes relative to sbcl-1.1.7:
+  * notice: The implementation of MAP-ALLOCATED-OBJECTS (the heart of
+    ROOM, plus a few SB-INTROSPECT functions) has been completely
+    rewritten, it may now exhibit different bugs than before.
+  * enhancement: RUN-PROGRAM supports a :DIRECTORY argument to set
+    the working directory of the spawned process.
+    (lp#791800) (patch by Matthias Benkard)
+  * enhancement: boxed vectors (vectors of T or of FIXNUM) can now be
+    stack-allocated on PPC.
+  * enhancement: "fixed objects" can now be stack-allocated on PPC.
+  * enhancement: WITH-PINNED-OBJECTS no longer conses on PPC/GENCGC.
+  * enhancement: (sb-introspect:find-definition-sources-by-name x :vop) now
+    also returns VOPs which do not translate any functions, and finds
+    defoptimizer types ir2convert and stack-allocate-result.
+  * enhancement: better type derivation for APPEND, NCONC, LIST.
+    (lp#538957)
+  * enhancement: MAP-ALLOCATED-OBJECTS (the heart of ROOM) now walks the
+    heap in a manner similar to the GC rather than its previous ad-hoc
+    scheme, and is therefore no less and possibly more accurate.
+  * bug fix: type derivation for LOG{AND,IOR,XOR} scales linearly instead
+    of quadratically with the size of the input in the worst case.
+    (lp#1096444)
+  * bug fix: handle errors when initializing *default-pathname-defaults*,
+    sb-ext:*runtime-pathname*, sb-ext:*posix-argv* on startup, like character
+    decoding errors, or directories being deleted.
+  * bug fix: Loading a core with a discontiguous dynamic space now correctly
+    computes the amount of dynamic space used.
+  * bug fix: disassembler missing ",8" on SHLD
+  * bug fix: backtracing through INTERNAL-ERROR signal handlers on systems
+    that provide an "invalid" stack frame link for the signal handler
+    itself now use the saved-fp-and-pc mechanism to pick up from the stack
+    frame in the interrupt (signal) context.  This is known to affect
+    threaded FreeBSD/x86-64.
+  * bug fix: some LOOP statements couldn't be compiled.
+    (lp#1178989)
+  * bug fix: sb-sequence:dosequence works on literal vectors.
+  * bug fix: errors in generic arithmetic show the assembly routine's
+    caller on x86 and x86-64. (lp#800343)
+  * bug fix: Compile-time type errors should never result in COMPILE-FILE
+    failure. (lp#943953)
+  * bug fix: Known bad local calls do not cause strange failures when
+    emitting or dumping code. (lp#504121)
+  * bug fix: Multiply-inlined structure constructor don't cause IR2-time
+    codegen errors: type checks are inserted as necessary. (lp#1177703)
+  * bug fix: Unsigned modular arithmetic is correctly converted into signed
+    modular arithemtic (mostly to exploit fixnum-width VOPs). (lp#1026634)
+  * optimization: faster ISQRT on fixnums and small bignums
+  * optimization: faster and smaller INTEGER-LENGTH on fixnums on x86-64.
+  * optimization: On x86-64, the number of multi-byte NOP instructions used
+    for code alignment is now always minimal.
+  * optimization: On 64-bit targets, the compiler generates much faster
+    code for type checks for types known at compile time that are smaller
+    than (SIGNED-BYTE 64) or (UNSIGNED-BYTE 64) and larger than FIXNUM, and
+    their COMPLEX variants.
+  * optimization: On x86 targets, more uses of ALIEN-FUNCALL during cross
+    compilation now inline the INVOKE-WITH-SAVED-FP-AND-PC dance.
+  * optimization: ROOM no longer conses so egregiously on non-x86oid
+    systems.
+
+changes in sbcl-1.1.7 relative to sbcl-1.1.6:
+  * enhancement: TRACE :PRINT-ALL handles multiple-valued forms.
+    (lp#457053)
+  * bug fix: :allocation slot option works for condition slots
+    (lp#1049404)
+  * bug fix: redefining conditions does not lead to multiple evaluations of
+    hairy slot initfunctions anymore (lp#1164969)
+  * bug fix: CLASS-DIRECT-DEFAULT-INITARGS now works for condition classes
+    (lp#1164970)
+  * bug fix: function constants now work as initforms and default initarg
+    values of conditions (lp#539517)
+  * bug fix: svref/(setf svref) on symbol macros don't crash the compiler
+    anymore. (Minimal test case provided by James M. Lawrence on sbcl-devel)
+  * bug fix: no more bogus ## references when pretty printing backquoted
+    forms with non-trivial structure sharing. (lp#1161218)
+  * bug fix: Don't signal an error on (setf (documentation nil 'function)
+    "doc").  Signal a style-warning instead when trying to set documentation
+    of NIL for all other documentation types.  (Reported by Zach
+    Beane; regression since 2e52fa05.)
+  * bug fix: modular arithmetic involving large constants and conditionals
+    should no longer result in spurious dead code elimination.  (Reported by 
+    Eric Marsden).
+  * bug fix: our mach exception handler can seemingly called very early in
+    the program execution process on OS X 10.8.0. Try and handle that case
+    robustly, without potentially leaking mach ports too much.
+  * optimization: LOGBITP and LOGTEST optimizations from x86 ported to x86_64.
+
+changes in sbcl-1.1.6 relative to sbcl-1.1.5:
+  * enhancement: the continuable error when defknown-ing over extant
+    fndb entries can be ignored by passing :overwrite-fndb-silently t
+    as a keyword argument to sb-c:defknown (after attributes). Useful
+    to allow defknown to be re-loaded. Use with :allow-other-keys t
+    for backward compatibility.
+  * optimization: compiler is much faster in compiling SVREF and (SETF SVREF)
+    forms.
+  * bug fix: Prevent a make-array transform from modifying source forms
+    causing problems for inlined code. Thanks to Bart Botta.
+    (regression since 1.0.42.11-bis)
+  * bug fix: clear-output calls the correct gray stream routine,
+    sb-gray:stream-clear-output. (lp#1153257)
+  * bug fix: an error is signalled for an invalid format modifier: ~<~@>.
+    (lp#1153148)
+  * bug fix: Better error messages for package operations (lp#1154776)
+  * bug fix: delete-package on a nonexistent package should signal a cerror.
+    (regression since 1.0.37.44).
+  * bug fix: accessing &MORE (stack allocated &REST) arguments checks bounds.
+    (lp#1154946, lp#1072112)
+  * bug fix: compiling make-array no longer signals an error when the
+    element-type is an uknown type, a warning is issued instead.
+    Thanks to James Kalenius (lp#1156095)
+  * bug fix: SEARCH on generic (non-VECTOR non-LIST) sequence types no longer
+    produces wrong results for some inputs.  (Thanks to Jan Moringen.)
+    (lp#1153312)
+
+changes in sbcl-1.1.5 relative to sbcl-1.1.4:
+  * minor incompatible change: SB-SPROF:WITH-PROFILING no longer loops
+    by default.
+  * new feature: package local nicknames. See manual for details.
+  * new feature: SB-EXT:MAP-DIRECTORY provides a powerful interface for
+    directory traversal: it is the backend used by SBCL for CL:DIRECTORY.
+  * enhancement: easier to use restarts for resolving name-conflicts
+    resulting from IMPORT, EXPORT, or USE-PACKAGE.
+  * enhancement: variant DEFPACKAGE forms now signal a full error with
+    restarts provided for resolving the situation. (lp#891351)
+  * enhancement: by setting SB-EXT:*ON-PACKAGE-VARIANCE* appropriately variant
+    DEFPACKAGE forms can now signal a full error with restarts provided for
+    resolving the situation. See manual for details. (lp#891351)
+  * enhancement: make-random-state now uses CryptGenRandom as a seed on Windows.
+    (Thanks to Anton Kovalenko.) (lp#1102748)
+  * enhancement: backtrace improvements
+    ** secondary CLOS dispatch functions have better debug names (lp#503081)
+    ** easier to read method names in backtraces. See
+       SB-DEBUG:*METHOD-FRAME-STYLE*.
+    ** SB-DEBUG:PRINT-BACKTRACE and SB-DEBUG:LIST-BACKTRACE are available as
+       forwards-compatible replacements for SB-DEBUG:BACKTRACE and
+       SB-DEBUG:BACKTRACE-AS-LIST.
+    ** SB-DEBUG:*SHOW-ENTRY-POINT-DETAILS** has been deprecated, as the same
+       information is available in less intrusive form as frame annotations.
+  * enhancement: SB-POSIX now provides MAP-ANON.
+  * enhancement: test-suite results are colorized, failures in red, unexpected
+    success in green. Works on Windows and on terminals with ANSI escape code
+    support. Can be disabled with --no-color.
+  * optimization: SB-CONCURRENCY:QUEUE implementation is more efficient.
+    (thanks to James M. Lawrence)
+  * bug fix: no more unused variable style warnings from RESTART-CASE
+    macroexpansion (lp#1113859)
+  * bug fix: no more unused variable style warnings when loading
+    sb-bsd-sockets.asd (lp#1114681)
+  * bug fix: deleting a package removes it from implementation-package
+    lists of other packages.
+  * bug fix: SB-SPROF:WITH-PROFILING is now usable in the Slime REPL on Darwin.
+    This does not fix the occasional "interrupt already pending" issue, though.
+  * bug fix: (setf (documentation 'x 'function)) and
+    (setf (documentation #'x t)) set documentation in different places.
+    (regression since 1.0.43.63)
+  * bug fix: build on newer glibc. (lp#1095036)
+
+changes in sbcl-1.1.4 relative to sbcl-1.1.3:
+  * optimization: LOOP expressions using "of-type character" have slightly
+    more efficient expansions.
+  * bug fix: very long (or infinite) constant lists in DOLIST do not result
+    in very long compile times or heap exhaustion anymore. (lp#1095488)
+  * bug fix: `#3(1) is read as #(1 1 1), not as #(1). (lp#1095918)
+  * bug fix: adjust-array ignored :initial-element for simple-vectors.
+    (lp#1096359)
+  * bug fix: optimizations to MAKE-INSTANCE with literal list initargs no
+    longer cause infinite loops (on circular data) or violate eqlity
+    constraints.  (lp#1099708)
+  * bug fix: FIRST was not being open coded. (regression from 1.1.0)
+
+changes in sbcl-1.1.3 relative to sbcl-1.1.2:
+  * enhancement: warnings about bad locale settings, LANG, LC_CTYPE, etc.
+    (lp#727625)
+  * enhancement: support for C-c to interrupt the foreground thread
+    on Windows.  (Thanks to Anton Kovalenko.)
+  * enhancement: STDCALL alien callbacks. (Thanks to Anton Kovalenko.)
+  * enhancement: Safepoint builds on POSIX platforms can now optionally be
+    built without pseudo-atomic sequences and their run-time overhead.
+  * enhancement: Threads created outside of Lisp can enter Lisp through
+    alien callbacks and appear as Lisp threads for the duration of that
+    function invocation.  On safepoint builds only.
+  * enhancement: Miscellaneous improvements to namestrings and underlying
+    calls to OS functions for file system access on Windows.  (Thanks to
+    Anton Kovalenko.)
+  * enhancement: The MSI installer support for Windows now uses Windows
+    Installer XML at least version 3.5 and includes various usability
+    improvements.  (Thanks to Dmitry Kalyanov and Anton Kovalenko.)
+  * enhancement: The sb-bsd-sockets contrib now supports non-blocking-mode
+    on Windows.  (Thanks to Anton Kovalenko.)
+  * enhancement: The Windows backend now supports the x86-64 platform.
+    (Thanks to Anton Kovalenko.)
+  * bug fix: fasls are now once again directly executable (on platforms
+    supporting shebang lines, with a suitably-installed sbcl).
+  * bug fix: make.sh --help no longer runs clean.sh. (lp#937001)
+  * bug fix: Fix CAS access to slots of direct instances of structure classes
+    in the presence of subclasses sharing the same conc-name.
+  * bug fix: Logical pathname namestrings on Windows have been changed to
+    be lower-case, to minimize differences between POSIX and Windows.
+
+changes in sbcl-1.1.2 relative to sbcl-1.1.1:
+  * notice: System requirements for SBCL on Microsoft Windows: Windows NT 5.1
+    or newer (Windows XP, Server 2003) is required.  Support for Windows 2000
+    (NT 5.0) is no longer being maintained.
+  * notice: Starting with this version, SBCL on Windows no longer supports
+    building with disabled thread support.
+  * enhancement: frlocks have been added to SB-CONCURRENCY contrib module.
+  * enhancement: New feature sb-dynamic-core allows the runtime to be
+    rebuilt or relocated without requiring changes to the core file on
+    all linkage table platforms.  Required on Windows.  (Thanks to Anton
+    Kovalenko.)
+  * enhancement: Console I/O streams use UCS-2. (Thanks to Anton Kovalenko.)
+  * enhancement: I/O on Windows unnamed pipes is interruptible
+    asynchronously using interrupt-thread, timers when running on Windows NT
+    version 6.1 or newer (Windows 7, Server 2008 R2).  (Thanks to Anton
+    Kovalenko.)
+  * enhancement: Support for the experimental safepoint-based stop-the-world
+    protocol on the PowerPC platform.
+  * bug fix: Non-blocking reads from the Windows console were not necessarily
+    non-blocking. Thanks to Anton Kovalenko. (lp#308923)
+  * bug fix: stability of threads on Windows has been improved upon through
+    an updated stop-the-world protocol (thanks to Anton Kovalenko).
+
+changes in sbcl-1.1.1 relative to sbcl-1.1.0:
   * enhancement: WITH-COMPILATION-UNIT no longer grabs the world-lock.
     (COMPILE and COMPILE-FILE still do.)
+  * optimization: the SPARC backend now supports the precise generational
+    (GENCGC) garbage collection.  Enabled by default on Solaris/SPARC and
+    Linux/SPARC.  Thanks to Raymond Toy (via CMUCL).
+  * enhancement: add experimental support for the SB-THREAD feature and the
+    timer facility on Windows.  Thanks to Dmitry Kalyanov and Anton Kovalenko.
+    Threads are enabled by default, and this version of SBCL is considered
+    to be the last and final release to officially support building with
+    threads disabled.
+  * optimization: The compiler no longer rotates loops in some cases where
+    this transformation actually lead to worse code being generated.
   * bug fix: SB-CLTL2:MACROEXPAND-ALL correctly handles shadowing of
     symbol-macros by lexical bindings.
   * bug fix: stack allocation was prevented by high DEBUG declaration in
@@ -10,6 +241,8 @@ changes relative to sbcl-1.1.0:
     (thanks to SANO Masatoshi)
   * bug fix: PARSE-NATIVE-NAMESTRING performed non-native parsing when
     :JUNK-ALLOWED was true.
+  * bug fix: type derivation inferred overly conservative types for
+    unions of array types. (lp#1050768)
 
 changes in sbcl-1.1.0 relative to sbcl-1.0.58:
   * enhancement: New variable, sb-ext:*disassemble-annotate* for controlling