-changes in sbcl-0.7.1 relative to sbcl-0.7.0:
-* mostly bug fixes:
- ** SB-ALIEN:LOAD-FOREIGN and SB-ALIEN:LOAD-1-FOREIGN are set
- up properly again. (There was a packaging bug in 0.7.0 which
- left their definitions in SB-SYS::LOAD-FOREIGN and
- SB-SYS::LOAD-1-FOREIGN. LOAD-FOREIGN and LOAD-1-FOREIGN are
- vital for most things which interface to C-level interfaces,
- like extensions working with sockets or databases or
- Perl-compatible regexes or whatever, and the need to fix
- this bug is the main reason that 0.7.1 was released so
- soon after 0.7.0.)
- ** DEFGENERIC is now choosier about the methods it redefines, so that
- reLOADing a previously-LOADed file containing DEFGENERICs does
- the right thing now. Thus, the Lispy edit/reLOAD-a-little/test
- cycle now works as it should. (thanks to Alexey Dejneka)
- ** Bug 106 (types (COMPLEX FOO) where FOO is an obscure type) was
- fixed by Christophe Rhodes. (He actually submitted this patch
- months ago, and I delayed until after 0.7.0.)
- ** Bug 111 (internal compiler confusion about runtime checks on
- FUNCTION types) was fixed by Alexey Dejneka.
-* Some internal cleanups (getting rid of variables which aren't
- needed now that the byte interpreter is gone) caused the fasl
- file format number to change again.
-
-changes in sbcl-0.7.2 relative to sbcl-0.7.1:
- * incompatible change: The compiler is now less aggressive about
- tail call optimization, doing it only when (> SPACE DEBUG) or
- (> SPEED DEBUG). (This is an incompatible change because there are
- programs which relied on the old CMU-CL-style behavior to optimize
- away their unbounded recursion which will now die of stack overflow.)
- * minor incompatible change: The default BYTES-CONSED-BETWEEN-GCS
- for non-GENCGC systems has been increased to 20M (since that
- seems much closer to the likely performance optimum for modern
- systems than the old 4M value was)
- * minor incompatible change: new larger values for *DEBUG-PRINT-LENGTH*
- and *DEBUG-PRINT-LEVEL*
- * SBCL runs on SPARC systems now. (thanks to Christophe Rhodes' port
- of CMU CL's support for SPARC, and various endianness and other
- SBCL portability fixes due to Christophe Rhodes and Dan Barlow)
- * new syntactic sugar for the Unix command line: --load foo.bar is now
- an alternate notation for --eval '(load "foo.bar")'.
- * bug fixes:
- ** The system now detects stack overflow and handles it gracefully,
- at least for (OR (> SAFETY (MAX SPEED SPACE)) (= SAFETY 3))
- optimization settings. (This is a good thing in general, and
- its introduction in this version should be particularly timely
- for anyone whose code fails because of suppression of tail
- recursion!)
- ** The system now hunts for the C variable "environ" in a more
- devious way, to avoid segfaults when the C library version differs
- between compile time and run time. (thanks to Christophe Rhodes)
- ** INTEGER-valued CATCH tags now work. (thanks to Alexey Dejneka,
- and also to Christophe Rhodes for porting the fix to non-X86 CPUs)
- ** The compiler no longer issues bogus style warnings for undefined
- classes in the same source file as the DEFCLASSes which defined
- them. (thanks to Stig E Sandoe for reporting and Martin Atzmueller
- for fixing this)
- ** fixes in CONDITION class precedence list for undefined function
- errors (thanks to Alexei Dejneka)
- ** *DEFAULT-PATHNAME-DEFAULTS* is used more consistently and
- correctly. (thanks to Dan Barlow)
- ** portability fixes aiming at bootstrapping under CLISP (thanks
- to Dave McDonald and Christophe Rhodes)
- ** FORMAT fixes (thanks to Robert Strandh and Dan Barlow)
- ** fixes in type translation and and type inference (thanks to
- Christophe Rhodes)
- ** fixes to optimizer internal errors (thanks to Alexei Dejneka)
- ** various fixes in the new ports (thanks to Dan Barlow)
- * several changes related to debugging:
- ** suppression of tail recursion, as noted above
- ** stack overflow detection, as noted above
- ** The default implementation of TRACE has changed. :ENCAPSULATE T
- is now the default. (For some time encapsulation has been more
- reliable than the breakpoint-based :ENCAPSULATE NIL
- implementation, at least on X86 systems; and I just noticed that
- 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
- <http://designix.com.au/brian/SBCL/sbcl-0.7.0-unicode.p0.gz>.
- * 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 "A\7fB") returns
- |A\7fB|, 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.6.13 relative to sbcl-0.6.12:
+* a port to the Compaq/DEC Alpha CPU, thanks to Dan Barlow
+* Martin Atzmueller ported Tim Moore's marvellous CMU CL DISASSEMBLE
+ patch, so that DISASSEMBLE output is much nicer.
+* The code in the SB-PROFILE package now seems reasonably stable.
+ I still haven't decided what the final interface should look like
+ (I'd like PROFILE to interact cleanly with TRACE, since both
+ facilities use function encapsulation) but if you have a need
+ for profiling now, you can probably use it successfully with
+ the current CMU-CL-style interface.
+* Pathnames and *DEFAULT-DIRECTORY-DEFAULTS* are much more
+ ANSI-compliant, thanks to various fixes and tests from Dan Barlow.
+ Also, at Dan Barlow's suggestion, TRUENAME on a dangling symbolic
+ link now returns the dangling link itself, and for similar
+ reasons, TRUENAME on a cyclic symbolic link returns the cyclic
+ link itself. (In these cases the old code signalled an error and
+ looped endlessly, respectively.) Thus, DIRECTORY now works even
+ in the presence of dangling and cyclic symbolic links.
+* Compiler trace output (the :TRACE-FILE option to COMPILE-FILE)
+ is now a supported extension again, since the consensus on
+ sbcl-devel was that it can be useful for ordinary development
+ work, not just for debugging SBCL itself.
+* The default for SB-EXT:*DERIVE-FUNCTION-TYPES* has changed to
+ NIL, i.e. ANSI behavior, i.e. the compiler now recognizes
+ that currently-defined functions might be redefined later with
+ different return types.
+* Hash tables can be printed readably, as inspired by CMU CL code
+ of Eric Marsden and SBCL code of Martin Atzmueller.
+* better error handling in CLOS method combination, thanks to
+ Martin Atzmueller porting Pierre Mai's CMU CL patches
+* more overflow fixes for >16Mbyte I/O buffers
+* A bug in READ has been fixed, so that now a single Ctrl-D
+ character suffices to cause end-of-file on character streams.
+ In particular, now you only need one Ctrl-D at the command
+ line (not two) to exit SBCL.
+* fixed bug 26: ARRAY-DISPLACEMENT now returns (VALUES NIL 0) for
+ undisplaced arrays.
+* fixed bug 107 (reported as a CMU CL bug by Erik Naggum on
+ comp.lang.lisp 2001-06-11): (WRITE #*101 :RADIX T :BASE 36) now
+ does the right thing.
+* The implementation of some type tests, especially for CONDITION
+ types, is now tidier and maybe faster, due to CMU CL code
+ originally by Douglas Crosher, ported by Martin Atzmueller.
+* Some math functions have been fixed, and there are new
+ optimizers for deriving the types of COERCE and ARRAY-ELEMENT-TYPE,
+ thanks to Raymond Toy's work on CMU CL, ported by Martin Atzmueller.
+* (There are also some new optimizers in contrib/*-extras.lisp. Those
+ aren't built into sbcl-0.6.13, but are a sneak preview of what's
+ likely to be built into sbcl-0.7.0.)
+* A bug in COPY-READTABLE was fixed. (Joao Cachopo's patch to CMU
+ CL, ported to SBCL by Martin Atzmueller)
+* DESCRIBE now gives more information in some cases. (Pierre Mai's
+ patch to CMU CL, ported to SBCL by Martin Atzmueller)
+* Martin Atzmueller and Bill Newman fixed some bugs in INSPECT.
+* 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.
+* minor incompatible change: SB-EXT:GET-BYTES-CONSED now
+ returns the number of bytes consed since the system started,
+ rather than the number consed since the first time the function
+ was called. (The new definition parallels ANSI functions like
+ CL:GET-INTERNAL-RUN-TIME.)
+* minor incompatible change: The old CMU-CL-style DIRECTORY options,
+ i.e. :ALL, :FOLLOW-LINKS, and :CHECK-FOR-SUBDIRS, are no longer
+ supported. Now DIRECTORY always does the abstract Common-Lisp-y
+ thing, i.e. :ALL T :FOLLOW-LINKS T :CHECK-FOR-SUBDIRS T.
+* 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.