Hi, I got the latest issue of TUGboat today and read Hans' article about LuaTeX with great interest. Obviously Hans had the enhancement of [pdf]TeX in mind. But I think that much more can be done with it. Given that LuaTeX allows shell-escapes, I think that it makes a lot of sense to replace some Perl scripts by LuaTeX. For instance, Heiko fixed two bugs in epstopdf I reported but I did not get any response from the author of the C-version which still resides on CTAN. http://ctan.org/tex-archive/support/epstopdf This version is still broken. TeXLive does not provide Perl for Windows users and I suppose that MikTeX doesn't as well. Instead, binaries are provided. If someone detects a bug, a fixed Perl script can be provided for UNIX users immediately but Windows users still depend on someone who provides new binaries. Though I like Perl very much I think that LuaTeX is quite great. It can be make things much more portable. Suppose that someone ports epstopdf to LuaTeX, then Windows users can update easily. There is one problem concerning how [pdf]TeX reads the command line. [pdf]TeX expects a filename and considers all arguments which come before the filename as options. It complains if an option is not known. However, options after the filename are accessible by TeX. Try the following file: getargs.tex __________________________________________________________________ \def\OptionPrefix{-} \newlinechar=`\^^J \def\echo#1{\message{^^J#1}} \def\car#1#2\\{#1}\def\cdr#1#2\\{#2} \def\DefineOption#1#2{\expandafter\def\csname:opt:#1\endcsname{#2}} \def\ProcessOption#1{\csname:opt:#1\endcsname} \def\ProcessFile#1{\echo{File: "#1"}} \def\TestOption#1{% \expandafter\ifx\csname:opt:#1\endcsname\relax \echo{Unknown Option "#1", ignored} \else \ProcessOption{#1} \fi } \def\GetArg#1 {\setbox0=\lastbox\endgraf \if\OptionPrefix\car#1\\ \edef\Arg{\cdr#1\\} \TestOption\Arg \else \ProcessFile{#1}\expandafter\end \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \DefineOption{abc}{\echo{Known Option "abc"}} \DefineOption{def}{\echo{Known Option "def"}} \everypar{\GetArg} __________________________________________________________________ When I say tex -abc getargs -def -uvw xyz I get: $ tex -abc getargs -def -uvw xyz tex: unrecognized option `-abc' This is TeX, Version 3.141592 (Web2C 7.5.4) (./getargs.tex) Known Option "def" Unknown Option "uvw", ignored File: "xyz" No pages of output. Transcript written on getargs.log. Though it is good that TeX makes all arguments available to TeX which come after the filename, there is a problem if getargs is a format file. In this case the command line looks like getargs -abc -def -uvw xyz and everything before "xyz" is lost. In other words, if you say epstopdf -hires myfile.eps TeX will complain epstopdf: unrecognized option `-hires.' How can this problem be fixed? The current behaviour of web2c is absolutely correct but I assume that LuaTeX users need a bit more. Is it possible to convince [pdf]TeX to ignore unknown options for particular format files by adding some lines to texmf.cnf similar to TEXINPUTS.latex = ... which disable commandline option checking and pass everything to TeX? Another point: It would be nice if LuaTeX allows shell-escapes. This might be regarded as beeing unsecure. What about having a list of trusted programs in texmf.cnf? Regards, Reinhard -- ---------------------------------------------------------------------------- Reinhard Kotucha Phone: +49-511-4592165 Marschnerstr. 25 D-30167 Hannover mailto:reinhard.kotucha@web.de ---------------------------------------------------------------------------- Microsoft isn't the answer. Microsoft is the question, and the answer is NO. ----------------------------------------------------------------------------