[tex-live] Fwd: Re: Error TL12 kpsewhich in ifxetex

Reinhard Kotucha reinhard.kotucha at web.de
Tue Jun 26 00:19:05 CEST 2012


On 2012-06-26 at 01:47:00 +0930, Will Robertson wrote:

 > \documentclass{article}
 > \makeatletter
 > \@@input"|kpsewhich -var-value=max_print_line"\relax
 > \makeatother
 > \begin{document}
 > \end{document}

Better

  \documentclass{article}
  \begin{document}
  \input"|kpsewhich -var-value=max_print_line"\relax
  \end{document}

because the pipe returns text which is typeset and thus should be
inside the document "environment".  ;)
 
The smallest file which shows the error is

  \input"|kpsewhich -var-value=max_print_line"\relax\bye

and can be run with etex instead of pdftex in order to keep
KPATHSEA_DEBUG output smaller (no fonts in DVI files).

 > I'm using some pre-release version of MacTeX 2012, and my console
 > output is:
 > 
 > This is pdfTeX, Version 3.1415926-2.4-1.40.13 (TeX Live 2012)

It works in TL 2007...2011 but not in TL 2012.  I fear it's broken
now.  Tested on x86_64-linux. 

BTW, TL 2007...2009 required --shell-escape but newer versions don't.
Just if anybody is wondering, it's because as of TL-2010 kpsewhich is
listed as a trusted command in texmf.cnf:

  kpsewhich --var-value=shell_escape_commands


It seems that (according to KPATHSEA_DEBUG) pdfTeX maintains pipes by
itself.  The last thing kpathsea does before the crash is to check the
value of openin_any:

  kdebug:hash_lookup(openin_any.etex) => (nil)
  kdebug:hash_lookup(openin_any) => a
  kdebug:variable: openin_any = a

  ! I can't find file `"|kpsewhich -var-value=max_print_line"'.
 
I first considered that Kpathsea could be involved too, but it doesn't
search for a file with this name, hence the error message must come
from pdfTeX itself.

I've sent a message to the pdfTeX mailing list.  Let's see...

What confuses me a bit is that KPATHSEA_DEBUG mentions the evaluation
of openin_any but it doesn't mention shell_escape_commands at all,
even in TL-2011, where this variable is obviously evaluated.


Zdeněk, input pipes were introduced in January 2007 (pdfTeX 1.40.0).

  http://tug.org/pipermail/pdftex/2007-January/006910.html

Curiously enough, it seems that this useful feature has never been
mentioned in the pdfTeX manual.

Regards,
  Reinhard

-- 
----------------------------------------------------------------------------
Reinhard Kotucha                                      Phone: +49-511-3373112
Marschnerstr. 25
D-30167 Hannover                              mailto:reinhard.kotucha at web.de
----------------------------------------------------------------------------
Microsoft isn't the answer. Microsoft is the question, and the answer is NO.
----------------------------------------------------------------------------



More information about the tex-live mailing list