Commits on Dec 31, 2008
  1. 1.0.24: release, will be tagged as sbcl_1_0_24

    Also, include build fix for sparc (Juho Snellman / Bruce O'Neel
    sbcl-devel 30-12-2008) and mark test :throw :no-such-tag as failing on
    x86/linux and x86-64/linux (because they do for me).
    csrhodes committed Dec 31, 2008
  2. missing NEWS entries for this month

     * Also add fill-column to modeline.
    nikodemus committed Dec 31, 2008
  3. fix overlapping spaces on OpenBSD

     * Patch by Josh Elsasser. Going is despite the freeze since
       overlapping spaces are just plain broken.
     * Also mark THROW NO-SUCH-TAG failing on OpenBSD.
    nikodemus committed Dec 31, 2008
Commits on Dec 26, 2008
  1. Add a keyword to DIRECTORY to suppress symlink resolution.

    * Contributed by TC-Rucho.
    Richard M Kreuter committed Dec 26, 2008

    * Contributed by Robert Goldman.
    Richard M Kreuter committed Dec 26, 2008
  3. Cleanups in constraint propagation.

    * Three changes here:
    (1) Have the conset's min slot always be a fixnum.  The min and max
        slots should now conform to CL sequence bounding index idioms.
    (2) Update the extrema in parallel, rather than in sequence, in the
        conset-union, -intersection, -difference.
    (3) Remove some noise from conset-intersection that probably included
        an off-by-one error.
    * Fixes a bug reported by Tobias C. Rittweiler on sbcl-devel.
    Richard M Kreuter committed Dec 26, 2008
Commits on Dec 25, 2008

      * No observable change in behaviour. Apparently nothing ever allocates
        a non-pointer referenced object via this code path.
    Thiemo Seufer committed Dec 25, 2008
Commits on Dec 23, 2008
  1. Calculate array sizes in a more reliable way.

      * The old implementation depended on the array header size being
        an even number of words.
      * Also, another micro-optimization for MIPS.
    Thiemo Seufer committed Dec 23, 2008
  2. MIPS runtime micro-optimization.

    Thiemo Seufer committed Dec 23, 2008
Commits on Dec 22, 2008
  1. fixed bug 395

     * Add support for base-strings in fill-pointer output streams.
     * Also fix a bug revealed by this change in derivation of
       ARRAY-ELEMENT-TYPE return type.
    nikodemus committed Dec 22, 2008
  2. WITH-HASH-TABLE-ITERATOR lambda-list beautification

     * Iterator lambda-list name is NAME, not FUNCTION, which was a bit
       confusing since it is bound to a macro.
     * Thanks to Tobias Rittweiler.
    nikodemus committed Dec 22, 2008
  3. fix bug 357

     Originally reported by Bruno Haible, more recently by Stephen Wilson.
     * SHARED-INITIALIZE (SLOT-OBJECT) should not check structure slots
       versus +SLOT-UNBOUND+: uninitialized slots are zeroed. Since adding
       slots to structure classes cannot cause those slots to be added to
       structure instances, we don't really have to check for boundness at
       SB-PCL::MAKE-STRUCTURE-CLASS-DEFSTRUCT-FORM did not take overridden
       slot specifications into account, and the latter also omitted
       initform and type information.
     * ALLOCATE-INSTANCE (STRUCTURE-OBJECT) should not fall back on
    nikodemus committed Dec 22, 2008
Commits on Dec 21, 2008
  1. Micro-optimization for MIPS' SYMBOL-HASH VOP.

      * MIPS sucks now less.
    Thiemo Seufer committed Dec 21, 2008
  2. tweak concurrent hash-table access check

     * Moves the with-concurrent-access-check inside the body where
       the lock is already held. Patch by Attila Lendvai.
     * Fix various attributions in NEWS, caught by TCR.
    nikodemus committed Dec 21, 2008
  3. fix bug 354: XEPs in backtraces, properly this time

     * Don't terminate the block in MAYBE-TERMINATE-BLOCK even if the node
       is a call to a function that never returns if it is also the tail
       end of a XEP -- this allows TCO to deal with the XEP.
     * More stale bugs:
       ** 143 -- cannot replicate, interrupt handling has been robustified
          and partially redesigned since than, so confidence that this is
          really gone is reasonably high.
       ** 238 -- has gotten fixed at some point.
    nikodemus committed Dec 21, 2008
Commits on Dec 19, 2008
  1. bug 3b has been fixed a while now

     * Test case added.
    nikodemus committed Dec 19, 2008
  2. bug 405 has been fixed a while now

     * Fixed as of
    nikodemus committed Dec 19, 2008
  3. rewrite bug 217

     * Case A is a non-issue. SBCL interprets "unpredictable but harmless"
       to mean "anything, but heap will no be corrupted, data lost, etc"
       -- that is, an error may or may not be signalled, but it the lisp
       session will remain sane and operable.
     * Case B is negated by the portability argument: since specifying both
       is unspecified, we should not build useful-seeming extensions on top
       of it, as it will only create portability problems for users.
     * Case C remains partially valid, except for the runtime WARNINGs.
       Integrated into the new text.
    nikodemus committed Dec 19, 2008
  4. special variables cause special cases in CLOS cleverness

     * As we cannot reliably ensure nothing calls SET or (SETF
       SYMBOL-VALUE) on the special variable, we need to disable
       optimizations perutation vector optimizations for them.
     * For the same reason we cannot implicitly declare types for even
       local specials in DEFMETHODs.
     * Delete bug 276: the issue it refers to was fixed back when we
       stopped inserting declarations for special variables.
    nikodemus committed Dec 19, 2008
  5. three stale bugs

     * 332, 369, 380: added test-cases which pass.
    nikodemus committed Dec 19, 2008
Commits on Dec 18, 2008
  1. compiler-macros for WRITE and WRITE-TO-STRING

     * The common use-cases have only constant keywords, but due to the
       way they are defined inlining doesn't really help -- so do it with
       compiler-macros, which bind only those specials specified in the
    nikodemus committed Dec 18, 2008
  2. FORMAT performance tweaking 2

     * Rearrange FORMAT-FIXED and open code guts of FORMAT-FIXED-AUX for
       both single and double-float cases, gaining ~5% speedup for ~F.
    nikodemus committed Dec 18, 2008
  3. FORMAT performance tweaking

     * Handle plain ~D using explicitly bindings and OUTPUT-OBJECT to
       avoid paying for WRITE keyword argument parsing.
     * Compile format control strings when SPEED = SPACE.
     * Always transform FORMAT calls when the second argument is a
       function -- trying to save space there doesn't make much sense.
    nikodemus committed Dec 18, 2008
  4. wrong return value from READ-SEQUENCE :START on file streams

     * Regression since
     * Reported by Daniel Herring, patch by Paul Huong.
     * Also tweak the "write a line with bignum characters test" to run a bit faster.
    nikodemus committed Dec 18, 2008
  5. Less magic constants in the MIPS backend.

    Thiemo Seufer committed Dec 18, 2008
Commits on Dec 17, 2008
  1. Eliminate FCN as function moniker.

    Thiemo Seufer committed Dec 17, 2008
  2. REPL recovers from *READ-SUPPRESS* T with a warning

     * Reported by Daniel Herring.
    nikodemus committed Dec 17, 2008
  3. binaries built on now Leopard run on Tiger as well

     * -mmacosx-version-min=10.4 needed in LINKFLAGS as well.
    nikodemus committed Dec 17, 2008
  4. Nicer code for MIPS, lifted from the SPARC backend.

      * Add some :note annotations.
      * Kill a few magic constants.
    Thiemo Seufer committed Dec 17, 2008
Commits on Dec 16, 2008
  1. don't grab *WORLD-LOCK* in CLASSOID-TYPEP

     * A shoddy bandaid to make Slime less prone to deadlock against the
       compiler when using :SPAWN.
     * Proper fix is to be much, much more principled about grabbing the
       *WORLD-LOCK* in the compiler: we should only ever grab it in places
       where we cannot end up calling arbitary user code while holding
    nikodemus committed Dec 16, 2008
Commits on Dec 15, 2008

     * Punt on multiple result-uses. Reported by Pascal Costanza and
       Thiemo Seufer.
     * Also check for clean arg flow all cases.
    nikodemus committed Dec 15, 2008
Commits on Dec 13, 2008
  1. export page sizes to C with LU suffix

       GENCGC-PAGE-BYTES and *BACKEND-PAGE-BYTES* respectively.
     * Clean up constant.h generation: instead of guessing when to add an
       U suffix, specify when the value is "large", and then add an LU
     * Without the LU suffix some C compilers chose to truncate results of
       some operations where these quantities featured, leading at least
       to an upper limit of #xffff0000 bytes in dynamic space on certain
       64 bit systems.
    nikodemus committed Dec 13, 2008