Slightly less arbitrary default for *MAX-EMF-PRECOMPUTE-METHODS*. ... it appears that there is no need for an upper limit, so the only natural value is no limit at all; ... retain the tunability of the parameter, even though there probably ought to be a better MOPpish way of expressing it; ... awaiting with interest the effect this has on benchmarks; it has no observable effect on e.g. McCLIM window mappping times. (what /does/ have an effect there is compiling and loading a file with (SB-PCL::PRECOMPUTE-RANDOM-CODE-SEGMENTS) in it).
More floating point reader fixes for non-10 *READ-BASE* ... confusion arises if the exponent marker is also a digit. Fix the manifest confusions; ... also a long-standing floating point reader-bugfix: reading "ae+9" with *READ-BASE* = 11 used to give a BUG; ... fix the tests, too.
Merge patches from NJF (sbcl-devel 2003-03-11) ... more #!-SB-DOC ... fewer :TEST-NOT ... less OAOOM Explain what's happening around MAYBE-FP-WAIT (thanks to Nikodemus Siivola sbcl-devel) Patch threads.impure.lisp to allow writing the C file (Nikodemus Siivola sbcl-devel 2004-02-27) Fix for foreign double access on Darwin (CSR sbcl-devel 2004-02-23)
More SB-POSIX test fixes ... allow building as root again, since it seems that's a desired feature ... test for not having EUID of 0 in EACCES posix tests instead (this will probably annoy antifuchs, but I forgot to commit version.lisp-expr for the last fix. Since this is logically a simple continuation, I haven't bothered to increment it again)
Don't allow the system to be built as root ... id(1) check early in the build. Fix the SB-POSIX test suite ... rewrite mkdir.error.3 not to assume that / is unwriteable; ... continue to assume that the user is not (fake)root, but nonetheless try to clean up a bit more if we are.
Better %SXHASH-SUBSTRING (patch Juho Snellman sbcl-devel 2004-03-09) ... frob comments a little ... make the same FLET workaround in %SXHASH-SIMPLE-SUBSTRING ... probably fasl-incompatible with 0.8.8.22, but I've already changed the fasl version number once this cycle. Let's see if anyone complains :) ... 20% faster at compiling mk-defsystem on DB's iMac (MORE SPEED!)
Make unknown variables signal a compile-time warning. ... slightly hacky (if (eq kind :variable) ...) in the warning logic itself; ... rearrange bits of the build to eliminate technically undefined forward references; ... fix for multiple *CURRENT-CATCH-BLOCK* and *CURRENT-UNWIND-PROTECT-BLOCK*: we now have one and only one of each variable, rather than three
hacked TRACE :PRINT code so that it does TERPRI as well as FRESH-LINE (which is perhaps less elegant than doing only one or the other, but seems to be more robust than the previous FRESH-LINE-only solution) fixed overlooked merge conflict in NEWS (pointed out by Neil Schemenauer)
MORE MICRO-OPTIMIZATION ... renumber all widetags. (LESS BINARY-COMPATIBILITY) ... implement some smarter type tag checking on the x86. The smarter type checking comes in several flavours. * If we have two adjacent lowtags, in three cases out of four we can do "and, cmp, branch", rather than "cmp, branch, cmp, branch"; * If we have two lowtags that are unadjacent but differ by just one bit, we can likewise do "and, cmp, branch" rather than "cmp, branch, cmp, branch"; * If we have a contiguous range of lowtags that includes the most positive lowtag, we do not need to test the upper bound; * If we have four lowtags with only two bits different, we can do "and, cmp, branch" rather than *four* "cmp, branch" pairs. This change will conflict with ongoing 64-bit ports. The conflict is resolvable (there are enough widetags in the "array" range (which in practice is 130 - 254; currently there are five in this range unused (or three with long-float arrays)
Reinstate some compiler transforms for STRINGoid types. ... since STRING is now a union type, some compiler transforms would give up (unnecessarily) with arguments of such a type, even when the conditions were otherwise favourable; ... extend the logic in those transforms to deal with arrays with the same 'shape' but different specialized array element type
Fix for CLEAR-INPUT ... its optional argument can be NIL or T as well as a stream; ... since we're in the area, s/STREAMLIKE/STREAM-DESIGNATOR/ s/STRINGABLE/STRING-DESIGNATOR/ s/SYMBOLS/SYMBOLS-DESIGNATOR/ (and move SYMBOLS-DESIGNATOR and PACKAGE-DESIGNATOR to deftypes-for-target.lisp where they belong) Note *ZAP-ARRAY-DATA-TEMP* as a source of non-threadsafety in ADJUST-ARRAY