summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/iexec
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-10-22 20:19:19 +0000
committerKarl Berry <karl@freefriends.org>2022-10-22 20:19:19 +0000
commit88d2bffffce48a354fe417e5b7a6ed77c1ffbc03 (patch)
tree1f16bb36dfa6179138d1f20dd09278e4ebbeca3f /Master/texmf-dist/tex/latex/iexec
parent87c57734b37c8530bbbbf6d06fade54708c923ca (diff)
iexec (22oct22)
git-svn-id: svn://tug.org/texlive/trunk@64779 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/iexec')
-rw-r--r--Master/texmf-dist/tex/latex/iexec/iexec.sty49
1 files changed, 32 insertions, 17 deletions
diff --git a/Master/texmf-dist/tex/latex/iexec/iexec.sty b/Master/texmf-dist/tex/latex/iexec/iexec.sty
index 401e8565c55..a4eb81f9966 100644
--- a/Master/texmf-dist/tex/latex/iexec/iexec.sty
+++ b/Master/texmf-dist/tex/latex/iexec/iexec.sty
@@ -31,7 +31,8 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{iexec}
-[2022-10-21 0.10.1 Inputable Shell Executions]
+[2022-10-22 0.11.0 Inputable Shell Executions]
+
@@ -60,6 +61,8 @@
\makeatletter\pgfkeys{
/iexec/.is family,
/iexec,
+ exit/.store in = \iexec@exit,
+ exit/.default = iexec.ret,
stdout/.store in = \iexec@stdout,
stdout/.default = iexec.tmp,
stderr/.store in = \iexec@stderr,
@@ -69,7 +72,7 @@
null/.store in = \iexec@null,
quiet/.store in = \iexec@quiet,
ignore/.store in = \iexec@ignore,
- stdout
+ stdout,exit
}\makeatother
\RequirePackage{expl3}
@@ -87,7 +90,7 @@
\ExplSyntaxOff\makeatother
\makeatletter
-\newread\iexec@retfile
+\newread\iexec@exitfile
\newcommand\iexec[2][]{%
\begingroup%
\pgfqkeys{/iexec}{#1}%
@@ -106,8 +109,8 @@
\def\iexec@cmd{(#2)
\ifdefined\iexec@append>\fi>
\ifdefined\iexec@null/dev/null\else\iexec@stdout\fi
- \space\ifdefined\iexec@stderr2>\iexec@stderr\else2>&1\fi
- \ifdefined\iexec@ignore\else; echo $? >iexec.ret\fi}
+ \space\ifdefined\iexec@stderr2>\iexec@stderr\else2>&1\fi;
+ /bin/echo -n $? >\iexec@exit}
\ShellEscape{\iexec@cmd}%
\ifdefined\iexec@log%
\message{iexec: [\iexec@cmd]^^J}%
@@ -119,12 +122,18 @@
\iexec@typeout{\iexec@stdout}%
\message{<EOF>^^J}%
\fi\fi%
- \ifdefined\iexec@log\else%
- \immediate\openin\iexec@retfile=iexec.ret%
- \read\iexec@retfile to \iexec@ret%
- \immediate\closein\iexec@retfile%
- \ifnum\iexec@ret=0\else%
- \PackageError{iexec}{Exit code is \iexec@ret}{}%
+ \immediate\openin\iexec@exitfile=\iexec@exit%
+ \read\iexec@exitfile to \iexec@code%
+ \immediate\closein\iexec@exitfile%
+ \ifnum\iexec@code=0\else%
+ \ifdefined\iexec@ignore%
+ \ifdefined\iexec@log%
+ \message{iexec: Execution failure ignored,
+ the exit code was \iexec@code^^J}%
+ \fi%
+ \else%
+ \PackageError{iexec}{Execution failure,
+ the exit code was \iexec@code}{}%
\fi%
\fi%
\ifdefined\iexec@null\else%
@@ -132,13 +141,13 @@
\ifdefined\iexec@log%
\message{iexec: Due to 'quiet' option we didn't read
the content of '\iexec@stdout'
- \ifdefined\pdffilesize(\pdffilesize{\iexec@stdout}
+ \ifdefined\pdffilesize (\pdffilesize{\iexec@stdout}
bytes)\fi^^J}%
\fi%
\else%
\ifdefined\iexec@log%
- \message{iexec: We include the content of
- '\iexec@stdout'\ifdefined\pdffilesize(\pdffilesize
+ \message{iexec: We are going to include the content of
+ '\iexec@stdout'\ifdefined\pdffilesize (\pdffilesize
{\iexec@stdout} bytes)\fi...^^J}%
\fi%
\input{\iexec@stdout}%
@@ -149,19 +158,25 @@
\ifiexec@trace%
\ifdefined\iexec@log%
\message{iexec: Due to package option 'trace',
- the file '\iexec@stdout' was not deleted^^J}%
+ the files '\iexec@stdout' and `\iexec@exit` were
+ not deleted^^J}%
\fi%
\else%
\ifdefined\iexec@traceit%
\ifdefined\iexec@log%
- \message{iexec: Due to 'trace' option,
- the file '\iexec@stdout' was not deleted^^J}%
+ \message{iexec: Due to 'trace' package option,
+ the files '\iexec@stdout' and '\iexec@exit'
+ were not deleted^^J}%
\fi%
\else%
\ShellEscape{rm \iexec@stdout}%
\ifdefined\iexec@log%
\message{iexec: The file '\iexec@stdout' was deleted^^J}%
\fi%
+ \ShellEscape{rm \iexec@exit}%
+ \ifdefined\iexec@log%
+ \message{iexec: The file '\iexec@exit' was deleted^^J}%
+ \fi%
\fi%
\fi\fi%
\endgroup