In several places, Guile's reader assumes that the port encoding is
ASCII-compatible. For example:
* 'scm_token' reads raw bytes and passes them to the CHAR_IS_DELIMITER
macro to check for delimiters.
* 'scm_read_mixed_case_symbol' checks for the (optional) postfix keyword
syntax by comparing the final _byte_ read by 'read_token' with ':'.
* 'scm_read_character' uses 'read_token' to read raw bytes up to the
next delimiter, and if it returns a single byte with value 0-127, it
is interpreted as the associated ASCII character regardless of the
encoding.
* 'scm_read_semicolon_comment' reads bytes until it finds one equal to
the ASCII code for '\n'.
There may be other problems as well.
Mark