ViewVC logotype

Log of /src/code/string.lisp

Parent Directory Parent Directory | Revision Log Revision Log

Links to HEAD: (view) (annotate)
Links to amd64-dd-start: (view) (annotate)
Sticky Tag:

Revision 1.21 - (view) (annotate) - [select for diffs]
Sun Oct 18 14:21:24 2009 UTC (4 years, 5 months ago) by rtoy
Branch: MAIN
CVS Tags: amd64-dd-start, intl-2-branch-base, intl-branch-base, pre-merge-intl-branch, snapshot-2009-11, snapshot-2009-12, snapshot-2010-01, snapshot-2010-02, snapshot-2010-03
Branch point for: amd64-dd-branch, intl-2-branch, intl-branch
Changes since 1.20: +6 -6 lines
Diff to previous 1.20
Merge changes from unicode-string-buffer-impl-branch which gives
faster reads on external-formats.  This is done by adding an
additional buffer to streams so we can convert the entire in-buffer
into characters all at once.

To build this change, you need to do a cross-compile using
boot-2009-10-1-cross.lisp.  Using that build, do a normal build with
these sources.

For a non-unicode build use boot-2009-10-01.lisp with a 20a
non-unicode build.

o Add another slot to the extfmts for copying the state.
o Modify EF-OCTETS-TO-STRING and OCTETS-TO-STRING to support the
  necesssary changes for fast formats.  This is incompatible with the
  previous version because the string is not grown if needed.

o Set *enable-stream-buffer-p* to T so we have fast streams.

o Add new slots to support fast strams.
o In SET-ROUTINES, initialize the new slots appropriately.
o Update UNREAD-CHAR to be able to back up in the string buffer to
o Add implementation to copy the state of an external format.

o Change %SET-FD-STREAM-EXTERNAL-FORMAT to be able to change formats
  even if we've already converted the buffer with a different format.
  We reconvert the buffer with the old format until we reach the
  current character.  Then the remaining octets are converted using
  the new format and stored in the string buffer.
o Add FAST-READ-CHAR-STRING-REFILL to refill the string buffer, like
  FAST-READ-CHAR-REFILL does for the octet in-buffer.

o Add new slots to hold the string buffer, the current index, and
  length.  These are needed for the fast formats.

  FAST-READ-CHAR to support the string buffer.

o Microoptimization of SURROGATEP to reduce the number of branchs.

o Update with these changes

o These formats actually have state, so update them to take a handle
  an initial state.  These are needed if the string buffer ends with a
  leading surrogate and the next string buffer starts with a trailing
  surrogate.  The conversion needs to combine the surrogates together.

Revision 1.20 - (view) (annotate) - [select for diffs]
Tue Sep 15 15:52:43 2009 UTC (4 years, 7 months ago) by rtoy
Branch: MAIN
CVS Tags: unicode-string-buffer-base, unicode-string-buffer-impl-base
Branch point for: unicode-string-buffer-branch, unicode-string-buffer-impl-branch
Changes since 1.19: +0 -149 lines
Diff to previous 1.19
Oops.  Remove old code that didn't support our UTF-16 strings.

Revision 1.19 - (view) (annotate) - [select for diffs]
Tue Sep 15 15:51:25 2009 UTC (4 years, 7 months ago) by rtoy
Branch: MAIN
Changes since 1.18: +468 -5 lines
Diff to previous 1.18
Add support for the Unicode word break algorithm for
STRING-CAPITALIZE.  Not sure about the appropriate interface, though.

o Add Unicode word break algorithm.  Based on Scheme code by William
  Clinger.  Used with permission.
o Update STRING-CAPITALIZE to take another keyword arg to indicate if
  we should use the Unicode word break algorithm.  Default is not to
  use the Unicode algorithm.

o Update defknown for string-capitalize.

o New test file for the word break algorithm

o New file to run the word break test.

Revision 1.18 - (view) (annotate) - [select for diffs]
Mon Aug 17 14:02:17 2009 UTC (4 years, 8 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_20a, release-20a-base, release-20a-pre1
Branch point for: RELEASE-20A-BRANCH
Changes since 1.17: +10 -10 lines
Diff to previous 1.17
Use more descriptive argument names for SURROGATEP and

Revision 1.17 - (view) (annotate) - [select for diffs]
Mon Aug 10 21:22:09 2009 UTC (4 years, 8 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2009-08
Changes since 1.16: +2 -2 lines
Diff to previous 1.16
Oops.  utf16-string-p was returning NIL if the codepoint was
assigned.  It should return NIL if the codepoint is NOT assigned.

Revision 1.16 - (view) (annotate) - [select for diffs]
Mon Jul 13 14:01:48 2009 UTC (4 years, 9 months ago) by rtoy
Branch: MAIN
Changes since 1.15: +4 -1 lines
Diff to previous 1.15
Clean up a few compiler warnings about unused variables.

Revision 1.15 - (view) (annotate) - [select for diffs]
Tue Jun 16 21:25:02 2009 UTC (4 years, 10 months ago) by rtoy
Branch: MAIN
CVS Tags: portable-clx-base, portable-clx-import-2009-06-16, snapshot-2009-07
Branch point for: portable-clx-branch
Changes since 1.14: +11 -1 lines
Diff to previous 1.14
Cleanups for non-unicode build.

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

o Conditionalize out things that will only work if unicode is

o Only compile fd-stream-extfmt for unicode builds.

Revision 1.14 - (view) (annotate) - [select for diffs]
Tue Jun 16 17:23:15 2009 UTC (4 years, 10 months ago) by rtoy
Branch: MAIN
Changes since 1.13: +13 -8 lines
Diff to previous 1.13
  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.

o Update export list to be conditional on Unicode for above changes
  in string.lisp.

o Change name from GET-PAIRWISE-COMPOSITION to
  UNICODE-PAIRWISE-COMPOSITION to match other Unicode function names.

Revision 1.13 - (view) (annotate) - [select for diffs]
Thu Jun 11 16:03:59 2009 UTC (4 years, 10 months ago) by rtoy
Branch: MAIN
CVS Tags: merged-unicode-utf16-extfmt-2009-06-11
Changes since 1.12: +828 -35 lines
Diff to previous 1.12
Merge Unicode work to trunk.  From label

Revision 1.12 - (view) (annotate) - [select for diffs]
Fri Apr 11 15:41:59 2003 UTC (11 years ago) by emarsden
Branch: MAIN
CVS Tags: RELEASE_19f, amd64-merge-start, double-double-array-base, double-double-array-checkpoint, double-double-base, double-double-init-%make-sparc, double-double-init-checkpoint-1, double-double-init-ppc, double-double-init-sparc, double-double-init-sparc-2, double-double-init-x86, double-double-irrat-end, double-double-irrat-start, double-double-reader-base, double-double-reader-checkpoint-1, double-double-sparc-checkpoint-1, dynamic-extent-base, label-2009-03-16, label-2009-03-25, lisp-executable-base, merge-sse2-packed, merge-with-19f, mod-arith-base, ppc_gencgc_snap_2005-05-14, ppc_gencgc_snap_2005-12-17, ppc_gencgc_snap_2006-01-06, pre-telent-clx, prm-before-macosx-merge-tag, release-19a, release-19a-base, release-19a-pre1, release-19a-pre2, release-19a-pre3, release-19b-base, release-19b-pre1, release-19b-pre2, release-19c, release-19c-base, release-19c-pre1, release-19d, release-19d-base, release-19d-pre1, release-19d-pre2, release-19e, release-19e-base, release-19e-pre1, release-19e-pre2, release-19f-base, release-19f-pre1, remove_negative_zero_not_zero, snapshot-2003-10, snapshot-2003-11, snapshot-2003-12, snapshot-2004-04, snapshot-2004-05, snapshot-2004-06, snapshot-2004-07, snapshot-2004-08, snapshot-2004-09, snapshot-2004-10, snapshot-2004-11, snapshot-2004-12, snapshot-2005-01, snapshot-2005-02, snapshot-2005-03, snapshot-2005-04, snapshot-2005-05, snapshot-2005-06, snapshot-2005-07, snapshot-2005-08, snapshot-2005-09, snapshot-2005-10, snapshot-2005-11, snapshot-2005-12, snapshot-2006-01, snapshot-2006-02, snapshot-2006-03, snapshot-2006-04, snapshot-2006-05, snapshot-2006-06, snapshot-2006-07, snapshot-2006-08, snapshot-2006-09, snapshot-2006-10, snapshot-2006-11, snapshot-2006-12, snapshot-2007-01, snapshot-2007-02, snapshot-2007-03, snapshot-2007-04, snapshot-2007-05, snapshot-2007-06, snapshot-2007-07, snapshot-2007-08, snapshot-2007-09, snapshot-2007-10, snapshot-2007-11, snapshot-2007-12, snapshot-2008-01, snapshot-2008-02, snapshot-2008-03, snapshot-2008-04, snapshot-2008-05, snapshot-2008-06, snapshot-2008-07, snapshot-2008-08, snapshot-2008-09, snapshot-2008-10, snapshot-2008-11, snapshot-2008-12, snapshot-2009-01, snapshot-2009-02, snapshot-2009-04, snapshot-2009-05, sparc_gencgc, sparc_gencgc_merge, sse2-base, sse2-checkpoint-2008-10-01, sse2-merge-with-2008-10, sse2-merge-with-2008-11, sse2-packed-2008-11-12, sse2-packed-base, unicode-utf16-base, unicode-utf16-extfmts-pre-sync-2008-11, unicode-utf16-extfmts-sync-2008-12, unicode-utf16-string-support, unicode-utf16-sync-2008-07, unicode-utf16-sync-2008-09, unicode-utf16-sync-2008-11, unicode-utf16-sync-2008-12, unicode-utf16-sync-label-2009-03-16
Branch point for: RELEASE-19F-BRANCH, double-double-array-branch, double-double-branch, double-double-reader-branch, dynamic-extent, lisp-executable, mod-arith-branch, ppc_gencgc_branch, release-19a-branch, release-19b-branch, release-19c-branch, release-19d-branch, release-19e-branch, sparc_gencgc_branch, sse2-branch, sse2-packed-branch, unicode-utf16-branch, unicode-utf16-extfmt-branch
Changes since 1.11: +3 -3 lines
Diff to previous 1.11
Instead of ignoring the :element-type argument to MAKE-STRING, we check
that it's a valid subtype of character (then ignore it).

Revision 1.11 - (view) (annotate) - [select for diffs]
Sun Jun 17 19:12:34 2001 UTC (12 years, 10 months ago) by pw
Branch: MAIN
CVS Tags: LINKAGE_TABLE, PRE_LINKAGE_TABLE, UNICODE-BASE, cold-pcl-base, release-18e, release-18e-base, release-18e-pre1, release-18e-pre2
Branch point for: UNICODE-BRANCH, cold-pcl, release-18e-branch
Changes since 1.10: +7 -6 lines
Diff to previous 1.10
From eric Marsden:

Fix some error types to be ANSI compliant.

Revision 1.10 - (view) (annotate) - [select for diffs]
Sun Mar 4 23:37:33 2001 UTC (13 years, 1 month ago) by pw
Branch: MAIN
Changes since 1.9: +3 -1 lines
Diff to previous 1.9
A few well placed inhibit-warnings declarations to suppress noise in
compile-lisp.log. Only 46/130 notes left.

Revision 1.9 - (view) (annotate) - [select for diffs]
Fri Feb 13 16:09:42 1998 UTC (16 years, 2 months ago) by dtc
Branch: MAIN
Changes since 1.8: +4 -3 lines
Diff to previous 1.8
ANSI CL compat. changes:
o Add an optional environment argument to constantp; ignored by CMUCL.
o Add the :element-type keyword to make-string.

Revision 1.8 - (view) (annotate) - [select for diffs]
Fri Jul 12 18:55:24 1996 UTC (17 years, 9 months ago) by ram
Branch: MAIN
Branch point for: RELENG_18
Changes since 1.7: +10 -7 lines
Diff to previous 1.7
Merged DTC's patch to string<>=*-body which fixes various problems that arose
when :start2 :end2 values were specified.

Revision 1.7 - (view) (annotate) - [select for diffs]
Mon Oct 31 04:11:27 1994 UTC (19 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.6: +1 -3 lines
Diff to previous 1.6
Fix headed boilerplate.

Revision 1.6 - (view) (annotate) - [select for diffs]
Fri May 15 17:50:40 1992 UTC (21 years, 11 months ago) by wlott
Branch: MAIN
Changes since 1.5: +2 -2 lines
Diff to previous 1.5
Removed an extra ``)''.

Revision 1.5 - (view) (annotate) - [select for diffs]
Tue May 28 17:25:48 1991 UTC (22 years, 10 months ago) by ram
Branch: MAIN
Changes since 1.4: +7 -14 lines
Diff to previous 1.4
Changed STRING-xxxCASE to not assign arguments.

Revision 1.4 - (view) (annotate) - [select for diffs]
Wed Apr 24 23:37:42 1991 UTC (22 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.3: +102 -151 lines
Diff to previous 1.3
Changed the WITH-xxx-STRINGs macros to use simply WITH-ARRAY-DATA, now that it
is more clever.  Also, changed it to accept any STRINGable thing, instead of
just strings and symbols.  These macros now bind the offset var instead of
randomly setting it.

Revision 1.3 - (view) (annotate) - [select for diffs]
Fri Feb 8 13:35:59 1991 UTC (23 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.2: +8 -4 lines
Diff to previous 1.2
New file header with RCS header FILE-COMMENT.

Revision 1.2 - (view) (annotate) - [select for diffs]
Fri Aug 24 18:14:26 1990 UTC (23 years, 7 months ago) by wlott
Branch: MAIN
Changes since 1.1: +23 -25 lines
Diff to previous 1.1
Moved MIPS branch onto trunk; no merge necessary.

Revision 1.1 - (view) (annotate) - [select for diffs]
Tue Feb 6 17:27:06 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Initial revision

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

  ViewVC Help
Powered by ViewVC 1.1.5