X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=NEWS;h=39819ac165c2590c63a576ef7600c72805df5917;hb=b67c2d7522c0b73a18e316faa2b81d7c8b187706;hp=8b642ed3fddb89cbb2d820ec1f5933b8d50ffc7f;hpb=db12bb28ea6cb11b0335f94c6ef7438e7e184ab3;p=sbcl.git diff --git a/NEWS b/NEWS index 8b642ed..39819ac 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,151 @@ ;;;; -*- coding: utf-8; fill-column: 78 -*- -changes relative to sbcl-1.0.43: +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.1. + * enhancement: backtraces involving frames from the default evaluator + are more readable. + * 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) + +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 + stack frame, rather than allocating a VALUE-CELL (lp#586103). + * optimization: UNWIND-PROTECT cleanup functions are now declared + DYNAMIC-EXTENT. + * bug fix: backtracing function with &REST arguments now shows the full + argument list. (lp#310173) + * bug fix: return types for functions with complex lambda-lists are now + derived properly (lp#384892) + * 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: # 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 external-format for its :INPUT, :OUTPUT, AND :ERROR :STREAMs. * enhancement: ALLOCATION-INFORMATION also provides the page the object @@ -35,7 +181,7 @@ changes relative to sbcl-1.0.43: (AND VECTOR (NOT SIMPLE-ARRAY)) when appropriate. (lp#309130) * bug fix: (THE (VALUES ...)) in LOAD-TIME-VALUE caused a compiler-error. (lp#646796) - * bug fix: interrupts arriving due to CL:OPEN caused an error. + * bug fix: interrupts arriving during CL:OPEN caused an error. * bug fix: overeager character buffering could cause input to block spuriously when reading from a pipe (lp#643686) * bug fix: more efficient timer expiry should avoid starvation on systems @@ -84,6 +230,13 @@ changes relative to sbcl-1.0.43: * bug fix: SB-POSIX:FORK now signals an error if an attempt to fork with multiple Lisp threads running is made on every platform, not just Darwin. (lp#451111) + * bug fix: SB-BSD-SOCKETS and SB-SIMPLE-STREAMS could leave stale finalizers + around when core was saved, which could cause undefined behaviour when the + core was reified. + * bug fix: Allow UNTRACE of functions that are no longer defined + (lp#667657, thanks to Attila Lendvai) + * bug fix: MAKE-ARRAY calls with invalid keyword argument lists now signal a + compile-time warning (lp#664373, thanks to Stas Boukarev) changes in sbcl-1.0.43 relative to sbcl-1.0.42: * incompatible change: FD-STREAMS no longer participate in the serve-event