[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