Skip to content
Snippets Groups Projects
  1. Jul 07, 2010
    • rtoy's avatar
      iso8859-2.lisp: · 0d642ca8
      rtoy authored
      mac-roman.lisp:
      o Fix code so that the offending codepoint on output is actually
        passed to the error routine.  (Previously, we returned the value
        from the table which was always nil because the code did not have a
        valid output.)
      0d642ca8
    • rtoy's avatar
      o When encountering an overlong sequence, a surrogate code, or a · 2466a71d
      rtoy authored
        too-large codepoint, swallow the whole sequence instead  of putting
        back the characters like we did previously.  (This new way is in
        line with how we handle other bad sequences.)
      o Pass the number of octets read to the error handler in these cases.
      o Update the message strings to include the number of octets.
      2466a71d
    • rtoy's avatar
      0200c1fa
  2. Jul 06, 2010
  3. Jul 05, 2010
  4. Jul 03, 2010
  5. Jul 02, 2010
    • rtoy's avatar
      ascii.lisp: · 65b1ba6d
      rtoy authored
      o Forgot to add error parameter for code-to-octets and
        octets-to-code.
      o Call error handler for output errors.
      
      iso8859-2.lisp:
      mac-roman.lisp:
      o If defined, call error handler for output errors.
      
      utf-16.lisp:
      utf-16-be.lisp:
      utf-16-le.lisp:
      o If defined, call error handler for input and output errors.
      
      utf-32.lisp:
      utf-32-be.lisp:
      utf-32-le.lisp:
      o If defined, call error handler for input and output errors.
        (Previously, we didn't signal any output errors, but large
        codepoints and surrogate characters are not allowed in UTF-32 output
        streams.)
      
      utf-8.lisp:
      o Use lisp:codepoint-limit instead of #x10ffff.
      65b1ba6d
    • rtoy's avatar
      code/extfmts.lisp: · eade50bb
      rtoy authored
      o Pass the error handler on for composed external formats.
      
      code/fd-stream.lisp:
      o Forgot to pass the error-handler to char-to-octets in EF-COUT.
      o In MAKE-FD-STREAM slightly change handling of encoding-error and
        decoding-error:
        - If :encoding-error is a character, then the external format will
          use that character whenever an encoding error happens instead of
          the default (internally specified by the external format).
        - If :decoding-error is a character, then the external format will
          use that character whenever an encoding error happens instead of
          the default (internally specified by the external format).  If
          :decoding-error is T, then a cerror is signaled; if continued, the
          Unicode replacement character (#\U+FFFD) is used.
      o Fix bug in OPEN:  The :decoding-error and :encoding-error keyword
        parameter was placed in the &aux section by mistake.
      eade50bb
    • rtoy's avatar
      o Rearrange error calls so that error function can just return the · eceb1e3e
      rtoy authored
        desired replacement code.
      o Generate different messages for the possible caes of invalid
        codepoint, overlong sequence, and surrogate characters in UTF8
        stream.
      eceb1e3e
    • rtoy's avatar
      code/extfmts.lisp: · b1c92748
      rtoy authored
      o The optional error parameter doesn't need to be optional in
        DEFINE-EXTERNAL-FORMAT, EF-STRING-TO-OCTETS, EF-OCTETS-TO-STRING,
        EF-ENCODE and EF-DECODE.
      
      code/fd-stream.lisp:
      o Update comments for char-to-octets-error and octets-to-char-error.
      o Forgot to pass the error handler to char-to-octets in EF-SOUT and
        EF-STRLEN.
      b1c92748
    • rtoy's avatar
      Oops. Remove stray character. · fa932df0
      rtoy authored
      fa932df0
    • rtoy's avatar
      Implement more of the external format error handlers. · f971e392
      rtoy authored
      code/extfmts.lisp
      o Call the error handler for iso8859-1 output.
      o In OCTETS-TO-CODEPOINT and CODEPOINT-TO-OCTETS, call the external
        format with the error argument.
      o In OCTETS-TO-CHAR
        - Call OCTETS-TO-CODEPOINT with the error handler.
        - For all of the error conditions, call the error handler if
          defined.
      o Add error parameter to EF-STRING-TO-OCTETS and EF-ENCODE so we can
        handle errors.  Call CHAR-TO-OCTETS with the error handler.
      o Add error parameter to STRING-TO-OCTETS and use it.
      o Add error parameter to EF-OCTETS-TO-STRING and EF-DECODE so we can
        handle errors.  Call OCTETS-TO-CHAR with the error handler.
      o Add error parameter to OCTETS-TO-STRING and use it.
      o In STRING-ENCODE and STRING-DECODE, call the ef function with the
        error handler.
      o Change STRING-ENCODE to use keyword args instead of optional args.
        Add error parameter and use it.
      
      code/fd-stream-extfmt.lisp:
      o Tell OCTETS-TO-STRING about the error handler stored in the
        fd-stream.
      
      code/fd-stream.lisp:
      o OPEN, MAKE-FD-STREAM, and OPEN-FD-STREAM get DECODING-ERROR and
        ENCODING-ERROR keyword arguments for specifying how to handle
        decoding and encoding errors in external formats.
      
      code/stream.lisp:
      o Make sure the error handler is called in
        FAST-READ-CHAR-STRING-REFILL.
      
      pcl/simple-streams/external-formats/utf-8.lisp:
      o Initial cut at calling the error handler for the various possible
        invalid octet streams for a utf-8 encoding.
      f971e392
  6. Jul 01, 2010
    • rtoy's avatar
      Fix critical bug introduced in previous changes. Incorrect results · 4578fb45
      rtoy authored
      were returned when calling out to a C function returning a float.
      
      float-sse2.lisp:
      o Remove the FLOAT-MOVE vop and add a FLOAT-MOVE/SINGLE and
        FLOAT-MOVE/DOUBLE that can handle moving from FR0 or any XMM
        register to any XMM register.
      o Update the move vops appropriately.
      
      sse2-c-call.lisp:
      o Don't need to move FR0 to XMM0 anymore.  This was one source of the
        problem.  The compiler knows now to ask for a move from FR0 to some
        XMM register.
      o Update comments.
      
      vm.lisp:
      o Correct printing of XMM registers.  Previously printed them as
        XMM8-15 but should have been XMM0-7.  (Mostly in trace files.)
      4578fb45
  7. Jun 30, 2010
  8. Jun 29, 2010
  9. Jun 27, 2010
  10. Jun 22, 2010
    • rtoy's avatar
      Make previous changes build for x87. · 139c4f23
      rtoy authored
      compiler/x86/vm.lisp:
      o Change *float-register-names* to be defparameter.
      o Setup float-regs and def-random-reg-tns appropriately for x87 and
        sse2.
      
      lisp/Darwin-os.c:
      lisp/Linux-os.c:
      o Conditionalize previous change for FEATURE_SSE2.
      139c4f23
    • rtoy's avatar
      Revert the previous change to fix debug:arg/trace issue. Instead, use · 1fea054f
      rtoy authored
      Carl's suggestion and define new SC numbers for the xmm registers
      instead of overloading the x87 fpu registers and the xmm register
      SC's.
      
      bootfiles/20a/boot-2010-06-cross-x86.lisp:
      o New file needed for cross-compiling this change.
      
      code/x86-vm.lisp:
      o Revert previous change.
      
      compiler/x86/sse2-c-call.lisp:
      o Use xmm0-tn instead of fr0-tn.  No functional change, but makes the
        code more readable.
      
      compiler/x86/vm.lisp:
      o Increase the number of float registers from 8 to 16 (8 more for SSE2
        registers).
      o Define new xmm<n> registers
      o Update the locations with the new sse2 SC locations for single-reg,
        double-reg, double-double-reg, complex-single-reg,
        complex-double-reg, and complex-double-double-reg storage classes.
      
      lisp/Darwin-os.c:
      o Revert previous change.
      o Update os_sigcontext_fpu_reg to support the xmm registers.
      
      lisp/Linux-os.c:
      o Update os_sigcontext_fpu_reg to support the xmm registers.
      1fea054f
Loading