[lltx] [tex-live] Location of recorder file
Philipp Stephani
st_philipp at yahoo.de
Fri May 13 13:32:55 CEST 2011
Am 13.05.2011 um 12:43 schrieb Heiko Oberdiek:
> On Fri, May 13, 2011 at 10:25:16AM +0200, Paul Isambert wrote:
>
>> Le 13/05/2011 09:15, Manuel Pégourié-Gonnard a écrit :
>>> Le 13/05/2011 02:08, Philipp Stephani a écrit :
>>>> or at
>>>> least rewritten so that \jobname is never expanded at every job:
>>>>
>>> I don't see any way to achieve that at the moment.
>>
>> The following observation might help: \everyjob is put into the
>> stream before whatever comes next. So it can know what's coming,
>> either \input or anything else. If it is \input, then it just has to
>> use one \expandafter before doing what it is supposed to do, and
>> \jobname is correctly fixed.
>>
>> For instance, try "lualatex \input test"
>
> And this will miss the cases where some code is inbetween that
> does not affect \jobname, e.g.:
> "lualatex \def\flag{...}\input test"
>
> And quoting the \jobname should not be necessary, because
> LuaTeX supports the {}-syntax with \input, \openin, \openout, ...
> Thus the LaTeX kernel macros that mess with file input and output
> needs fixed to support spaces. Unhappily this will also change
> internal interfaces, because the space is used as end delimiter
> of the file name or spaces are removed from file names (\includeonly).
Still I think this should be tried; there is no other robust way than to fix the LaTeX issues. The format initialization files already contain several engine-related fixes, and a few more shouldn't hurt. If they change something user-visible, then they could go to fixltx2e.
Maybe we should even do the unthinkable and forbid the unbraced version of \input entirely: better fail loudly in all cases than silently in an incalculable number of cases.
Grepping through the LaTeX-related macro trees finds only 4112 instances of \\(@@){0,2}input, that's almost trivial and doable in five minutes ;'-/
More information about the lualatex-dev
mailing list