<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On 8 June 2016 at 06:56, Norbert Preining <span dir="ltr"><<a href="mailto:preining@logic.at" target="_blank">preining@logic.at</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi David,<br>
<span class=""><br>
> The first line is<br>
><br>
> \ifx\ProvidesPackage\undefined<br>
<br>
</span>That does not suffice:<br>
[~] pdftex<br>
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) (preloaded format=pdftex)<br>
 restricted \write18 enabled.<br>
**\relax<br>
entering extended mode<br>
<br>
*\input shellesc.sty<br>
(/home/norbert/tl/2016/texmf-dist/tex/latex/tools/shellesc.sty<br>
<span class="">! Undefined control sequence.<br>
l.67   \PackageInfo<br>
                      {shellesc}{Restricted shell escape ensabled}<br>
?<br>
<br>
<br>
</span>All the best<br>
<div class=""><div class="h5"><br>
Norbert<br></div></div></blockquote></div><br clear="all"><br></div><div class="gmail_extra">yes sorry, that's why it was there, but as Joseph also commented, it isn't enough.<br></div><div class="gmail_extra">I've fixed that in the latex svn yesterday after your message.<br><br><a href="https://latex-project.org/svnroot/latex2e-public/trunk/required/tools/">https://latex-project.org/svnroot/latex2e-public/trunk/required/tools/</a><br><br></div><div class="gmail_extra">so you could now go <br><br></div><div class="gmail_extra">\catcode`@=11 \input shellesc.sty <br><br></div><div class="gmail_extra">in (extended) plain tex (needs \protected still as I haven't guarded that)<br><br></div><div class="gmail_extra">I could guard guard \protected and the catcode of @ but really I think it isn't worth it, the actual code needed is one ifx and a couple of def so adding too much code to guard latex constructs for plain tex seems out of proportion.<br><br></div><div class="gmail_extra">overloading \write to check for 18 is just a short term compatibility hack to ease the changeover, and I plan to add an option to shellesc not to do it, so the real code you need is just a switch between write18 and os.execute so something like<br><br>\ifx\lastsavedimageresourcepages\undefined<br>  \protected\def\ShellEscape{\immediate\write18 }<br>\else<br>  \protected\def\ShellEscape#1{%<br>    \directlua{os.execute("\luaescapestring{#1}")}}<br>\fi<br><br></div><div class="gmail_extra">and defining that in plain is (even with the changes I just made) is simpler than loading shellesc.sty <br><br></div><div class="gmail_extra">David<br><br></div></div>