Skip to content
Snippets Groups Projects
  1. Sep 06, 2010
    • rtoy's avatar
      Fix a couple of issues with changing the stream external format in · b903e98f
      rtoy authored
      midstream.
      
      o When changing the external format, the new converted characters need
        to go into the string-buffer at the point after the last character
        was read.  This maintains consistency if the format is changed
        again before we have to read in another buffer of octets.
      o Handle the case where an external format that uses the string-buffer
        is changed to ISO8859-1, which doesn't.  In this case, the converted
        characters need to be copied to the in-buffer in the right place and
        the string-buffer needs to be set to NIL to indicate that the
        string-buffer is not used anymore.
      o Add a note that we don't handle the case of changing ISO8859-1 to
        another external-format that uses a string-buffer.
    • rtoy's avatar
      code/extfmts.lisp · aa238b62
      rtoy authored
      o Add some comments from Paul Foley on what arguments to DEF-EF-MACRO
        mean.
      aa238b62
    • rtoy's avatar
      code/extfmts.lisp · 6b9c5442
      rtoy authored
      o Add new ef-macro index for octets-to-string-counted.  (Forgot to do
        that before.)
      
      bootfiles/20a/boot-2010-08-1.lisp:
      o Use this to bootstrap the change (using a cross-compile.)
      6b9c5442
  2. Sep 05, 2010
  3. Sep 03, 2010
    • rtoy's avatar
      More fixes. With these changes, the normalization and word-break · 68f0165a
      rtoy authored
      tests pass without problems.  Copying the lines from the test files to
      a new file also produces a file that is identical to the original.
      (Previously, this was failing.)
      
      o For debugging, clear out the parts of in-buffer that have already
        been processed.  Not enabled normally.
      o When retrying the read to get more octets, we weren't reading the
        new octets into the correct spot in the in-buffer, and we weren't
        updating the in-length with the correct length.
      68f0165a
    • rtoy's avatar
      fix some bugs in previous commit. · 82c7c2ef
      rtoy authored
      o For debugging, the last sbuf element is
        lisp-stream-string-buffer-len, not one more than that.
      o We were not copying the last element of the string-buffer to the
        beginning.
      o Forgot to set the stream in-length correctly when we had to retry
        reading octets to get a whole character.
      82c7c2ef
  4. Sep 02, 2010
    • rtoy's avatar
      Fix yet another bug in the FAST-READ-CHAR-STRING-REFILL. This shows · ef87b195
      rtoy authored
      up when running the word break test in
      i18n/tests/word-break-test.lisp.
      
      extfmts.lisp:
      o Return the number of characters that were actually converted instead
        of the position of the starting point of the output string.
      
      stream.lisp:
      o In FAST-READ-CHAR-STRING-REFILL, sometimes, we'll only read one
        octet into the octet buffer, and the octet will be the first octet
        of a multi-octet character.  If this happens, we need to try to read
        some more octets in so that the call to FAST-READ-CHAR-STRING-REFILL
        can return a character.  We only retry once.  If this still fails to
        read enough octets to form a character, we're hosed since we don't
        check for this.  (Should we?)
      
        Need to refactor this code a bit too.
      ef87b195
  5. Aug 28, 2010
    • rtoy's avatar
      code/x86-vm.lisp: · 91e35835
      rtoy authored
      o Fix SIGCONTEXT-FLOAT-REGISTER to handle SSE2 better.  In particular,
        single-floats were incorrect for XMM registers.  Also update this to
        handle complex double-floats and complex single-floats.
      o Update %SET-SIGCONTEXT-FLOAT-REGISTER to match
        SIGCONTEXT-FLOAT-REGISTER.
      
      general-info/release-20b.txt:
      o Update
      91e35835
  6. Aug 18, 2010
  7. Aug 15, 2010
  8. Aug 14, 2010
  9. Aug 09, 2010
  10. Aug 04, 2010
  11. Jul 30, 2010
    • rtoy's avatar
      First cut at executable images on Darwin/x86. The resulting · dc8b7cc2
      rtoy authored
      executable appears to work!
      
      bootfiles/20a/boot-2010-07-1.lisp:
      o Add :executable for darwin/x86.
      
      code/bsd-os.lisp:
      o Make :elf and :mach-o runtime features too.
      o Register :executable of :executable is defined.
      
      lisp/Config.x86_darwin:
      o Need mach-o.c
      o Add exec-final.c
      
      lisp/lisp.c:
      o Don't include elf.h if we're on Darwin since Darwin uses Mach-O, not
        ELF.
      o For Darwin, we get the initial function address from
        initial_function_addr, not from &initial_function_addr, like for
        Linux.
      
      lisp/save.c
      o Don't include libgen.h and elf.h on Darwin.
      
      tools/linker-x86.sh:
      o Update to support Darwin.
      
      tools/make-main-dist.sh:
      o Add support for executables on Darwin.
      
      lisp/mach-o.c:
      o Initial support for writing Mach-O files for the Lisp spaces.
      o Initial support for reading a Mach-O executable to find and map the
        Lisp spaces.
      dc8b7cc2
  12. Jul 26, 2010
    • rtoy's avatar
      compiler/fndb.lisp: · 2164678a
      rtoy authored
      o Tell compiler that the :allocation option to make-array only takes
        nil and :malloc.
      
      code/array.lisp:
      o Add declaration for :allocation to make-array so that we can catch
        invalid values for :allocation.
      o Add variable *debug-static-array-p* to enable debugging messages
        when GC'ing static arrays.
      2164678a
  13. Jul 20, 2010
  14. Jul 19, 2010
  15. Jul 14, 2010
  16. Jul 13, 2010
    • rtoy's avatar
      Some docstrings in signal.lisp were conditionalized for different · bf0b283a
      rtoy authored
      features and causes the translated string to be included or removed
      from cmucl.pot.  To help make this consistent, we put the
      system-dependent strings in the system-dependent pot files.
      
      bootfiles/20a/boot-2010-07-1.lisp:
      o Add a fake definition for with-textdomain so we can bootstrap the
        changes.
      o Removed a defstruct that was already commented out.
      
      code/exports.lisp:
      o Export WITH-TEXTDOMAIN.
      
      code/intl.lisp:
      o Add macro WITH-TEXTDOMAIN to temporarily bind the textdomain to the
        desired domain for the body, and restoring the original domain
        afterwards.
      
      code/signal.lisp:
      o Wrap the system-specific items in WITH-TEXTDOMAIN so they are placed
        in the system-dependent text domain.
      bf0b283a
  17. Jul 12, 2010
    • rtoy's avatar
      Add a documentation slot to external formats so that we can give a · 7421caf2
      rtoy authored
      little information about the format.  Provide a means to get a list of
      external formats and to display the documentation.
      
      bootfiles/20a/boot-2010-07-1.lisp:
      o Use this bootstrap file when doing a normal build.
      
      code/exports.lisp:
      o New functions:
        - Add LIST-ALL-EXTERNAL-FORMATS to list all available external formats
          and their corresponding aliases.
        - Add DESCRIBE-EXTERNAL-FORMAT to print some information about the
          given format.
      o Add docuemntation slot to defstruct EXTERNAL-FORMAT.
      o Change DEFINE-EXTERNAL-FORMAT macro.  Adds :DOCUMENTATION keyword to
        specify the documentation.  Add :BASE keyword indicate that the
        external format is based on another format.  (Previously, this
        wasn't needed, but is somewhat incompatible with adding a
        documentation string.)
      o Change DEFINE-COMPOSING-EXTERNAL-FORMAT to include :documentation
        keyword to specify the documentation for the format.
      o Minor reindentation of some docstrings.
      o Make sure documentation strings for external format are marked for
        translation; wrap other strings with intl:gettext to explicitly mark
        them for translations.
      o Add docstring for VOID and ISO8859-1 external formats.
      
      code/exports.lisp:
      o Export the new symbols LIST-ALL-EXTERNAL-FORMATS and
        DESCRIBE-EXTERNAL-FORMAT.  Import into EXTENSIONS package.
      
      docs/cmu-user/unicode.tex:
      o Update docs to include LIST-ALL-EXTERNAL-FORMATS and
        DESCRIBE-EXTERNAL-FORMAT.
      o Update docs for DEFINE-EXTERNAL-FORMAT and
        DEFINE-COMPOSING-EXTERNAL-FORMAT to match implementation.
      
      general-info/release-20b.txt:
      o Update
      
      external-formats/*.lisp:
      o Update with docstrings.
      o Add :BASE keyword where needed.
      7421caf2
  18. Jul 10, 2010
    • rtoy's avatar
      extfmts.lisp: · 7acf0a1a
      rtoy authored
      o Add a simple function it list all external formats.
      o Add some docstrings.
      o Correctly indent some s-exps.
      
      exports.lisp:
      o Update package definitions to export new LIST-ALL-EXTERNAL-FORMATS.
      7acf0a1a
  19. Jul 05, 2010
  20. Jul 03, 2010
    • rtoy's avatar
      extfmts.lisp: · af5cd1ae
      rtoy authored
      o Update comments for the various slots in DEFINE-EXTERNAL-FORMAT.
      
      fd-stream.lisp:
      o Declare the types for the CHAR-TO-OCTETS-ERROR and
        OCTETS-TO-CHAR-ERROR slots in FD-STREAM.
      o Update docstrings for MAKE-FD-STREAM and OPEN for :DECODING-ERROR
        and :ENCODING-ERROR parameters.
      af5cd1ae
    • rtoy's avatar
      Fix some compiler notes by adding declarations and removing one · 7b95ed2b
      rtoy authored
      variable that was shadowing another.
      7b95ed2b
    • rtoy's avatar
      In EF-FLUSH, we need to handle bare surrogates ourselves for the case · 275f6bf1
      rtoy authored
      where the external format does not have a flush-state method.
      275f6bf1
    • rtoy's avatar
      code/extfmts.lisp: · 6afe1d62
      rtoy authored
      o Add error parameter to flush-state in external format definition so
        we can handle errors when flushing the state to a stream.
      o Add optional error parameter to flush-state macro.
      
      code/fd-stream.lisp:
      o For the case where an external format has flush method, EF-FLUSH was
        not calling it correctly.  Update so the output function actuall
        works.
      o Add error handler to call to flush-state.
      o For the case where an external format does not have a flush method,
        output the state value instead of a replacement character so the
        external format can handle any errors.
      6afe1d62
  21. Jul 02, 2010
    • 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
      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
  22. Jun 30, 2010
Loading