Fix BUGS 123 and 165, somewhat along the lines of CSR sbcl-devel 2002-08-20 "(VECTOR UNDEFTYPE)", except also catch the erroneous test in ARRAY-TYPES-INTERSECT.
merged APD "Let-converting recursive lambdas" patch (sbcl-devel 2002-08-19), fixing bugs 65, 70, and 109
Merge (alpha-quality, probably) HPPA/Linux port ... added hppa fixups in genesis.lisp ... moved disassem-state definition from target-disassem.lisp to disassem.lisp, so building it on the host ... lots of new files (thank you, CMUCL) Minor boilerplate cleanups in src/runtime/
comment tweaking fixed bug 192, "constant-folding DATA-VECTOR-REF", by adding an ordinary DEFUN definition of D-V-R
fixing tonym's GRUFFALO bug (from #lisp)... ...made MAKE-INSTANCE-FUNCTION-SYMBOL use two colons whether or not the symbol is currently exported, so that EXPORTing the class name after class definition and before class use doesn't lose track of the function ...incremented fasl file format to reflect this (The whole PCL approach of encoding stuff into hairy symbol names interned in odd places is still broken, as can easily be demonstrated by renaming packages. But that's unlikely to be fixed soon, and maybe in the meantime this easy fix can help a little.)
merged APD patch for bugs 191-b (making gf lambda lists conform to ANSI 3.4.2) from sbcl-devel added tests, and fixed old tests whose brokenness is now detected (speculated about reusing SB-C:PARSE-LAMBDA-LIST instead of adding new PROCESS-LAMBDA-LIST, but didn't actually actually do that, in favor of checking in something that works and fixes a bug. Maybe next version...) reverted handling of illegal function name in DEFGENERIC (from previous commit) since I guess it should be PROGRAM-ERROR after all
No changes; simply adding back the .cvsignore files that I managed to remove. Sorry. :-/
(I hope this checkin works. I have issued conflicting instructions to do with adding and removal of .cvsignore files, and it's possible that this has confused things. Only the .cvsignore files should be messed up, if anything has gone wrong) Merge APD patch for BUG 191a (sbcl-devel 2002-08-12) ... s/slots-for-this-defclass/slot-names-for-this-defclass/ Merge patch from Gerd Moelmann regarding the long form of DEFINE-METHOD-COMBINATION (cmucl-imp 2002-06-18) Remove now-unneccessary .cvsignore files (having added a "master" cvsignore file in sbcl's CVSROOT)
(I set out to suppress compiler macro expansion when (> COMPILATION-SPEED SPEED), but now that I've read the DEFINE-COMPILER-MACRO specification, I think that'd probably be illegal. So I guess I won't.) As far as I can tell from the ANSI spec, it's nonconforming to return NIL from COMPILER-MACRO-FUNCTION just because of a NOTINLINE declaration. So make COMPILER-MACRO-FUNCTION ignore NOTINLINEness. (I set out to make (DEFINE-COMPILER-MACRO (SETF FOO) ...) work, but gave up, first because (SETF (FOO X) Y) expands into (FUNCALL #'(SETF FOO) Y X) and it's not clear that it's kosher to use compiler macros to transform FUNCALL, and second because ANSI 18.104.22.168 says any compiler macro definition can always be ignored.) made DEFINE-COMPILER-MACRO (SETF FOO) issue a STYLE-WARNING made COMPILER-MACRO-FUNCTION check for legal function names factored out LEGAL-FUN-NAME-OR-TYPE-ERROR to support this tiny ANSI-compliance tweak: made (SETF (COMPILER-MACRO-FUNCTION FOO NIL) ...) work various tweaks to *DEBUG-HELP-STRING* (especially to help people avoid messing with restart numbers, ow!) s/make-breakpoint-info/%make-breakpoint-info/, since leaving the traditional default name MAKE-... exposed when you're really supposed to use CREATE-... is an attractive nuisance s/code-location-number/code-location-selector/, since it's not necessarily a number
COMPILE-FILE-PATHNAME behaviour change (ANSI fix, probably) ... now with extra juicy MERGE-PATHNAMES logic Fixes related to this change ... always absolutify pathnames in SBCL's build procedure (with the TRUENAME-of-a-closed-file-stream trick) ... don't wander off into random memory if an arbitrary stream is fed to a pathname function NEWS update
SYMBOL-MACROLET fixes ... throw a COMPILER-ERROR when attempting to bind a special or a constant with SYMBOL-MACROLET ... throw a PROGRAM-ERROR when attempting to run a form compiled with errors (thanks to Raymond Toy and Eric Marsden for their work on the CMUCL side)
Unabbreviate "variable" used adjectivally ... VARIABLE-LENGTH boolean attribute for backend pseudo-instructions ... VARIABLE-LENGTH-P slot in primitive object structure Turn on the assembler scheduler for SPARCs
Fix for stop'n'copy garbage collection ... don't unconditionally set current_dynamic_space to be the 0 space
Bugfix for DEFINE-ALIEN-ROUTINE ... now alien routines with doctypes get an FTYPE DECLAIMed which has the right number of arguments ... remove duplicate definition of get-timezone; use helper functions defined in unix.lisp
Fix potential off-by-one in SCRUB-CONTROL-STACK when the stack grows downwards. v-----v-- guard page extent [ || ] ^-- word at which we should stop scrubbing in contrast with v----v-- guard page extent [ | ] ^-- word at which we should stop scrubbing ... <= changes to < ... I thought this might fix the large dynamic sizes after purify seen on the x86 since 0.7.6.2, but no dice :-/
Various ANSI fixes via Raymond Toy and Wolfhard Buss, variously on cmucl-imp ... (COERCE 1 '(COMPLEX FLOAT)) now returns a complex float ... (PARSE-INTEGER " 12 a") now throws an error of type PARSE-ERROR ... (/ 2/3 0) now throws an error of type DIVISION-BY-ZERO ... LOGAND on the sparc now has more correct VOPs also log the PCL bugs from APD sbcl-devel 2002-08-04
suppressed DEFTRANSFORM CONCATENATE, since we still haven't fixed bug 188 (so now CONCATENATE will presumably run more slowly, but at least it won't have absurdly long compile times)
Final deletion of %DETECT-STACK-EXHAUSTION, as per APD sbcl-devel 2002-07-26 ... delete export of %D-S-E ... increase fasl file version number Minor BUGS cleanup and cross-referencing
Fix up the SPARC fixups, *sigh* ... not only did my previous fix not run, it didn't compile, as SIMPLE_FUN_CODE_OFFSET isn't defined in C, only in assembler. ... rewrite code address determination in two stages, and save the fun object itself to go into reg_CODE on the SPARC ... [ keen observers will note that this is all terribly confusing. ]
Fix two typos for SB-SHOW
More stack checking fixes ... when frobbing signal context on x86, set arg count (ecx) to 0, should fix problem observed on OpenBSD ... define a special control-stack-exhausted condition so that ignore-errors won't ignore stack exhaustion ... fix the test to match the condition
SPARC fixups ... make DB's wonderful stack exhaustion work on the SPARC adjust NPC logic add in fixup for bizarre SPARC calling convention ... improve signal handling on SPARC/Linux make a distinction between interrupt_handle_now() as called from handlers, and interrupt_handle_now_handler() installed as the sa_sigaction bit.
tweaked bsd-os.h to make the new sigaltstack(2) stuff build on OpenBSD/x86 fixed bug 189: Now FLET and LABELS inlining respects NOTINLINE declarations as required by ANSI. While I'm at it, suppress FLET/LABELS inlining when (> DEBUG SPEED) too.
Revert random changes in my (Daniel's) checkout area that were mistakenly committed in 0.7.6.1. Sorry!
Mostly-tested but still considered "experimental" non-invasive stack exhaustion checking, using a guard page at the end of the stack and an extra clause in the sigsegv (on some ports, sigbus) handler. One day there will be an internals doc with the gory details: for now, try http://ww.telent.net/diary/2002/7/#23.59392
release, tagged as sbcl_0_7_6
deleted email addresses in the wake of autospam to cmucl-imp ("Attn: If you find bugs in CMU CL please report them to")
Complilation fix for Alpha/Linux (from DB, fixing CSR bogosity)
added FILES section of sbcl.1 screened CHECK-FULL-CALL with a test on *FAILURE-P* after one too many times getting its "aiee! a compiler bug!" complaints when the real problem is just that the compiler is bravely trying to carry on despite previously-detected programmer errors renamed CHECK-FULL-CALL to PONDER-FULL-CALL because it has side-effects, and even though they're very innocuous side effects, naming a side-effectful function CHECK-FOO just seems evil in principle