Major refactor to use ustring in important places.
authorChris Hanson <org/chris-hanson/cph>
Fri, 27 Jan 2017 10:31:37 +0000 (02:31 -0800)
committerChris Hanson <org/chris-hanson/cph>
Fri, 27 Jan 2017 10:31:37 +0000 (02:31 -0800)
commit22b471d1c221303f4f84ebeab801577e3a51887e
treed13af265674df1fde63b6bf153e8bdcbd311d179
parentf79968916f1879300db6fd426f6e2835abd7c8f8
Major refactor to use ustring in important places.

There is much more work to do but this converts all the textual I/O, parser
buffers, pathnames, URIs, and a bunch of the XML code.  The older Unicode
support in (runtime unicode) is completely gone now.  Outside of Edwin, it
should be fairly safe to assume that legacy strings are *NOT* UTF-8 encoded.

Some specific work items remaining:

* Eliminate symbol-name, which violates the non-utf8-legacy rule.

* Finish converting the XML code to consistently use ustrings.

* Implement real Unicode casing, ordering, and character sets.

* Change the parser to use the R7RS-defined character classes.

* Isolate Edwin from the runtime system's string implementation, since porting
  it to Unicode is not worth the trouble.  It should be frozen to use only
  ASCII, not ISO 8859-1 as at present.

And last of all:

* Once Edwin is isolated, convert the runtime system to use ustrings everywhere,
  then rename them from "ustring" to "string".
28 files changed:
src/runtime/chrset.scm
src/runtime/input.scm
src/runtime/keyword.scm
src/runtime/numpar.scm
src/runtime/output.scm
src/runtime/packag.scm
src/runtime/parser-buffer.scm
src/runtime/port.scm
src/runtime/pp.scm
src/runtime/runtime.pkg
src/runtime/string.scm
src/runtime/stringio.scm
src/runtime/swank.scm
src/runtime/syncproc.scm
src/runtime/unicode.scm [deleted file]
src/runtime/unxprm.scm
src/runtime/url.scm
src/runtime/ustring.scm
src/xml/rdf-nt.scm
src/xml/rdf-struct.scm
src/xml/turtle.scm
src/xml/xml-names.scm
src/xml/xml-output.scm
src/xml/xml-parser.scm
src/xml/xml-rpc.scm
src/xml/xml-struct.scm
src/xml/xml.pkg
src/xml/xpath.scm