Skip to content
Snippets Groups Projects
  1. Oct 26, 2010
  2. Oct 13, 2010
    • rtoy's avatar
      Some changes to replace calls to gettext with _"" or _N"" for things · b22644d4
      rtoy authored
      compiled with and without Unicode.  This is needed so that the pot
      files have the same content for both unicode and non-unicode builds.
      (The _"" and _N"" are handled by the reader, so things that are
      conditionalized out still get processed, unlike using gettext.)
      b22644d4
  3. Oct 12, 2010
    • rtoy's avatar
      Make read-char and read-byte signal errors when given the wrong kind · 35aebeba
      rtoy authored
      of streams.  This is a change from current 20a and 20b behavior which
      didn't signal errors, but matches the behavior for releases 19f and
      earlier.
      
      But allow them to work on binary-text-streams.  This is the same
      behavior as before for binary-text-stream streams.
      
      However, read-sequence no longer allows reading from streams into
      arbitrary objects, unless the stream is a binary-text-stream stream.
      
      code/fd-stream-extfmt.lisp:
      o In %SET-FD-STREAM-EXTERNAL-FORMAT, only update
        fd-stream-in/fd-stream-out if we have a character or
        binary-text-stream stream.
      o Don't update the fd-stream-string-buffer or lisp-stream-in-buffer if
        we have a binary-text-stream because that will mess up how
        fast-read-char and fast-read-byte dispatch to do the right thing for
        binary-text-stream streams.
      
      code/fd-stream.lisp:
      o Set the fd-stream-in and fd-stream-bin slots appropriately depending
        on whether we have a character, binary, or binary-text-stream
        stream.
      o Only create the lisp-stream-in-buffer if we do NOT have a
        binary-text-stream.  (Binary streams didn't use the
        lisp-stream-buffer previously, so no change there.  Character
        streams use the lisp-stream-buffer and/or lisp-string-buffer.)
      o Set the fd-stream-flags appropriately for the kind of stream this
        is.  Checking a fixnum is faster than checking the type of a stream.
      
      code/struct.lisp:
      o Add FLAGS slot to LISP-STREAM so we can tell what kind of stream
        (character, binary, binary-text-stream) we have.
      
      code/sysmacs.lisp:
      o Change FAST-READ-CHAR so that if we have a have a binary or
        binary-text-stream stream, we dispatch to the fast-read-char methods
        to do the right thing, including signaling an error for the wrong
        kind of stream.
      o Change FAST-READ-BYTE so that if we do not have a binary stream, we
        dispatch to the fast-read-char method to do the right thing.
      
      compiler/dump.lisp:
      o With the above changes, we can no longer write characters to a
        binary stream, like a FASL file.  Make the fasl file a
        binary-text-stream so that we can.  (Alternatively, we could create
        the FASL header as a string, convert to octets and dump the octest
        to the file.  This is easier, and should still be fast for writing
        fasls.)
      35aebeba
  4. Sep 29, 2010
  5. Sep 26, 2010
    • rtoy's avatar
      Actually set the library search list to the saved value. Previously · 5871d292
      rtoy authored
      we weren't because *cmucl-lib* is almost always bound.  Normally
      *old-cmucl-library-search-list* is unbound, but when a core is made,
      it becomes bound.  We use that to indicate that the library search
      list should be set to *old-cmucl-library-search-list*.
      5871d292
  6. Sep 24, 2010
  7. Sep 21, 2010
  8. Sep 20, 2010
  9. Sep 19, 2010
    • rtoy's avatar
      o Move %STR, %STRX and %MATCH around so that we can inline them · 119f21c7
      rtoy authored
        (because they're so simple).
      o Add some comments for %STR.
      o Change implementation of %MATCH to be simpler and add comments on
        why we do what we do and explain what happens if we don't.
      o Handle completion of Hangul syllables better:
        - Match "Hangul_S" instead of "Hangul_Syllable" because there's
          #\Hangul_Single_Dot_Tone_Mark.
        - If we match "Hangul_S", try to complete some Hangul syllables so
          we don't fool slime into thinking "Hangul_Syllable_" is the only
          completion.  There are obviously more.
      o Handle completion of CJK Unified Ideographs better by trying to
        complete more so slime isn't fooled into thinking
        "CJK_Unified_Ideograph-" is the only possible completion.
      119f21c7
    • rtoy's avatar
      o Construction of the Hangul syllable codebook was wrong. To satisfy · dc4cdb68
      rtoy authored
        the constraints on the codebook, we just sort them in descreasing
        order of length.
      o In %MIP, it might happen that MISMATCH returns NIL, which means a
        match.  In this case, don't change the position.
      dc4cdb68
  10. Sep 18, 2010
    • rtoy's avatar
      Some Hangul syllables were left out of the Hangul syllable dictionary. · f2065a91
      rtoy authored
      Redo this by looping over all codepoints and selecting the codepoints
      that are Hangul syllables.
      f2065a91
    • rtoy's avatar
      code/unidata.lisp: · 820f2554
      rtoy authored
      o Update constants to Unicode version 5.2.0.
      
      i18n/unidata.bin:
      o Regenerated using Unicode version 5.2.0.
      820f2554
    • rtoy's avatar
      code/unidata.lisp: · 3d1d8295
      rtoy authored
      o Just add some comments on why we don't put the dictionaries in
        unidata.bin.
      o Print out some messages when building the hangul and cjk
        dictionaries so the user knows what's happening.
      
      tools/build-unidata.lisp:
      o Add some comments on the various parts of unidata.bin.
      3d1d8295
  11. Sep 17, 2010
    • rtoy's avatar
      exports.lisp: · 9563cc0b
      rtoy authored
      o Export STRING-TO-NFC, UNICODE-COMPLETE, and UNICODE-COMPLETE-NAME.
      
      unidata.lisp:
      o Add explicit exports.
      9563cc0b
    • rtoy's avatar
      Optimize the completion of the Hangul syllables and the CJK unified · d4b307df
      rtoy authored
      ideographs by using dictionaries.  (Should these dictionaries be part
      of unidata.bin so they don't have to be built at run time?  One the
      one hand, it makes things simpler, but unnecessarily bloats
      unidata.in.  I suspect the hangul syllables and cjk ideographs
      characters not not used very often.)
      
      o Change NODE-NEXT and CLOSE-NODE to have an optional parameter for
        the dictionary to use.
      o Update UNICODE-COMPLETE-NAME to pass the dictionary to NODE-NEXT and
        CLOSE-NODE.
      o Update UNICODE-COMPLETE to use the hangul syllable dictionary and
        the cjk ideograph dictionary when searching.
      o Fix typo in UNICODE-COMPLETE.
      o Add defvars for dictionaries for hangul syllables and cjk
        ideographs.
      o Add functions to build the hangul and cjk dictionaries.
      o Steal the implementations of BUILD-DICTIONARY, NAME-LOOKUP, and
        ENCODE-NAME from tools/build-unidata.lisp.
      d4b307df
    • rtoy's avatar
      Add support for character completion. This is primarily intended to · d4b888a2
      rtoy authored
      support character completion for slime.  The implementation is from
      Paul Foley, but some slight modifications by Raymond Toy to handle a
      few corner cases.
      
      o Modify SEARCH-DICTIONARY to take optional current and posn
        parameters so that SEARCH-DICTIONARY can be started from a different
        place.
      o Add UNICODE-COMPLETE, which is the main function for character name
        completion.
      o Add other support functions for UNICODE-COMPLETE.
      d4b888a2
    • rtoy's avatar
      o Fix typo in UNICODE-DECOMP. (It's hangul-syllable-p, not · 34af3581
      rtoy authored
        hangule-syllable-p.)
      o Move the computation of *reverse-hangule-choseong*,
        *reverse-hangul-jungseong*, and *reverse-hangul-jongseong* to its
        own routine.  Call it in UNICODE-NAME-TO-CODEPOINT.
      34af3581
  12. Sep 15, 2010
    • rtoy's avatar
      Pull out the range tests for CJK Ideographs and Hangul Syllables and · 6692aa7e
      rtoy authored
      put the tests into their own functions so that the limits are on one
      place.
      6692aa7e
    • rtoy's avatar
      Add support for Unicode 5.2. The normalization and wordbreak tests pass. · d2b9eace
      rtoy authored
      code/string.lisp:
      o In %compose, handle the case where the composite character is
        outside the BMP and thus needs special handling for our UTF-16
        strings.
      
      code/unidata.lisp
      o CKJ Ideograph range has changed in 5.2.
      o Fix bug in build-composition-table.  We were not correctly handling
        the case where the decomposition of a codepoint was outside the
        BMP.  Special care is needed to handle the UTF-16 strings that we
        use.
      o The key for the pairwise composition table are the full codepoints,
        so we need to shift one by 21 bits instead of 16.
      
      tools/build-unidata.lisp
      o Update minor version to 2.
      
      i18n/BidiMirroring.txt
      i18n/CaseFolding.txt
      i18n/CompositionExclusions.txt
      i18n/DerivedNormalizationProps.txt
      i18n/NameAliases.txt
      i18n/NormalizationCorrections.txt
      i18n/SpecialCasing.txt
      i18n/UnicodeData.txt
      i18n/WordBreakProperty.txt
      i18n/tests/NormalizationTest.txt
      i18n/tests/WordBreakTest.txt
      o Updated from Unicode 5.2.
      
      i18n/unidata.bin
      o Regenerated from new Unicode 5.2 files.
      d2b9eace
    • rtoy's avatar
      Fix FD-STREAM-FILE-POSITION, which was returning the wrong thing for · bb3c7f22
      rtoy authored
      streams with a string-buffer (all external formats except ISO-8859-1)
      and for streams without a string-buffer but with an in-buffer
      (ISO-8859-1).  This caused source location information to be totally
      wrong.
      bb3c7f22
  13. Sep 13, 2010
  14. Sep 08, 2010
    • rtoy's avatar
      Clean up how (setf stream-external-format) works. This change · 069f884d
      rtoy authored
      requires a cross-compile using the default cross-compile script.
      
      fd-stream.lisp:
      o Remove the SAVED-OC-STATE slot from an FD-STREAM because we don't
        need it anymore since we have the OCTET-COUNT slot.
      
      stream.lisp:
      o Don't need to copy the current OC-STATE to SAVED-OC-STATE.  Remove
        code and update comments.
      
      fd-stream-extfmt.lisp:
      o Use the OCTET-COUNT slot to figure out how many octets have been
        consumed so far to produce the characters that have already been
        read.  Don't need to do the re-conversion anymore, so we don't need
        the SAVED-OC-STATE anymore.
      o Add support for the case where we were using the ISO8859-1 external
        format and are now switching to another external format that
        requires the string-buffer.
      069f884d
    • rtoy's avatar
      Correct docstring for OCTETS-TO-STRING to reflect what actually · 02eaab2e
      rtoy authored
      happens.
      02eaab2e
  15. Sep 06, 2010
  16. Sep 04, 2010
  17. Aug 30, 2010
  18. Aug 28, 2010
    • rtoy's avatar
      code/x86-vm.lisp: · 9c6933df
      rtoy authored
      o Merge fixes to SIGCONTEXT-FLOAT-REGISTER and
        %SET-SIGCONTEXT-FLOAT-REGISTER from the 20b branch.
      o Add new function GET-FP-OPERAND to try to extract the operation and
        the operands when an arithmetic-error is signaled.
      
      general-info/release-20b.txt:
      o Update
      9c6933df
  19. Aug 18, 2010
  20. Aug 15, 2010
    • rtoy's avatar
      When decoding-error is T, use a question mark for non-unicode builds · 30ad5edb
      rtoy authored
      instead of the (invalid) Unicode replacement character.
      30ad5edb
    • rtoy's avatar
      Fix file-position bug in trac #36. We add an array to keep track of · d689646f
      rtoy authored
      the octets consumed for each character.  This array is used to figure
      out the file position.  Some tests comparing this scheme indicates a
      very small slowdown of about 1%, so this seems not to hurt.
      
      Use a cross-compile using the 2010-07 snapshot to build this.  (Same
      procedure as used to build the 20b-pre1 release.)
      
      struct.lisp:
      o Add new slot OCTET-COUNT to LISP-STREAM to hold the array of octets
        per character.
      
      extfmts.lisp:
      o Add OCTETS-TO-STRING-COUNTED, which is like OCTETS-TO-STRING, except
        we need an array in which to store the number of octets consumed for
        each character processed.
      
      fd-stream.lisp:
      o Create the octet-count array creating the lisp stream string buffer.
      o In FD-STREAM-FILE-POSITION, use the octet count to count the number
        of octets that have been read but not yet returned to the user.
      
      stream.lisp:
      o Use OCTETS-TO-STRING-COUNTED instead of OCTETS-TO-STRING so we keep
        track of octet length of each character processed.
      d689646f
  21. Aug 14, 2010
    • rtoy's avatar
      extfmts.lisp: · 224b62bc
      rtoy authored
      ascii.lisp:
      iso8859-1.lisp:
      iso8859-2.lisp:
      mac-roman.lisp:
      utf-16.lisp:
      utf-32-be.lisp:
      utf-32-le.lisp:
      utf-32.lisp:
      utf-8.lisp:
      o Inhibit warnings about funcalls to error (fdefinition of symbols).
        I'm tired of seeing the warnings.
      
      utf-16-be.lisp:
      utf-16-le.lisp:
      o Inhibit warnings about funcalls to error (fdefinition of symbols).
        I'm tired of seeing the warnings.
      o Fix bug in FLUSH-STATE:  need to call the OUT function, not the
        ,OUTPUT function!
      224b62bc
  22. Aug 11, 2010
  23. Aug 09, 2010
  24. Aug 04, 2010
  25. 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
Loading