> How can this be true?
By magic, or the will of Knuth, or something.
> What happens if a command in the middle of a line changes the catcodes
makes no difference: the notion of line for the input buffer is hardwired
into the implementation it is not changable via TeX commands and does
not depend on catcodes or the value of \endlinechar.
> or contains a macro that expands to a \input <filename>?
The rest of the line of the original file sits buffered in one of those
input streams until the input file finishes.
Incidentally one reason why xmltex can not support utf16 is that
TeX buffers to ^J (or ^M) and throws away any bytes with value 32 that
occur at the end of this buffer, which might just be half of a 16bit
quantity that you'd rather keep. there's no way to control this
behaviour from within TeX.
This message has been checked for all known viruses by Star Internet delivered
through the MessageLabs Virus Control Centre. For further information visit