[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