X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=NEWS;h=841a38df2a6ab01a2a1a3e945c833832d5f0e096;hb=203c15eefffd996fd20bd28d461ea1aa3865dbbe;hp=41306349b1eab4f6edc8b83ebd074a7d90d30d5b;hpb=99ad0a384664dc98af26245a33f11619ec0854ad;p=sbcl.git diff --git a/NEWS b/NEWS index 4130634..841a38d 100644 --- a/NEWS +++ b/NEWS @@ -626,21 +626,167 @@ changes in sbcl-0.6.10 relative to sbcl-0.6.9: * Fasl file format version numbers have increased again, because a rearrangement of internal implementation packages made some dumped symbols in old fasl files unreadable in new cores. -?? (DECLAIM (OPTIMIZE ..)) now works. * DECLARE/DECLAIM/PROCLAIM logic is more nearly ANSI in general, with many fewer weird special cases. * Bug #17 (differing COMPILE-FILE behavior between logical and physical pathnames) has been fixed, and some related misbehavior too, thanks to a patch from Martin Atzmueller. -?? #'(SETF DOCUMENTATION) is now defined. +* Bug #30 (reader problems) is gone, thanks to a CMU CL patch + by Tim Moore, ported to SBCL by Martin Atzmueller. +* Martin Atzmueller fixed several filesystem-related problems, + including bug #36, in part by porting CMU CL patches, which were + written in part by Paul Werkowski. * More compiler warnings in src/runtime/ are gone, thanks to - patches from Martin Atzmueller. + more patches from Martin Atzmueller. * Martin Atzmueller pointed out that bug 37 was fixed by his patches some time ago. +changes in sbcl-0.6.11 relative to sbcl-0.6.10: +* Martin Atzmueller pointed out that bugs #9 and #25 are gone in + current SBCL. +* bug 34 fixed by Martin Atzmueller: dumping/loading instances works + better +* fixed bug 40: TYPEP, SUBTYPEP, UPGRADED-ARRAY-ELEMENT-TYPE, + and UPGRADED-COMPLEX-PART-TYPE now work better with of compound + types built from undefined types, e.g. '(VECTOR SOME-UNDEF-TYPE). +* DESCRIBE now works on structure objects again. +* Most function call argument type mismatches are now handled as + STYLE-WARNINGs instead of full WARNINGs, since the compiler doesn't + know whether the function will be redefined before the call is + executed. (The compiler could flag local calls with full WARNINGs, + as per the ANSI spec "3.2.2.3 Semantic Constraints", but right now + it doesn't keep track of enough information to know whether calls + are local in this sense.) +* Compiler output is now more verbose, with messages truncated + later than before. (There should be some supported way for users + to override the default verbosity, but I haven't decided how to + provide it yet, so this behavior is still controlled by the internal + SB-C::*COMPILER-ERROR-PRINT-FOO* variables in + src/compiler/ir1util.lisp.) +* Fasl file format version numbers have increased again, because + support for the Gray streams extension changes the layout of the + system's STREAM objects. +* The Gray subclassable streams extension now works, thanks to a + patch from Martin Atzmueller. +* The full LOAD-FOREIGN extension (not just the primitive + LOAD-FOREIGN-1) now works, thanks to a patch from Martin Atzmueller. +* The default behavior of RUN-PROGRAM has changed. Now, unlike CMU CL + but like most other programs, it defaults to copying the Unix + environment from the original process instead of starting the + new process in an empty environment. +* Extensions which manipulate the Unix environment now support + an :ENVIRONMENT keyword option which doesn't smash case or + do other bad things. The CMU-CL-style :ENV option is retained + for porting convenience. +* LOAD-FOREIGN (and LOAD-1-FOREIGN) now support logical pathnames, + as per Daniel Barlow's suggestion and Martin Atzmueller's patch + +changes in sbcl-0.6.12 relative to sbcl-0.6.11: +* incompatible change: The old SB-EXT:OPTIMIZE-INTERFACE declaration + is no longer recognized. I apologize for this, because it was + listed in SB-EXT as a supported extension, but I found that + its existing behavior was poorly specified, as well as incorrectly + specified, and it looked like too much of a mess to straighten it + out. I have enough on my hands trying to get ANSI stuff to work.. +* many patches ported from CMU CL by Martin Atzmueller, with + half a dozen bug fixes in pretty-printing and the debugger, and + half a dozen others elsewhere +* fixed bug 13: Floating point infinities are now supported again. + They might still be a little bit flaky, but thanks to bug reports + from Nathan Froyd and CMU CL patches from Raymond Toy they're not + as flaky as they were. +* The --noprogrammer command line option is now supported. (Its + behavior is slightly different in detail from what the old man + page claimed it would do, but it's still appropriate under the + same circumstances that the man page talks about.) +* The :SB-PROPAGATE-FLOAT-TYPE and :SB-PROPAGATE-FUN-TYPE features + are now supported, and enabled by default. Thus, the compiler can + handle many floating point and complex operations much less + inefficiently. (Thus e.g. you can implement a complex FFT + without consing!) +* The compiler now detects type mismatches between DECLAIM FTYPE + and DEFUN better, and implements CHECK-TYPE more correctly, and + SBCL builds under CMU CL again despite its non-ANSI EVAL-WHEN, + thanks to patches from Martin Atzmueller. +* various fixes to make the cross-compiler more portable to + ANSI-conforming-but-different cross-compilation hosts (notably + Lispworks for Windows, following bug reports from Arthur Lemmens) +* A bug in READ-SEQUENCE for CONCATENATED-STREAM, and a gross + ANSI noncompliance in DEFMACRO &KEY argument parsing, have been + fixed thanks to Pierre Mai's CMU CL patches. +* fixes to keep the system from overflowing internal counters when + it tries to use i/o buffers larger than 16M bytes +* fixed bug 45a: Various internal functions required to support + complex special functions have been merged from CMU CL sources. + (When I was first setting up SBCL, I misunderstood a compile-time + conditional #-OLD-SPECFUN, and so accidentally deleted them.) +* improved support for type intersection and union, fixing bug 12 + (e.g., now (SUBTYPEP 'KEYWORD 'SYMBOL)=>T,T) and some other + more obscure bugs as well +* some steps toward byte-compiling non-performance-critical + parts of the system, courtesy of patches from Martin Atzmueller +* Christophe Rhodes has made some debian packages of sbcl at + . + From his sbcl-devel e-mail of 2001-04-08 they're not completely + stable, but are nonetheless usable. When he's ready, I'd be happy + to add them to the SourceForge "File Releases" section. (And if + anyone wants to do RPMs or *BSD packages, they'd be welcome too.) +* new fasl file format version number (because of changes in + internal representation of (OR ..) types to accommodate the new + support for (AND ..) types, among other things) + +changes in sbcl-0.6.13 relative to sbcl-0.6.12: +* a port to the Alpha CPU, thanks to Dan Barlow +* Martin Atzmueller ported Tim Moore's marvellous CMU CL DISASSEMBLE + patch, so that DISASSEMBLE output is much nicer. +* better error handling in CLOS method combination, thanks to + Martin Atzmueller porting Pierre Mai's CMU CL patches +* Pathnames are much more ANSI-compliant, thanks to various fixes + and tests from Dan Barlow. +* Hash tables can be printed readably, as inspired by CMU CL code + of Eric Marsden and SBCL code of Martin Atzmueller. +* Compiler trace output (the :TRACE-FILE option to COMPILE-FILE) + is now a supported extension again, since the consensus is that + it can be useful for ordinary development work, not just for + debugging SBCL itself. +?? more overflow fixes for >16Mbyte i/o buffers +* There's a new slam.sh hack to shorten the edit/compile/debug + cycle for low-level changes to SBCL itself, and a new + :SB-AFTER-XC-CORE target feature to control the generation of + the after-xc.core file needed by slam.sh. +* minor incompatible change: The ENTRY-POINTS &KEY argument to + COMPILE-FILE is no longer supported, so that now every function + gets an entry point, so that block compilation looks a little + more like the plain vanilla ANSI section 3.2.2.3 scheme. +* Fasl file version numbers are now independent of the target CPU, + since historically most system changes which required version + number changes have affected all CPUs equally. Similarly, + the byte fasl file version is now equal to the ordinary + fasl file version. + planned incompatible changes in 0.7.x: * The debugger prompt sequence now goes "5]", "5[2]", "5[3]", etc. as you get deeper into recursive calls to the debugger command loop, instead of the old "5]", "5]]", "5]]]" sequence. (I was motivated - to do this when ILISP and SBCL got into arguments which left me - deeply nested in the debugger.) + to do this when squabbles between ILISP and SBCL left me + very deeply nested in the debugger.) +* The fasl file extension may change, perhaps to ".fasl". +* The default output representation for unprintable ASCII characters + which, unlike e.g. #\Newline, don't have names defined in the + ANSI Common Lisp standard, may change to their ASCII symbolic + names: #\Nul, #\Soh, #\Stx, etc. +* INTERNAL-TIME-UNITS-PER-SECOND might increase, e.g. to 1000. +* FASL file extensions change to ".fasl", instead of the various + CPU-dependent values (".x86f", ".axpf", etc.) inherited from CMU CL. +* MAYBE-INLINE will probably go away at some point, maybe 0.7.x, + maybe later, in favor of the ANSI-recommended idiom for making + a function optionally inline. +* When the profiling interface settles down, maybe in 0.7.x, maybe + later, it might impact TRACE. They both encapsulate functions, and + it's not clear yet how e.g. UNPROFILE will interact with TRACE + and UNTRACE. (This shouldn't matter, though, unless you are + using profiling. If you never profile anything, TRACE should + continue to behave as before.) +* The BYTE-COMPILE &KEY argument for COMPILE-FILE is deprecated, + since this behavior can be controlled by (DECLAIM (OPTIMIZE (SPEED 0))). + ("An ounce of orthogonality is worth a pound of features.")