Skip to content
Snippets Groups Projects
  1. Aug 10, 2009
    • rtoy's avatar
      Export SET-SYSTEM-EXTERNAL-FORMAT. · 8c1377a5
      rtoy authored
      8c1377a5
    • rtoy's avatar
      Oops. utf16-string-p was returning NIL if the codepoint was · f3c86096
      rtoy authored
      assigned.  It should return NIL if the codepoint is NOT assigned.
      f3c86096
    • rtoy's avatar
      Fixes from Paul Foley: · 94ed0111
      rtoy authored
      o Standard streams no longer change formats when
        *default-external-format* changes.  Use
        stream:set-system-external-format instead, or (setf
        external-format).
      o char-to-octets properly handles surrogate characters being written.
      o Makes simple-streams work again.
      
      This change needs to be cross-compiled.  2009-07 binaries work for
      cross-compiling using the 19e/boot-2008-05-cross-unicode-*.lisp
      cross-compile script.
      94ed0111
  2. Aug 09, 2009
  3. Jul 23, 2009
    • rtoy's avatar
      code/extfmts.lisp: · 747efc31
      rtoy authored
      o Move the +ss-ef-foo+ constants to here from strategy.lisp, and
        update them so they don't overlap with existing +ef-foo+ constants.
      o Update +ef-max+ accordingly.
      
      pcl/simple-streams/impl.lisp:
      o Use +ss-ef-str+ instead of +ef-str+ in simple-stream-strlen.
      
      pcl/simple-streams/strategy.lisp:
      o Comment out +ss-ef-foo+ constants.
      o Use +ef-max+ instead of +ss-ef-max+, which is no longer defined.
      o Fix bugs in %dc-write-chars-fn:
        - Use ef variable
        - Need to call flush-out-buffer, not flush-buffer for dual-channel
          streams.
      747efc31
    • rtoy's avatar
      Remove *TRACE-PRINT-LEVEL* and *TRACE-PRINT-LENGTH*, which don't · 54ae6901
      rtoy authored
      appear to be used anywhere.
      54ae6901
    • rtoy's avatar
      Add pretty printer for stream::with-stream-class. · d627db75
      rtoy authored
      d627db75
  4. Jul 17, 2009
  5. Jul 13, 2009
  6. Jul 10, 2009
  7. Jul 06, 2009
  8. Jul 02, 2009
    • rtoy's avatar
      boot-2009-07.lisp: · 67fc4ac5
      rtoy authored
      o Bootstrap file needed to compile this change (because the current
        shrink-vector derive-type optimizer didn't handle union types).
      
      compiler/fndb.lisp:
      o Make the compiler warn if the result of lisp::shrink-vector is not
        used.  This is a problem because the compiler doesn't know that
        shrink-vector destructively modifies the length of a vector.  As a
        partial solution, warn the user if the result of shrink-vector is
        not.
      
      code/hash-new.lisp:
      code/seq.lisp:
      o Make sure the result of shrink-vector is used, to get rid of a new
        compiler warning.
      
      code/unidata.lisp:
      o Modify %unicode-full-case so that it doesn't use shrink-vector
        anymore.
      
      compiler/seqtran.lisp:
      o Fix shrink-vector derive-type optimizer to handle union types.
      
      tools/build-unidata.lisp:
      o Fix typo that someone got in.
      o Make sure the result of shrink-vector is used, to get rid of a new
        compiler warning.
      67fc4ac5
  9. Jun 25, 2009
  10. Jun 24, 2009
  11. Jun 21, 2009
  12. Jun 18, 2009
  13. Jun 16, 2009
    • rtoy's avatar
      Cleanups for non-unicode build. · 8f28c28f
      rtoy authored
      code/stream.lisp:
      o Only define (setf stream-external-format) for Unicode builds.
      o In stream-external-format, don't try to look up the external format
        from the fd-stream structure, which doesn't exist in non-unicode
        builds.
      
      code/strings.lisp:
      o Conditionalize out things that will only work if unicode is
        available.
      
      tools/worldcom.lisp:
      o Only compile fd-stream-extfmt for unicode builds.
      8f28c28f
    • rtoy's avatar
      code/string.lisp: · a826481f
      rtoy authored
      o Only define STRING-TO-NFD, STRING-TO-NFKD, and STRING-TO-NFKC for
        Unicode builds.  Conditionalize out their support functions too.
      o Update export list to be conditional on Unicode too.
      o Use new name for get-pairwise-composition.
      
      code/exports.lisp:
      o Update export list to be conditional on Unicode for above changes
        in string.lisp.
      
      code/unidata.lisp:
      o Change name from GET-PAIRWISE-COMPOSITION to
        UNICODE-PAIRWISE-COMPOSITION to match other Unicode function names.
      a826481f
  14. Jun 15, 2009
    • rtoy's avatar
      Add DESCRIBE-CHARACTER function to describe characters. This includes · 171421d3
      rtoy authored
      the character's code and name.
      171421d3
    • rtoy's avatar
      Fix issue with complex contagion on sparc. The vops for complex+real · f1399c10
      rtoy authored
      and complex-real didn't compute the imaginary part correctly; we need
      to add (or subtract) 0 to get the correct signed zero.
      
      (+ #c(1d0 -0d0) 1d0) -> #c(2d0 0d0), not #c(2d0 -0d0)
      
      code/sparc-svr4-vm.lisp:
      o Define *FP-CONSTANT-0F0* and *FP-CONSTANT-0D0*, floating point
        zeroes.
      
      compiler/generic/new-genesis.lisp:
      o Initialize *FP-CONSTANT-0F0* and *FP-CONSTANT-0D0* during genesis.
      
      compiler/sparc/parms.lisp:
      o Add *FP-CONSTANT-0F0* and *FP-CONSTANT-0D0* to the static symbols so
        vops can access them easily.  For bootstrapping purposes, we steal
        the spare-9 and sparc-8 symbols.
      
      compiler/sparc/float.lisp:
      o Update vops for complex + float and complex - float.  Need to add
        (or subtract) 0 to the imaginary part to get the correct signed
        zero.
      o Update vop for float+complex as above.
      f1399c10
    • rtoy's avatar
      code/numbers.lisp: · 3934a9cb
      rtoy authored
      o Do appropriate contagion when computing a complex + real or complex
        - real.  (+ #c(1d0 -0d0)  1d0) should be #c(2d0 0d0), not #c(2d0
          -0d0).
      
      compiler/x86/float-sse2.lisp:
      o Update vops for computing complex +/- float and float + complex to
        do appropriate contagion so that the imaginary part has the correct
        sign (as above for numbers.lisp).
      3934a9cb
  15. Jun 11, 2009
  16. Apr 20, 2009
  17. Apr 13, 2009
  18. Apr 10, 2009
    • rtoy's avatar
      o Add some docstrings to READ-VECTOR and WRITE-VECTOR. · 3d14cbf2
      rtoy authored
      o Fix a confusion about the length of the vector versus the start and
        end octets.  If END is not given, we use the length of the vector,
        but it must be scaled by the number of octets per element.
      3d14cbf2
  19. Mar 27, 2009
    • rtoy's avatar
      code/hash-new.lisp: · e8385fd7
      rtoy authored
      o Don't convert characters to uppercase when computing SXHASH for
        characters.  The characters aren't EQUAL anyway, so the hash value
        doesn't have to be the same.
      
      general-info/release-20a.txt:
      o Update
      e8385fd7
  20. Mar 25, 2009
    • rtoy's avatar
      linux-os.lisp: · f0c421a2
      rtoy authored
      o Use unix:unix-uname to get the software version.  (I don't want to
        deal with broken Linux kernels or other implementation details in
        trying to read /proc/version, and I don't want to run uname -r.)
      
      sunos-os.lisp:
      o Use unix:unix-uname to get the software version instead of running
        uname -r.
      f0c421a2
  21. Mar 20, 2009
    • rtoy's avatar
      This big of code causes CMUCL to spend huge amounts of time trying to · cb674c89
      rtoy authored
      simplify the union of disjoint double-float types:
      
      (defun foo (arg)
        (declare (type double-double-float arg)
      	   (optimize (speed 3) (space 0)))
        (let* ((x arg)
      	 (xx 0w0)
      	 (k 0)
      	 (px (coerce k 'double-double-float))
      	 (qx 0w0))
          (declare (type double-double-float x xx px qx)
      	     (notinline poly-eval poly-eval-1))
          (setf x (- (- x (* px log2-c1)) (* px log2-c2)))
          (+ x 0d0)
          ))
      
      Fix it:
      
      code/type.lisp:
      o Rename SIMPLIFY-BIG-INTEGER-UNION to SIMPLIFY-BIG-UNION
      o SIMPLIFY-BIG-UNION takes an extra arg to specify the resulting type.
      o Modify SIMPLIFY-UNIONS to handle float unions as well as integer
        unions.
      
      general-info/release-20a.txt:
      o Update
      cb674c89
  22. Mar 18, 2009
    • rtoy's avatar
      code/irrat-dd.lisp: · 8bd5d96d
      rtoy authored
      o Declare POLY-EVAL and POLY-EVAL-1 as maybe-inline functions so they
        can be semi-inlined.
      
      code/irrat.lisp:
      o I don't think there's any real reason to make the local function
        REAL-EXPT inline.  It's very big and local function call is already
        good enough.
      
      compiler/float-tran.lisp:
      o Change some functions to be maybe-inline instead of inline to save
        on space for the the larger double-double functions:  SUB-DD,
        SUB-D-DD, SUB-DD-D, SPLIT.  Semi-inline should be good enough for
        these large functions, saving on cache memory, local function
        calling sequence should be good enough.
      8bd5d96d
  23. Mar 16, 2009
  24. Mar 11, 2009
  25. Jan 23, 2009
Loading