X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=NEWS;h=0300b56b7be340e486cd7696aef92268778561ae;hb=d007a04970c7daa85d522a1816e3ffc7a3bf1913;hp=ef442af7b4a57de6ee5a383609b9fccf3282d211;hpb=f030ad9cd9966dcaabc1e76e8bc8ca2df7cdb250;p=sbcl.git diff --git a/NEWS b/NEWS index ef442af..0300b56 100644 --- a/NEWS +++ b/NEWS @@ -1058,6 +1058,217 @@ changes in sbcl-0.7.2 relative to sbcl-0.7.1: encapsulation also seems closer to the spirit of the ANSI specification.) +changes in sbcl-0.7.3 relative to sbcl-0.7.2: + * ANSI's DEFINE-SYMBOL-MACRO is now supported. (thanks to Nathan + Froyd porting CMU CL code originally by Douglas Thomas Crosher) + * SBCL now runs on the PPC archtiecture under Linux. It actually did + this as of 0.7.1.45, but was left out of the previous news section + (thanks to Dan Barlow) + * SBCL now runs on the Solaris operating system on SPARC architectures + (thanks to Christophe Rhodes's port of the CMUCL runtime) + * cleanups to the runtime on SPARC, both Linux and Solaris, and for + gcc>=3 (thanks to Nathan Froyd and Ingvar Mattsson) + * SPARC backend cleanups, allowing builds of cores optimized for V8 + and V9 SPARCS, and also emission of code targeted to a particular + backend chosen at runtime (thanks to Christophe Rhodes and Raymond + Toy) + * SBCL is closer to bootstrapping under CLISP, thanks to various + fixes by Christophe Rhodes. + * The fasl file format has changed again, to allow the compiler's + INFO database to support symbol macros. + * The user manual (in doc/) is formatted into HTML more nicely. + (thanks to coreythomas) + * The system is smarter about SUBTYPEP relationships, especially + those involving NOT types (including types such as ATOM which are + represented internally using NOT types). Thus SUBTYPEP is less + likely to return (VALUES NIL NIL) in general, and in particular + bugs 58 and (the remaining bits of) bug 50 are fixed. (thanks to + Christophe Rhodes) + * The fasl file format has changed again, because the internal + representation of types now includes a new slot to support the new + SUBTYPEP-of-NOT-types logic. + * (not a change in the main branch of SBCL, but a related prototype + which can hopefully be merged into the main branch of SBCL in the + future:) Brian Spilsbury has produced a Unicode-enabled variant of + sbcl-0.7.0, available as a patch against sbcl-0.7.0 at + . + * Bug 151 fixed: GET-DISPATCH-MACRO-CHAR now returns NIL for undefined + dispatch macro character combinations. (thanks to Alexey Dejneka) + * Bugfix in PARSE-NAMESTRING: we now correctly parse unix namestrings + that superficially look like logical namestrings correctly. + * USER-HOMEDIR-PATHNAME now returns a (physical) pathname that SBCL + can deal with. + * Bugfix in DEFSTRUCT: BOA constructor lambda lists now accept (name + default supplied-p) for &optional and &key arguments. (thanks to + Martin Atzmueller) + +changes in sbcl-0.7.4 relative to sbcl-0.7.3: + * bug 147 fixed: The compiler preserves its block link/count + invariants more correctly now so that it doesn't crash. (thanks + to Alexey Dejneka) + * Dynamic loading of object files in OpenBSD is now supported. (thanks + to Pierre Mai) + * COMPILE now works correctly on macros. (thanks to Matthias Hoelzl) + * GET-MACRO-CHARACTER and SET-MACRO-CHARACTER now represent + no-value-for-this-character as NIL (as specified by ANSI). + * HOST-NAMESTRING on physical pathnames now returns a string that is + valid as a host argument to MERGE-PATHNAMES and to MAKE-PATHNAME. + (thanks to Christophe Rhodes) + * The Alpha port handles icache flushing more correctly. (thanks to + Dan Barlow) + * More progress has been made toward bootstrapping under CLISP. (thanks + to Christophe Rhodes) + * The fasl file format has changed again, because dynamic loading + on OpenBSD (which has non-ELF object files) motivated some cleanups + in the way that foreign symbols are transformed and passed around. + * minor incompatible change: The ASCII RUBOUT character, (CHAR-CODE 127), + is no longer treated as whitespace by the reader, but instead as + an ordinary character. Thus e.g. (READ-FROM-STRING "AB") returns + |AB|, instead of A as it used to. + +changes in sbcl-0.7.5 relative to sbcl-0.7.4: + * SBCL now builds with OpenMCL (version 0.12) as the + cross-compilation host; also, more progress has been made toward + bootstrapping under CLISP. + * SBCL now runs on the Tru64 (aka OSF/1) operating system on the + Alpha architecture. + * bug 158 fixed: The compiler can now deal with integer loop + increments different from 1; fixing this turned out also to fix + bug 164. + * bug 169 fixed: no more bogus warnings about using lexical bindings + despite the presence of perfectly good SPECIAL declarations (thanks + to David Lichteblau) + * bug 175 fixed: CHANGE-CLASS is now more ANSI-conforming, + accepting initargs. (thanks to Espen Johnsen and Pierre Mai) + * bug 179 fixed: DIRECTORY can now deal with filenames with pattern + characters in them. + * bug 180 fixed: Method combination specifications no longer ignore + the :MOST-SPECIFIC-LAST option. (thanks to Pierre Mai) + * bug fix: Structure type predicate functions now check their argument + count as they should. + * bug fix: Classes with :METACLASS STRUCTURE-CLASS now print + correctly. (thanks to Pierre Mai) + * minor incompatible change: The --noprogrammer option is deprecated + in favor of the new --disable-debugger option, which is very similar. + (The major difference is that it takes effect at a slightly different + time at startup, causing handling of errors in --sysinit and + --userinit files will be affected differently.) The + SB-EXT:DISABLE-DEBUGGER and SB-EXT:ENABLE-DEBUGGER functions have + been added to allow this functionality to be controlled from ordinary + Lisp code. (ENABLE-DEBUGGER should help people like the Debian + maintainers, who might want to run non-interactive scripts to + build SBCL cores which will later be used interactively.) + * minor incompatible change: The LOAD function no longer, when given + a wild pathname to load, loads all files matching that pathname. + Instead, an error of type FILE-ERROR is signalled. + +changes in sbcl-0.7.6 relative to sbcl-0.7.5: + * bug fix: Floating point exceptions are treated much more + consistently on the x86/Linux and PPC/Linux platforms. + * Array initialization with :INITIAL-ELEMENT is now much faster for + cases when the compiler cannot open code the array creation, but + does know what the UPGRADED-ARRAY-ELEMENT-TYPE will be. General + array accesses have also seen a speed increase. + * bug fix: LOAD :IF-DOES-NOT-EXIST NIL now works when file type is + specified. (This was at the root of some bad interactions between + SBCL and ILISP: thanks to Gregory Wright for diagnosing this and + reporting the bug.) + * bug fix: Internal error arguments for undefined functions are now + computed correctly on the PPC/Linux platform. + * bug fix: Bad &REST syntax is now checked correctly. (thanks to + Raymond Toy's patch for CMU CL) + * Support for the Solaris 9 operating environment has been included + (thanks to Daniel Merritt) + * A very ugly but hopefully complete draft of the missing FFI chapter + of the manual has been created by reformatting the corresponding + CMU CL manual chapter into (currently very ugly and incoherent) + DocBook and bringing it up to date for SBCL behavior. Thus, the + manual is now essentially complete, at least by my extreme + once-and-only-once standards, whereby it's acceptable to refer to + the doc strings of SB-EXT functions as the primary documentation. + * The fasl file version number has changed again, due to cleanup of + (user-invisible) bitrotted stuff. (E.g. *!INITIAL-FDEFN-OBJECTS* + is no longer a static symbol.) + +changes in sbcl-0.7.7 relative to sbcl-0.7.6: + * An alpha-quality port to the parisc architecture running Linux, + based on the old CMUCL backend, has been made. This, even more so + than the other backends, should be considered still a work in + progress; known problems include that the Linux kernel in 64-bit + mode does not propagate the correct sigcontext structure to + userspace, and consequently SBCL on a parisc64 kernel will not + work yet. + * fixed bug 189: The compiler now respects NOTINLINE declarations for + functions declared in FLET and LABELS. (I.e. "LET conversion" is + suppressed.) Also now that the compiler is looking at declarations + in the environment, it checks optimization declarations as well, + and suppresses inlining when (> DEBUG SPEED). + * More fixes have been made to treatment of floating point exception + treatment and other Unix signals. In particular, floating point + exceptions no longer cause Bus errors on the SPARC/Linux platform. + * The detection and handling of control stack exhaustion (infinite + or very deeply nested recursion) has changed. Stack exhaustion + detection is now done by write-protecting pages at the OS level + and applies at all optimization settings; when found, a + SB-KERNEL:CONTROL-STACK-EXHAUSTED condition (subclass of + STORAGE-CONDITION) is signalled, so stack exhaustion can no longer + be caught using IGNORE-ERRORS. + * Bugs 65, 70, and 109 fixed: The compiler now preserves invariants + correctly when transforming recursive LABELS functions to LETs. + (thanks to Alexey Dejneka) + * Bug 48a./b. fixed: SYMBOL-MACROLET now refuses to bind symbols + that are names of constants or global variables. + * Bug fix: DEFINE-ALIEN-ROUTINE now declaims the correct FTYPE for + alien routines with docstrings. + * Bug 184 fixed: Division of ratios by the integer 0 now signals an + error of type DIVISION-BY-ZERO. (thanks to Wolfhard Buss and + Raymond Toy) + * Bug fix: Errors in PARSE-INTEGER are now of type PARSE-ERROR. + (thanks to Eric Marsden) + * Bug fix: COERCE to (COMPLEX FLOAT) of rationals now returns an + object of type (COMPLEX FLOAT). (thanks to Wolfhard Buss) + * Bug fix: The SPARC backend can now compile functions involving + LOGAND and stack-allocated arguments. (thanks to Raymond Toy) + * Bug fix: We no longer segfault on passing a non-FILE-STREAM stream + to a functions expecting a PATHNAME-DESIGNATOR. + * Bug fix: DEFGENERIC now enforces the ANSI restrictions on its + lambda lists. (thanks to Alexey Dejneka) + * Bug fix: changed encoding of PCL's internal MAKE-INSTANCE + functions so that EXPORTing the name of the class doesn't cause + MAKE-INSTANCE functions from earlier DEFCLASSes to get lost (thanks + to Antonio Martinez for reporting this) + * Bug 192 fixed: The internal primitive DATA-VECTOR-REF can now be + constant-folded without failing an assertion. (thanks to Einar + Floystad Dorum for reporting this) + * Bugs 123 and 165 fixed: array specializations on as-yet-undefined + types are now dealt with more correctly by the compiler. + * Minor incompatible change: COMPILE-FILE-PATHNAME now merges its + OUTPUT-FILE argument with its INPUT-FILE argument, resulting in + behaviour analogous to RENAME-FILE. This puts its behaviour more + in line with ANSI's wording on COMPILE-FILE-PATHNAME. (thanks to + Marco Antinotti) + * The fasl file version number has changed again. (because of the + bug fix involving the names of PCL MAKE-INSTANCE functions) + +changes in sbcl-0.7.8 relative to sbcl-0.7.7: + * A beta-quality port to the mips architecture running Linux, + based on the old CMUCL backend, has been made. It has been tested + on a big-endian kernel, and works sufficiently well to be able to + rebuild itself; it has not been tested in little-endian mode. + * fixed bug 120a: The compiler now deals correctly with IFs where + the consequent is the same as the alternative, instead of + misderiving the return type. (thanks to Alexey Dejneka) + * fixed bug 113: Logical pathnames are now dumpable (the logical + host is resolved at load-time, throwing an error if it is not + found). + * fixed bug 174: FORMAT's error message is slightly clearer when a + non-printing character is used in a format directive. + * fixed several bugs in compiler checking of type declarations, i.e. + violations of the Python "declarations are assertions" principle + (thanks to Alexey Dejneka) + * fixed several bugs in PCL's error checking (thanks to Gerd + Moellmann) + planned incompatible changes in 0.7.x: * When the profiling interface settles down, maybe in 0.7.x, maybe later, it might impact TRACE. They both encapsulate functions, and