X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=NEWS;h=440e9cf756d090445614d886d932b804e3d66b83;hb=9e83e3dc367e4fd47d3b27a170cb3a87bb5b1b39;hp=d52d2e583c1f031338083e0a66d8f7acf1c779ff;hpb=c99016dd58d6bd4b4084fd854708d8b1eb21eba7;p=sbcl.git diff --git a/NEWS b/NEWS index d52d2e5..440e9cf 100644 --- a/NEWS +++ b/NEWS @@ -1,26 +1,60 @@ ;;;; -*- coding: utf-8; fill-column: 78 -*- -changes relative to sbcl-1.0.43: +changes relative to sbcl-1.0.44: + * 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). + +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 resides on. * enhancement: default dynamic-space size can be configured at build-time without touching source, using the --dynamic-space-size argument to make.sh. + * enhancement: DESCRIBE recognizes symbols naming optimization policy + qualities, and mentions ALWAYS-BOUND declarations. + * enhancement: ATOMIC-INCF now supports AREF of (SIMPLE-ARRAY SB-EXT:WORD (*)) + as a place. + * enhancement: ASDF has been updated to 2.009. + * enhancement: the system detects known type-erros in calls better, + signalling a full warning about violated proclaimed FTYPEs and violations + of derived FTYPEs within the same file, including self-calls. + * enhancement: new function: SB-EXT:DELETE-DIRECTORY is now provided. + * optimization: constant-folding exploits numeric and character types, in + addition member types. + * optimization: numeric, character and member types that are inhabited by + exactly one value are tested with EQL. + * optimization: more conditional branches are eliminated during IR1. + Branches are simplified before performing if/if-conversion, and simple + equivalent branches (that only read the same constant or variable) are + merged. + * improvements to the Windows port: + ** change: canonical unparsing form for pathname namestrings now uses / as + directory separator. NATIVE-NAMESTRING still uses \ as the separator. + ** bug fix: stackoverwriting due to incorrect usage of PeekConsoleInput + on Windows. (thanks to Kalyanov Dmitry) + ** bug fix: build now works on cygwin with GCC 4.x installed. (thanks to + Kalyanov Dmitry) + ** bug fix: run-sbcl.sh now works on Cygwin. (thanks to Kalyanov Dmitry) * bug fix: compiler failed to derive the result-type of MAKE-ARRAY as (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 where number of SIGALRMs per second is restricted. (lp#375515) - * improvements to the Windows port: - ** bug fix: stackoverwriting due to incorrect usage of PeekConsoleInput - on Windows. (thanks to Kalyanov Dmitry) - ** bug fix: build now works on cygwin with GCC 4.x installed. (thanks to - Kalyanov Dmitry) - ** bug fix: run-sbcl.sh now works on Cygwin. (thanks to Kalyanov Dmitry) * bug fix: non-unicode builds no longer fail (broken since 1.0.36.15). * bug fix: compile-times no longer scale linearly with the size of quoted lists in source-code. (lp#654289) @@ -29,6 +63,49 @@ changes relative to sbcl-1.0.43: so badly. (lp#654485) * bug fix: SB-INTROSPECT:FIND-DEFINITION-SOURCES-BY-NAME no longer signals an error for eg. STRUCTURE. (lp#458015) + * bug fix: LOOP WITH NIL = ... signalled an unused variable style-warning. + (lp#613871, thanks to Roman Marynchak) + * bug fix: more reliable &REST list type derivation. (lp#655203) + * bug fix: PPRINT-LOGICAL-BLOCK multiply-evaluated :PER-LINE-PREFIX, + and issued pointles code-deletion notes for it, :PREFIX, and :SUFFIX. + * bug fix: the compiler didn't utilize the proclaimed ftype for functions + also declared NOTINLINE. (lp#655581) + * bug fix: the compiler could attempt to emit constant left shifts of + greater value than n-word-bits. (lp#309063) + * bug fix: (SETF SYMBOL-FUNCTION) and (SETF FDEFINITION) clear derived + type information for the function being set. (lp#659220) + * bug fix: the system used to signal bogus STYLE-WARNINGs when functions + containing self-calls were recompiled with a new signature, and failed + to warn when a self-call using the old signature was left in. (lp#655126) + * bug fix: incorrect FILE-POSITION on streams opened using :EXTERNAL-FORMAT + :DEFAULT when the default external had character size other than 8 bits. + (lp#657183) + * bug fix: derived types of functions in the same file were implicitly + trusted, leading to potential heap corruption when those function were + defined incompatibly. (lp#657499) + * bug fix: existing ASDF source registries are ignored when building + contribs (lp#659105) + * bug fix: short-form DEFSETF checks that the second argument is a symbol + (lp#655824, thanks to Roman Marynchak) + * bug fix: (SETF MACRO-FUNCTION) clobbered macro-definitions before + package-lock violation was detected. (lp#660752) + * bug fix: the system can store different docstrings for a single function + under different names. (lp#661631, regression from 1.0.29.24) + * bug fix: source-locations of DEFGENERIC forms weren't getting recorded + properly. (lp#384801) + * bug fix: (COERCE X '(SIMPLE-VECTOR 5)) and similar coercions to vectors + of specified length could confuse the type derivation in unsafe code. + (lp#655872) + * 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