Next: , Previous: , Up: Miscellaneous   [Contents][Index]


13.3.7.1 Files

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.

Function: open filename &rest options &key :direction :element-type :if-exists :if-does-not-exist :class :mapped :input-handle :output-handle :external-format :decoding-error :encoding-error

The main options are covered elsewhere. Here we describe the options specific to Unicode. The option :external-format specifies the external format to use for reading and writing the file. The external format is a keyword.

The options :decoding-error and :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 replacement character.

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.

For encoding-error, a character, symbol, or function can be specified, like 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.


Next: Utilities, Previous: Miscellaneous, Up: Miscellaneous   [Contents][Index]