;;;; -*- coding: utf-8; fill-column: 78 -*-
-changes relative to sbcl-1.0.44:
+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.
+ * 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.
+ * 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.
+ * enhancement: SB-PROFILE:REPORT now supports :LIMIT and :PRINT-NO-CALL-LIST
+ arguments (lp#710017)
+ * enhancement: SB-PCL:+SLOT-UNBOUND+ is exported, making it possible to
+ distinguish unbound instance slots when using STANDARD-INSTANCE-ACCESS
+ &co. (lp#718039)
+ * optimization: ERROR and CERROR are approximately 5 times faster.
+ * optimization: optimized constructors are used for MAKE-INSTANCE of classes
+ with applicable non-standard (SETF SLOT-VALUE-USING-CLASS),
+ SLOT-BOUNDP-USING-CLASS, and INITIALIZE-INSTANCE :AROUND methods, speeding
+ up instance creation in those cases.
+ * optimization: arithmetic operations with multiple constant arguments in now
+ have them reduced at compile-time. (lp#676414)
+ * optimization: determining current character position on string-streams for
+ pretty-printing was overly slow.
+ * bug fix: local tail calls to DYNAMIC-EXTENT functions can no longer cause
+ lifetime analysis to overwrite closed-over variables (lp#681092).
+ * bug fix: encoding errors from some multibyte external formats such as EUC-JP
+ were not handled correctly (lp#713063).
+ * bug fix: printing waitqueue objects without setting *PRINT-CIRCLE* to T is now
+ safe (lp#673630).
+ * bug fix: Solaris/x86-64 wasn't getting built with lutex support by
+ mistake. (lp#667297).
+ * bug fix: CONSTANTLY generated functions had bogus lambda-lists. (lp#713626)
+ * bug fix: RUN-PROGRAM :PTY option was racy on OpenBSD. (lp#669485)
+ * bug fix: UNINTERN takes a symbol, not a symbol designator -- could previously
+ unintern the wrong symbol with the same name. (lp#693796)
+ * bug fix: COPY-PPRINT-DISPATCH always has access to a pristine table,
+ making it possible to restore the initial table if it has been messed up.
+ (lp#678409)
+
+changes in sbcl-1.0.45 relative to sbcl-1.0.44:
* enhancement: ~/ and ~user/ are treated specially in pathnames.
Refer to documentation for details.
+ * enhancement: ASDF has been updated to version 2.010.
* optimization: mutated closed-over variables that are only accessed by
DYNAMIC-EXTENT closures (currently only FLET and LABELS functions
declared to be DYNAMIC-EXTENT) are stored directly in their containing
* bug fix: when SPEED > SPACE compiling CONCATENATE 'STRING with constant
long string arguments slowed the compiler down to a crawl.
* bug fix: closure VALUE-CELLs are no longer stack-allocated (lp#308934).
+ * bug fix: non-standard MAKE-METHOD-LAMBDA methods could break RETURN-FROM
+ in the DEFMETHOD body.
+ * bug fix: #<SB-C::DEFINED-FUN ...> should no longer appear in compiler
+ messages, being instead replaced with the corresponding function name.
+ * bug fix: don't derive overly complex unions of numeric types for arithmetic
+ operators. (lp#309448)
changes in sbcl-1.0.44 relative to sbcl-1.0.43:
* enhancement: RUN-PROGRAM accepts :EXTERNAL-FORMAT argument to select the