# [tex-live] tl-pretest: bug in .ini files

Petr Olsak petr at olsak.net
Wed Apr 13 18:24:58 CEST 2016

Hello,

I started with experimenting with tl-pretest and I have found that the
pdftexcofig.tex file is generally changed. I know that this is common
Parkinson's law that sowtware is more and more complicated (without
exlicit needs). This is exactly such example.

A pdfTeX user is not interested that LuaTeX changed its primitives. This
is LuaTeX problem, not pdfTeX problem. And pdftexconfig.tex is used
primary in .ini files by pdfTeX. So, more good approach is to keep
pdftexconfig.tex unchanged and only luatexiniconfig.tex should be adapted
in order to share the same values given in pdftexconfig.tex. We need not
to create any new file like pdftexconfig.dat.

Now, the bug description: The \unless primitive cannot be used in the
pdftexconfig.tex file because there are people they generate pdftex
format without initializing eTeX. One way to fix this bug is such file:

--------------------------------------------------------------------

% tex-ini-files 2016-02-27: pdftexconfig.tex

% Load shared (PDF) settings in pdfTeX

% This needs a bit of work to read the file line-by-line
\begingroup
\catcode\{=1 %
\catcode\}=2 %
\catcode\#=6 %
% From apnum.tex
\def\loop#1\repeat{\def\body{#1\relax\expandafter\body\fi}\body}%
\let\repeat\fi
% The format of the data lines themselves is simple
\def\parse#1 = #2\relax{\expandafter\global\csname pdf#1\endcsname = #2
}%
\def\storedpar{\par}%
\openin0=pdftexconfig.dat %
\loop\ifeof0 \else
\ifx\line\storedpar\else
\if\relax\line\relax
\else
\expandafter\parse\line\relax
\fi
\fi
\repeat
\endgroup

\global\pdfoutput = \ifx\dvimode\undefined 1\else 0\fi\relax
\global\let\dvimode\undefined

\endinput

------------------------------------------------------------

But better correction is to keep the pdftexconfig.tex unchanged.

Best regards

Petr Olsak
`