summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/iexec
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-01-08 21:35:47 +0000
committerKarl Berry <karl@freefriends.org>2022-01-08 21:35:47 +0000
commite20ffca55d8295daca2e358aecccb6959204d17d (patch)
tree517a30fa437d36b3b97cf1945727b32a143e46c2 /Master/texmf-dist/tex/latex/iexec
parent01dd06d5c332be293f7fab60a3308d3d9675d10e (diff)
iexec (8jan22)
git-svn-id: svn://tug.org/texlive/trunk@61539 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/iexec')
-rw-r--r--Master/texmf-dist/tex/latex/iexec/iexec.sty54
1 files changed, 40 insertions, 14 deletions
diff --git a/Master/texmf-dist/tex/latex/iexec/iexec.sty b/Master/texmf-dist/tex/latex/iexec/iexec.sty
index a96f41b0046..a15cd50942a 100644
--- a/Master/texmf-dist/tex/latex/iexec/iexec.sty
+++ b/Master/texmf-dist/tex/latex/iexec/iexec.sty
@@ -21,29 +21,55 @@
% SOFTWARE.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{iexec}[2022/01/02 0.4.1 Inputable Shell Executions]
+\ProvidesPackage{iexec}[2022/01/08 0.5.0 Inputable Shell Executions]
\RequirePackage{shellesc}
-
+\RequirePackage{pgfkeys}
\RequirePackage{xkeyval}
+
\makeatletter\newif\ifiexec@trace
\DeclareOptionX{trace}{\iexec@tracetrue}
\ProcessOptionsX\relax\makeatother
-\makeatletter\newcommand\iexec[2][iexec.tmp]{%
- \ifnum\pdfshellescape=1\else
- \PackageError{iexec}{You must run latex with --shell-escape option}{}
- \fi
+\makeatletter\pgfkeys{
+ /iexec/.is family,
+ /iexec,
+ stdout/.estore in = \iexec@stdout,
+ stdout/.default = iexec.tmp,
+ trace/.estore in = \iexec@traceit,
+ quiet/.estore in = \iexec@quiet,
+ stdout
+}\makeatother
+
+\makeatletter\newcommand\iexec[2][]{%
+ \pgfkeys{/iexec, #1}%
+ \ifnum\pdfshellescape=1\else%
+ \PackageError{iexec}{You must run latex with --shell-escape option}{}%
+ \fi%
\begingroup%
- \let\%\@percentchar%
- \let\\\@backslashchar%
- \let\{\@charlb%
- \let\}\@charrb%
- \ShellEscape{#2 > #1}%
- \message{iexec: [#2 > #1]}%
+ \let\%\@percentchar%
+ \let\\\@backslashchar%
+ \let\{\@charlb%
+ \let\}\@charrb%
+ \ShellEscape{#2 > \iexec@stdout}%
+ \message{iexec: [#2 > \iexec@stdout]}%
\endgroup%
- \input{#1}%
- \ifiexec@trace\else\ShellEscape{rm #1}\fi%
+ \ifdefined\iexec@quiet
+ \message{iexec: Due to 'quiet' we didn't read the content of '\iexec@stdout'}%
+ \else%
+ \input{\iexec@stdout}%
+ \message{iexec: The content of '\iexec@stdout' was included into the document}%
+ \fi%
+ \ifiexec@trace%
+ \message{iexec: Due to package option 'trace', the file '\iexec@stdout' was not deleted}%
+ \else%
+ \ifdefined\iexec@traceit%
+ \message{iexec: Due to 'trace' option, the file '\iexec@stdout' was not deleted}%
+ \else%
+ \ShellEscape{rm \iexec@stdout}%
+ \message{iexec: The file '\iexec@stdout' was deleted}%
+ \fi%
+ \fi%
}\makeatother
\endinput