Update contrib/asdf to newer upstream version ... fix loopiness ... add test-op definitions ... quote evaluation of *central-registry* components to make it more useful when a core is dumped containing asdf Rewrite asdf-using contrib makefiles to use common asdf-module.mk ... and their .asd files to define test-op
Minor build fix for Solaris ... All diffs are not GNU, sadly :-(
Install faster EQUAL on simple-bit-vectors ... word-at-a-time, not bit-at-a-time Frobs for correctness ... much like one that was solved for 0.7.3.5, we must be careful about identifying the last word of the bit vector, particularly for bit-vectors whose length is divisible by 32^Wn-word-bits. Less critical in this case, but we could still be reading into random space, even if not writing. Frobs for yet more speed ... allow CMUCL to optimize ASH, as long as none of the values are in the danger zone. Also reported the bug to CMUCL people, and it is now fixed, so when all traces of 18d are removed from this earth, the conditional in ASH-DERIVE-TYPE-AUX can go too.
Update contrib/asdf to newer upstream version Add a 'make up' target to its Makefile so that this can be an automatic operation in future
Merge SXHASH improvements ... distribute (SXHASH <fixnum>) a little more widely over the available space; ... make (SXHASH <bit-vector>) consider rather more than just the first four bits. Miscellaneous cleanups ... don't delete contrib's html documentation ... make vanilla modules depend on the (newly-built) sbcl.core ... some cleanups in snapshot/SB-SHOW logic ... quit from the low-level debugger now exits the process with an error code (because, um, even getting to ldb is a pretty serious error)
Fix typo in new BOUNDP optimization in PCL (thanks to Tony Martinez for spotting it) ... can't find a test case :-/
SBCL does not ignore type declarations for special variables. (reported by rif on c.l.l 2003-03-05)
Fixed bug reported by Rolf Wester on comp.lang.lisp: DEFPARAMETER and DEFVAR now always assign a dynamic variable.
* [N]REVERSE and NRECONC check properness of list arguments; * [P]SXHASH always consider NIL to be a symbol.
Add forgotten generic/array.lisp holding definitions of (ARRAY NIL) handling (thanks to APD for noting my oversight)
Minor error fix, from Paul Dietz' suite ... if GETF and GET-PROPERTIES signal a error on malformed property lists, then make it a type-error, not just a simple-error
The (ARRAY NIL) has landed. ... implement a SIMPLE-ARRAY-NIL primitive type, including in garbage collection and (ROOM) logic; ... adjust implementation of array creation and reference to deal with arrays that can't contain anything; ... (HAIRY-)DATA-VECTOR-REF are can no longer be FLUSHABLE; Enjoy!
Fix build problems for mips(el) ... include some of the structure files from genesis/*.h ... .cvsignore determine-endianness
contrib/ frobs ... install newer asdf, which fixes my stupid thinko for .sbcl/systems (though in point of fact there would be an argument, I think, for resolving user-homedir-pathname/SBCL_HOME later than we are. ... apply KMR patches (sbcl-devel 2003-03-04) for sb-aclrepl (and turn *CMD-CHAR* into *COMMAND-CHAR* in the process)
Merge mini backend-refactor, motivated by APD's *CHECK-CONSISTENCY*/non-local-exit observations ... OAOOize MAKE-DYNAMIC-SPACE-TNS VM support routine Also add tests for documentation in the presence of generalized function names that should have been merged before but were forgotten (sorry).
Disable checking of *xxx*-like lexical variable names in optional- and more-entries (see, e.g., bug 240).
On X86 fixed amount of space for saving dynamic state corresponding to removing of eval stack saving between 0.7.4.13 and 0.7.4.22. A similar patch probably should be applied for other platforms.
* New blocks are inserted into the end of component in the direct order; * TRANSFORM-CALL inserts new lambda immediately after the call; * MAKE-COMPONENT is a BOA-constructor.
* SIGNAL-BOUNDING-INDICES-BAD-ERROR accepts any bounding index designators; * fixed CEILING optimization for a divisor of form 2^k.
RDY is a register/register instruction, not a register/immediate ... now disassembly works better
Merge "type system insanity" (CSR sbcl-devel 2002-03-01) ... extend INVOKE-COMPLEX-SUBTYPEP-ARG1-METHOD to take return values for the case that no next method is found ... define and use (once!) equivalent logic for COMPLEX-= ... be more uncertain on intersections of class types, since we create them when we don't know enough to canonicalize ... various other cases demand more uncertainty, too (e.g. intersections involving HAIRY-TYPEs) No known failures inherent to the type system!
DEFINE-ALIEN-ROUTINE now fully declares result type.
Fix the sparc build ... add some headers to some runtime files ... give COLLECT-GARBAGE its argument in lispland, too Delete src/runtime/primitive-objects.h, as it's made by genesis now
Fix some more type system stuff ... the NEGATION type method should test for TYPE=, not EQ, with *EMPTY-TYPE* ... install some hair to deal with more RATIONAL/INTEGER confusion (I can no longer construct an example that causes the type system to get the answer wrong involving just INTEGER, RATIONAL, AND, OR and NOT. That's not to say that such an example doesn't exist, only -- as Fermat didn't quite say -- that my brain is too small to contain it)
Fix really stupid bug in CONS :SIMPLE-UNION method ... don't mix the CDR type into the CAR type While I'm there, make the CONS :SIMPLE-UNION method smarter ... canonicalize unions of (CONS A D) with (CONS A' D'), where A subtypep A', to (OR (CONS A (OR D D')) (CONS (AND A' (NOT A)) D')) the point being that this is then in a form that can be further canonicalized when more CONS types come along. This fixes about 5 bugs from pfdietz's suite.
Generate primitive-objects.h automaticslly, and move it into genesis/ (CSR) Fix typo(!) in gencgc.c that was stopping compilation Remove linux-specific header files in same that were left over from the thread branch Delete some unused variables
Committed patch for gencgc refactoring based on work done on threads branch. ... to make header file management a lot simpler, and allow the use of interesting typedefs in genesis :C-TYPE slot options, we split runtime.h into lots of smaller files that can be (semi-)independently included. ... all GC and GCish functions now have the same interface, so no need for (eq *internal-gc* #'collect-garbage) test in SUB-GC ... current_region_end_addr and current_region_free_pointer go away, eliminating potential for weird bugs when they're not synchronized properly. Yay OAOO ... disabled (actually, removed) inline allocation, as it depended on old current_region_* (see above) and appears to make not a lot of actual difference to run times anyway pseudo-atomic support is now always compiled in. I can see no good reason for not having it ... much code in alloc() collapsed. Also alloc() no longer attempts to drop its PA and do a collection in the middle of allocation - instead it uses the existing maybe_gc flag to indicate that collection should happen when the allocation is done. Possibly this has bad effects when trying to allocate an object bigger than available dynamic space, but that would fit if a GC were done first. Given the (complete lack of) error handling for out-of-memory conditions in this and all previous SBCL versions, it would be a foolish programmer who was depending on this anyway, though.
Fix the bug 239.
RUN-PROGRAM fixes: make the :pty option actually work (even on other-than-BSD systems) and run-program.lisp rather shorter in the process.
Remove all #+mp/#-mp conditionals, and rid the world of the SB!MP package
Small refactor to OOAO-ize find-restart-or-lose
release, tagged as sbcl_0_7_13