[tex-live] Changes 5347, 5348
Olaf Weber
olaf at infovore.xs4all.nl
Fri Jul 2 11:59:23 CEST 2004
I've just checked in changes that affect the TeX binaries, one to get
them to accept -efmt as an alternate spelling of -fmt, and an update
to encTeX from Petr Olsak.
infovore:/home/olaf$ p4 describe -s 5347
Change 5347 by olaf at olaf on 2004/07/02 11:49:26
Add the -efmt switch as an "alias" for -fmt to the TeX binaries.
This is for backward compatibility only, to allow some scripts
some time to transition.
Affected files ...
... //depot/Build/source.development/TeX/texk/web2c/lib/texmfmp.c#35 edit
infovore:/home/olaf$ p4 describe -s 5348
Change 5348 by olaf at olaf on 2004/07/02 11:54:27
tex.ch: Update to encTeX from Petr Olsak. These fix three bugs.
These bugs are seen only in encTeX mode when \mubytein=1 and in
very rare cases. Petr's explanation follows:
1) If the control sequence is converted by \mubyte table but it is
not shrunk then the non-converted alternative of control sequence
is really used. It can be possible only if one-byte to one-byte
conversion is used and declared by \mubyte primitive. More common
is to use \mubyte for multi-byte to one-byte conversion. In such
situation, there is no problem because control sequence is
schrunk. Thanks to Wlodzimierz Bzyl for bugreport.
\def\aXb{xx}
\mubyte X Y\endmubyte
\mubytein=1
\aYb % writes "undefined control sequence \aXb" because
% error message is converted but real control sequence
% is not converted and \aYb is undefined.
2) If multi-byte to one-byte conversion is done during scanning of
control sequence name with the result: one-letter control
sequence, then this control sequence is not connected with
"native" one-letter control sequence but the new "multi-letter
control sequence" is allocated with only one letter in real.
\def\X{xx} % one-letter control sequence is defined
\mubyte X YZ\endmubyte
\mubytein=1
\YZ % writes "undefined control sequence \X" because \YZ is
% converted to \X but allocated as multi-letter control
% sequence, but one-letter control sequence is defined
3) If \catcode`\^^@=11 or 7 and if control sequence is terminated
by generated control sequence (from \mubyte conversion) then the
result of reading is unpredictable.
\def\XXX{xx}
\mubyte \XXX YZ\endmubyte
\mubytein=1 \relaxYZ % it is OK: \relax followed by \XXX
\par\catcode`\^^@=11
\relaxYZ % bad reading: \relaxYZ control sequence not defined
Affected files ...
... //depot/Build/source.development/TeX/texk/web2c/tex.ch#31 edit
--
Olaf Weber
(This space left blank for technical reasons.)
More information about the tex-live
mailing list