CMUCL loads external formats using the search-list ext-formats:. The aliases file is also located using this search-list.
The Unicode data base is stored in compressed form in the file ext-formats:unidata.bin. If this file is not found, Unicode support is severely reduced; you can only use ASCII characters.
The main options are covered elsewhere. Here we describe the
options specific to Unicode. The option
specifies the external format to use for reading and writing the
file. The external format is a keyword.
:encoding-error are used
to specify how encoding and decoding errors are handled. The
default value on
nil means the external format handles errors
itself and typically replaces invalid sequences with the Unicode
Otherwise, the value for
decoding-error is either a
character, a symbol or a function. If a character is
specified. it is used as the replacement character for any invalid
decoding. If a symbol or a function is given, it must be a
function of three arguments: a message string to be printed, the
offending octet, and the number of octets read. If the function
returns, it should return two values: the code point to use as the
replacement character and the number of octets read. In addition,
t may be specified. This indicates that a continuable error
is signaled, which, if continued, the Unicode replacement
character is used.
encoding-error, a character, symbol, or function can be
decoding-error, with the same meaning. The
function, however, takes two arguments: a format message string
and the incorrect codepoint. If the function returns, it should
be the replacement codepoint.