Ben Wing <ben(a)666.com> writes:
> Right. XEmacs internally has very powerful Lstreams, which are
> capable of "stacking", but we have yet to come up with a good
> interface for exposing them to Lisp level.
this is half-implemented already in my latest mule ws.
i created a "chain" coding system that lets you chain more than one
coding system together,
[...]
mswindows-multibyte-to-unicode is thus the first ever coding system
that
translates between something other than byte->char or char->byte [it's
byte->byte]. i need to add some coding system methods to indicate what's at
each end of the coding systems, so that incompatible kinds don't get
chained together.
This concern has been raised by Olivier Galibert: current coding
systems conceptually convert bytes to characters or vice versa. I can
imagine existence of three kinds of coding systems:
x. byte<->byte, such as `gzip' or `uuencode'
y. byte<->char (char<->byte in the other direction), such as `utf8'
z. char<->char, such as newline-hide-cr
One coding system of type Y would be mandatory, but otherwise
combinations such as XXYZZZ (or ZZZYXX in the other dirction) would be
possible.