This page is part of the web mail archives of SRFI 68 from before July 7th, 2015. The new archives for SRFI 68 contain all messages, not just those from before July 7th, 2015.
Hi, Is there any way for <translate-proc> of make-translated-output-stream to know if the translated output stream is flushed or closed? It is necessary for implementing character encoding conversion, since character encodings may have states, which should be cleared depending on the next output character or if there's no more output characters. An example: Suppose I'm writing a translating output stream that receives utf8 string and produces iso-2022 encoded string. Iso-2022 is a stateful encoding, switching "current code sets" with escape sequences. And it is required that the encoding string should end with code set #0 (default one). If the last character of the original output is in other code set than #0, the translate-proc should write out extra bytes to reset the code set. Another example: Even Unicode can be stateful in regard to other encoding systems. When I'm converting utf-8 to jisx0213, strictly following the specification, there are a few Unicode characters I need to peek at the next character or EOF state to determine the corresponding jisx0213 character. For example, unicode character <U+30AB> becomes jisx0213 <0xA5AB>, except the sequence <U+30AB> <U+309A>, which becomes <0xA5F7>. If the last character of the original output is <U+30AB>, the translate-proc needs to know it's the last one. --shiro