rewrote MERGE-LISTS* to avoid using a global variable for scratch (motivated by Wolfgang Jenkner's bug report sbcl-devel 2003-01-05, and also by the prospect of threads) rewrote stuff calling MERGE-LISTS* to coerce function designators early once and for all (instead of on every call to MERGE-LISTS*) added test cases trivial style/comment/name tweaks
Fix for averrance failure due to DEBUG-RETURN interfering with type system (explanation APD sbcl-devel 2003-01-10) ... disable insertion of CATCH if it was disabled in an outer LAMBDA; ... enable insertion of CATCH when compiling top-level forms, so that the evaluator continues to have DEBUG-RETURN goodness.
Try harder to find GNU make (instead of first running make-host-1.sh, then bailing out in make-target-1.sh) as per Fufie, rudi, and Krystof on #lisp. (Google says "don't be evil", and while we're not that good, at least we can try not to be too annoying.:-) Make chill.lisp not die on short package names. (inspired by Rudi Schlatte's patch sbcl-devel 2003-01-04)
Clean up regressions, easy new bugs, etc. ... fix one or two embarrassing bugs in ctor MAKE-INSTANCE optimization patch: * REINITIALIZE-INSTANCE now checks arguments again * defining methods on MAKE-INSTANCE (or its siblings) now invalidates the optimized methods for subclasses too ... trivial ADJUST-ARRAY patch
Installed ctor.lisp MAKE-INSTANCE optimization (from Gerd Moellmann, via CSR sbcl-devel 2002-12-21) ... wrote tests for those bugs which it fixes ... do not delete fast-init.lisp yet; waiting for user feedback before destroying some CVS history ... update COPYING information to reflect the new copyright owner
Fix up a theoretical bug in the COMPILE DERIVE-TYPE-OPTIMIZER ... '(VALUES FUNCTION BOOLEAN BOOLEAN), not 'FUNCTION (why only a "theoretical" bug? Well, at present, SBCL's type engine returns (VALUES FUNCTION BOOLEAN BOOLEAN) for (VALUES-TYPE-INTERSECTION 'FUNCTION '(VALUES (OR FUNCTION SYMBOL) BOOLEAN BOOLEAN)) so it DWIM. However, CMUCL doesn't (it returns the empty type instead), which led to the discovery of this error by Raymond Toy when he tried to port the optimizer.)
Fix bug 222 (as per APD sbcl-devel 2002-12-11) ... define the macro in the correct (restricted) lexical context. Fix bug in COERCE [e.g. (COERCE 2 '(SINGLE-FLOAT 3.0 4.0))] ... when converting to a real type, don't be so lenient if the original datum is a rational. Define improved DERIVE-TYPE-OPTIMIZER for COERCE ... for constant RESULT-TYPE arguments, write a branch that understands complex canonicalization ... leave in old branch for ARRAY-ELEMENT-TYPE return types Write DERIVE-TYPE-OPTIMIZER for COMPILE ... (COMPILE NIL <x>) returns an object of type FUNCTION
merged Robert E. Brown shush-the-compiler patch (sbcl-devel 2002-12-13) minor changes... ...removed DECLAIM FTYPE for SLOT-ACCESSOR-INLINE-EXPANSION-DESIGNATORS on the theory that it's too fragile (since (1) S-A-I-E-D does currently return functions, but could validly return nonfunctions in some later implementation, and (2) SBCL's declarations-are-assertions still doesn't work right for DECLAIM FTYPE) ...sometimes used THE instead of DECLARE (didn't do yet, but still intend to: add some documentation related to drichards' #lisp question about :NOT-HOST)
Fix one "outstanding embarrassment" (as per CSR sbcl-devel 2002-12-10): no more building of compiler files in warm load. ... play symlink games instead, to build the troublesome assembly files twice under different names (will need adjustments to work on non-Unix filesystems (e.g. NTFS) but no more than the rest of the build).