>>>>> "Jean-Pierre" == Jean-Pierre Chretien <[EMAIL PROTECTED]> writes:

Jean-Pierre> My interpretation of a wrong language.dat was false,
Jean-Pierre> clearly the line extraction fails on this because of the
Jean-Pierre> multiple line result of the language hyphenation message.
Jean-Pierre> The inspection of the chkconfig.log file is line based
Jean-Pierre> (keep the lines beginning with +), maybe it's possible to
Jean-Pierre> instruct latex not to wrap output messages ?

configure.py does not inspect the .log file. The parsing is done inide
chklatex.ltx, where the contents of \everyjob is inspected. The code
looks like:

%%% And now, the list of available languages
% The trick is to know that \the\everyjob contains something like
%  \typeout{LaTeX2e <2001/06/01>}
%  \typeout{Babel <v3.7h> and hyphenation patterns for american, french, 
german, ngerman, nohyphenation, loaded.}
% All we have to do is to extract the list from there:
% (1) concatenate all the messages that are displayed everytime the
% format is loaded. The is done by redefining locally \typeout to
% append its argument to the macro \mesg.
\def\mesg{}
{\def\typeout#1{\xdef\mesg{\mesg #1}}
 \the\everyjob}
% (2) strip the useless parts from \mesg. This uses the fact that TeX
% allows to define macros with parameters delimited by arbitrary text.
\def\strip#1patterns for #2, loaded.#3\endmark{\def\langs{#2}}
\expandafter\strip\mesg\endmark
% (3) handle the result
\message{^^J\prefix checking for available hyphenation patterns... \langs}
\AddVariable{languages}{\langs}

So the question is to know what is inside \everyjob.

JMarc

Reply via email to