Permalink
Switch branches/tags
Commits on Jun 17, 2011
Commits on Jun 15, 2011
  1. build: tweak generate-version.sh to work with older Git

      Pre-1.7.2 Gits are pretty common out in the wild, so use wc -l to
      get the revision counts instead of rev-list --count.
    
      This has been verified to work with at least Git v1.6.0.2.
    sb-studio committed Jun 15, 2011
Commits on Jun 14, 2011
  1. rename STYLE to HACKING

      Also update a bit for the brave new Git-only world.
    sb-studio committed Jun 14, 2011
  2. whitespace in tests

    nikodemus committed Jun 14, 2011
  3. add &KEY SILENT to PARSE-LAMBDA-LIST

      Passed through to PARSE-LAMBDA-LIST-LIKE, used by %SPLIT-ARGLIST in PCL.
    
      Prior to this GENERIC-FUNCTION-PRETTY-ARGLIST on functions with both
      &OPTIONAL and &KEY arguments caused a style-warning -- and inquiring about
      the lambda-list isn't the right time for that.
    nikodemus committed Jun 14, 2011
Commits on Jun 13, 2011
Commits on Jun 11, 2011
  1. tests and NEWS for lp#308961

      Also add a random FP read/print consistency tester.
    
      For now it skips denormalized double-floats due to bug 793774.
    nikodemus committed Jun 7, 2011
  2. FORMAT-AUX-EXP: adjust scale if scale-exponent return 1.0

     lp#308961, part 2.
    
     FORMAT-EXP-AUX scales a number such that it will have K digits before of the
     decimal point. This relies on scale-exponent.
    
      (format nil "~E" 0.1) ; => "1.e-1"
    
      0: (FORMAT-EXP-AUX #<SB-IMPL::STRING-OUTPUT-STREAM {AFE5DE9}> 0.1 NIL NIL
                         NIL 1 NIL #\ NIL NIL)
        1: (SB-IMPL::SCALE-EXPONENT 0.1)
        1: SB-IMPL::SCALE-EXPONENT returned 0.1 0
      0: FORMAT-EXP-AUX returned "1"
    
     0.1 is 0.1 * 10^0 according to scale-exponent. Then, it is multiplied by 10^K
     before printing. Everything works out fine.
    
     However!
    
      (format nil "~E" 0.01) ; => "10.e-3" ... oops
    
      0: (FORMAT-EXP-AUX #<SB-IMPL::STRING-OUTPUT-STREAM {AA744C1}> 0.01 NIL NIL
                         NIL 1 NIL #\ NIL NIL)
        1: (SB-IMPL::SCALE-EXPONENT 0.01)
        1: SB-IMPL::SCALE-EXPONENT returned 1.0 -2
      0: FORMAT-EXP-AUX returned "2"
    
     In this example, scale-exponent returns 1.0 and -2, meaning 0.01 = 1.0 *
     10^-2. Again, format-aux-exp multiply it by 10^K. But as 1.0 has a digit
     before of the decimal point, the result will have K+1 digits.
    
     This is due to format-exp-aux assumed the returned value will be lesser to
     1.0. In order to fix this, we decrement K when scale-exponent return 1.0 as
     primary value.
    davazp committed with nikodemus Jun 28, 2010
  3. FLONUM-TO-DIGITS handles non-negative input properly

     lp#308961, part 1.
    
     SBCL has an extended version of the Burger & Dybwig fp printer, which
     supports rounding.
    
     It did not however support zero -- but in eg.
    
       (format nil "~,1F" 0.001)
    
     0.001 is rounded to zero, which leads FLONUM-TO-DIGITS giving us one zero too
     many. Ie. it should be
    
        => "0.0"
    
     but prior to this we got "0.00" instead.
    
     This patch removes the special casing for 0, and instead tests that the lower
     limit of the interval (- r m-) is positive in order not to generate extra
     zeros.
    davazp committed with nikodemus Jun 28, 2010
  4. Specialised constant MAKE-{SINGLE,DOUBLE}-FLOAT VOPs on x86 as well

    These only trigger when the float to construct is a NaN, so very
    marginal, and it doesn't seem worth the trouble on all the other
    platforms (that don't support inline constants yet).
    pkhuong committed Jun 11, 2011
  5. more NEWS

    nikodemus committed Jun 11, 2011
  6. robustify DIRECTORY on logical pathnames

      PATHNAME-INTERSECTIONS used to return pathnames with name or type
      NIL if there was a mismatch -- but it should not return any
      pathnames at all for a mismatch.
    nikodemus committed Jun 11, 2011
  7. Avoid constant folding NaNs from MAKE-{SINGLE,DOUBLE}-FLOAT

    Perform it in a specialised transform that checks for NaNs, and
    add VOPs for constant arguments to avoid any slowdown.
    
    Fixes lp#486812.
    pkhuong committed Jun 11, 2011
  8. Improve SINGLE-FLOAT-BITS on x86-64

     Avoid narrow-store-to-wide-load hazards, and generally emit sane
    MOVSXD for sign extension.
    
     Fixes lp#555201.
    pkhuong committed Jun 11, 2011
  9. Fix a corner case in RUN-PROGRAM with very long argument strings

     Argument string of length on the order of MOST-POSITIVE-FIXNUM
     could lead to severe crashes.
    
     I don't know why we bothered declaring FIXNUMs in RUN-PROGRAM.
    
     Also, play with the null termination code a bit, but, really,
     such long strings will only end up failing in the OS.
    
     Fixes lp#787237
    pkhuong committed Jun 11, 2011
  10. MAKE-THREAD accepts :ARGUMENTS to pass to the thread function

     The additional keyword argument should be a lsit designator
    
     Based on a patch by Roman Marynchak.
    
     Fixes lp#727384.
    pkhuong committed Jun 11, 2011
Commits on Jun 10, 2011
  1. FMAKUNBOUND removes the MACRO-FUNCTION as well

      Fixes lp#795705.
    nikodemus committed Jun 10, 2011
  2. &optional and &key supplied-p arguments in boa-constuctors

      ...can be used to initialize structure slots.
    nikodemus committed Jun 10, 2011
  3. Reorder description of info file installs to work around limited SunO…

    …S echo
    
    Scratches a long-standing itch, but not really necessary (result is purely
    aesthetic).
    jimwise committed Jun 10, 2011
  4. export *USERINIT-PATHNAME-FUNCTION* and *SYSINIT-PATHNAME-FUNCTION*

      I have no idea why I didn't do that in the first place.
    sb-studio committed Jun 10, 2011
  5. git: revered merge detection logic in post-receive-email script

      How hard can this be?
    nikodemus committed Jun 10, 2011
  6. sb-introspect: test-cases for defstruct copier, predicate, and access…

    …or sources
    
     Feh. There were tests for even the cases that have worked for quite a while
     now.
    nikodemus committed Jun 10, 2011
  7. sb-introspect: source locations for structure copiers

      Closely paralleling the existing hacks for structure accessors
      and copiers.
    didierverna committed with nikodemus Jun 10, 2011
Commits on Jun 9, 2011
  1. robustify debugger against bogus lambda-lists

      If we don't find a list where we expect a rest-list to be,
      substitute a dummy unprintable object.
    
      Provides a workaround for lp#795245.
    nikodemus committed Jun 9, 2011
  2. sb-posix: make SYSCALL-ERROR's argument optional

      The symbol is exported, and adding a required argument to the call broke
      backwards compatibility.
    
      Oops.
    nikodemus committed Jun 9, 2011
  3. git: adjust whitespace in commit emails

      Kill the extra empty line.
    nikodemus committed Jun 9, 2011
  4. git: post-receive-email hook again

      Check all revisions from new to old for merges, not just the topmost.
    nikodemus committed Jun 9, 2011
  5. git: update hook, fix post-receive-email

     Add an update hook that prevents merge commits on master.
    
     Fix the post-receive-email script to work properly with merge commits --
     don't try to report pushes of merges with one email per commit.
    
     (Since we deny non-fast-forwards, we pretty much need to allow merges on
     other branches, or give up keeping them in the main repo.)
    nikodemus committed Jun 9, 2011
Commits on Jun 8, 2011