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