From: Christophe R. <cr...@us...> - 2004-08-26 11:02:20
|
Update of /cvsroot/sbcl/sbcl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6713 Modified Files: Tag: character_branch TODO.character version.lisp-expr Log Message: 0.8.13.77.character.8: "Uphill. In the snow." Add a couple more things to TODO.character Index: TODO.character =================================================================== RCS file: /cvsroot/sbcl/sbcl/Attic/TODO.character,v retrieving revision 1.1.2.3 retrieving revision 1.1.2.4 diff -u -d -r1.1.2.3 -r1.1.2.4 --- TODO.character 26 Aug 2004 10:45:32 -0000 1.1.2.3 +++ TODO.character 26 Aug 2004 11:01:40 -0000 1.1.2.4 @@ -24,6 +24,18 @@ ** set BASE-CHAR to be (CHARACTER-SET 0 127), implementing a new low-level representation of CHARACTER-STRING for (SIMPLE-ARRAY CHARACTER (*)) (which is now distinct from SIMPLE-BASE-STRING). +(Rationale: exposes issues in the SBCL codebase where BASE-CHAR = +CHARACTER assumptions have been made.) (Rationale: having BASE-STRING +be pure ASCII (and not latin1 or similar) means that, for a wide +variety of external formats (including utf-8, latin-X and POSIX), +writing the string to a stream is as simple as blitting the bits of +the string to the buffer.) (Rationale: while some implementations do +retain BASE-CHAR = CHARACTER, they either (a) bloat all strings by a +factor of four; (b) bloat all strings by a factor of two and don't +support the whole of Unicode; or (c) add an extra level of indirection +for strings so that the storage compaction can be mutated on demand, +with garbage collector support. None of these strategies is +particularly appealing.) -- done for x86: >> cold init runs; >> warm load runs to completion; @@ -68,3 +80,14 @@ support people other than simply those living in non-Eurozone Western Europe or the United States of America.) This requires at minimum adjusting the dumper/fop code and the low-level memory accessors. + +** possibly retain a CHAR-CODE-LIMIT = 256 build option, with +character point encoding dependent on locale. This requires +implementing, at a minimum, latin-X eternal formats, so that files +with one or two high-bit characters (e.g. e-acute) can be read in +applicable locales (e.g. latin1 and latin15). (Rationale: possible +reduction of size bloat.) + +** implement many useful external formats. (Rationale: now that we +have these characters, we want to be able to use them when talking to +the rest of the world.) Index: version.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v retrieving revision 1.1806.2.7 retrieving revision 1.1806.2.8 diff -u -d -r1.1806.2.7 -r1.1806.2.8 --- version.lisp-expr 26 Aug 2004 10:45:32 -0000 1.1806.2.7 +++ version.lisp-expr 26 Aug 2004 11:01:41 -0000 1.1806.2.8 @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.8.13.77.character.7" +"0.8.13.77.character.8" |