[Dev-luatex] kpse.find_file

Manuel Pégourié-Gonnard mpg at elzevir.fr
Sun Nov 1 10:09:14 CET 2009


Hi Reinhard,

Reinhard Kotucha a écrit :
>    kpse.set_program_name('ppower4')

The problem is that kpse resolves symlinks before computing SELFAUTO*
(which is what you want in most cases). So SELFAUTOLOC ends up being
texmf-dist/scripts/ppoxer4 which obviously gives the wrong result.

A general approach to this is to use

kpse.set_program_name(arg[-1], 'ppower4')

which works on all platforms (I'm using it in texdoc and never got any
complaint).  As you probably know, arg[-1] is the name of the Lua
interpreter used for the current script, which gives good results for
computing SELFAUTO*. I guess that's the whole purpose of the
two-arguments form of kpse.set_program_name.

(Btw, at some point there was a bug in kpse so that the first argument
was ignored on GNU platforms and SELFAUTO* set to "correct" values even
if the argument was "wrong" on platform using the GNU libc. So this kind
of problem was hidden on, eg Linux, when this bug was present. After the
bug was fixed, I looked a bit for othe occurences in TeX Live, but
apparently I missed some of them.)

Manuel.


More information about the dev-luatex mailing list