LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Philipp Stephani <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Fri, 13 May 2011 13:32:55 +0200
text/plain (34 lines)
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 ;'-/