:bmp-reversed are the actual implementation formats. They implement reading and writing 16-bit characters with the native byte order (
:bmp-native) or the reversed byte order (
If little-endian is supplied, it determines the byte order. Otherwise, if it is used for opening a file, the system checks whether the file starts with the BOM (Byte Order Mark), and if so it uses it. Otherwise the native byte order is used. The system uses the required byte order and the native byte order of the computer it executes on to decide whether to use
:bmp cannot read surrogate code points. When encountering a surrogate code point it either signals an error (the default), or if use-replacement is non-nil, replaces it with the replacement character. When use-replacement is non-nil, these external formats never signal an error when reading.
These formats were new in LispWorks 7.0. In LispWorks 6.1 and earlier versions
:unicode is the external format to read 16-bit characters. Other than the treatment of surrogate code points,
:bmp now does what
:unicode used to do.
LispWorks User Guide and Reference Manual - 20 Sep 2017