Hi Taco, hi Hans, hi everyone,
With LuaTeX 0.25.4 from the TeX Live distribution, I get a strange
behaviour when, in a texlua script, I call another texlua script which
in turn calls a program, depending on the sequence os.spawn and/or
os.execute I use.
Example, assuming acrord32 is in the PATH and presentation.pdf exists:
% wrapper.tlu
kpse.set_program_name("texlua")
os.spawn('texlua d:/mpg/program.tlu') -- or...
-- os.execute('texlua d:/mpg/program.tlu)
% program.tlu
os.execute ('acrord32 "d:\\mpg\\presentation.pdf"') -- or...
-- os.spawn ('acrord32 "d:\\mpg\\presentation.pdf"')
Now if I run 'texlua wrapper.tlu' from a command line, when Adobe Reader
9 starts, it immediatly crashes showing an error box "internal error".
The problem disappears under one of the following conditions:
1. Change os.spawn to os.execute in wrapper.tlu and/or os.execute to
os.spawn in program.tlu.
2. Do the same on linux (with trivial path adaptations).
3. Use something else than Adobe Reader (or Adobe Acrobat) 8 or 9.
4. Comment the call to kpse.set_program_name().
I tend to believe that 3 and 4 a rather anecdotic, and though in theory
the problem could come from kpse or AR, it may actually be more related
to os.spawn. A quick look at loslibext.c let me think that os.spawn is
indeed rather tricky on windows (and at least more than on *nix).
So, what do you think? Is it a bug or I am doing something wrong?
Thanks,
Manuel.