diff options
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/iexec/iexec.sty | 74 |
1 files changed, 52 insertions, 22 deletions
diff --git a/Master/texmf-dist/tex/latex/iexec/iexec.sty b/Master/texmf-dist/tex/latex/iexec/iexec.sty index 4eca7db498a..401e8565c55 100644 --- a/Master/texmf-dist/tex/latex/iexec/iexec.sty +++ b/Master/texmf-dist/tex/latex/iexec/iexec.sty @@ -31,7 +31,7 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{iexec} -[2022-10-15 0.9.1 Inputable Shell Executions] +[2022-10-21 0.10.1 Inputable Shell Executions] @@ -68,6 +68,7 @@ log/.store in = \iexec@log, null/.store in = \iexec@null, quiet/.store in = \iexec@quiet, + ignore/.store in = \iexec@ignore, stdout }\makeatother @@ -85,15 +86,19 @@ } \ExplSyntaxOff\makeatother -\makeatletter\newcommand\iexec[2][]{% - \begingroup +\makeatletter +\newread\iexec@retfile +\newcommand\iexec[2][]{% + \begingroup% \pgfqkeys{/iexec}{#1}% \ifnum\ShellEscapeStatus=1\else% \PackageError{iexec}{You must run TeX processor with --shell-escape option}{}% \fi% \begingroup% - \message{^^J}% + \ifdefined\iexec@log% + \message{^^J}% + \fi% \let\%\@percentchar% \let\\\@backslashchar% \let\{\@charlb% @@ -101,44 +106,69 @@ \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} + \space\ifdefined\iexec@stderr2>\iexec@stderr\else2>&1\fi + \ifdefined\iexec@ignore\else; echo $? >iexec.ret\fi} \ShellEscape{\iexec@cmd}% - \message{iexec: [\iexec@cmd]^^J}% + \ifdefined\iexec@log% + \message{iexec: [\iexec@cmd]^^J}% + \fi% \endgroup% - \ifdefined\iexec@null\else - \ifdefined\iexec@log - \message{iexec: this is the content of \iexec@stdout:^^J}% - \iexec@typeout{\iexec@stdout} + \ifdefined\iexec@null\else% + \ifdefined\iexec@log% + \message{iexec: This is the content of \iexec@stdout:^^J}% + \iexec@typeout{\iexec@stdout}% \message{<EOF>^^J}% \fi\fi% - \ifdefined\iexec@null\else - \ifdefined\iexec@quiet - \message{iexec: Due to 'quiet' option we didn't read - the content of '\iexec@stdout' (\pdffilesize{} bytes)^^J}% + \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}{}% + \fi% + \fi% + \ifdefined\iexec@null\else% + \ifdefined\iexec@quiet% + \ifdefined\iexec@log% + \message{iexec: Due to 'quiet' option we didn't read + the content of '\iexec@stdout' + \ifdefined\pdffilesize(\pdffilesize{\iexec@stdout} + bytes)\fi^^J}% + \fi% \else% - \message{iexec: We include the content of - '\iexec@stdout' (\pdffilesize{} bytes)...^^J}% + \ifdefined\iexec@log% + \message{iexec: We include the content of + '\iexec@stdout'\ifdefined\pdffilesize(\pdffilesize + {\iexec@stdout} bytes)\fi...^^J}% + \fi% \input{\iexec@stdout}% \message{iexec: The content of '\iexec@stdout' was included into the document^^J}% \fi\fi% - \ifdefined\iexec@null\else + \ifdefined\iexec@null\else% \ifiexec@trace% - \message{iexec: Due to package option 'trace', - the file '\iexec@stdout' was not deleted^^J}% + \ifdefined\iexec@log% + \message{iexec: Due to package option 'trace', + the file '\iexec@stdout' was not deleted^^J}% + \fi% \else% \ifdefined\iexec@traceit% - \message{iexec: Due to 'trace' option, - the file '\iexec@stdout' was not deleted^^J}% + \ifdefined\iexec@log% + \message{iexec: Due to 'trace' option, + the file '\iexec@stdout' was not deleted^^J}% + \fi% \else% \ShellEscape{rm \iexec@stdout}% - \message{iexec: The file '\iexec@stdout' was deleted^^J}% + \ifdefined\iexec@log% + \message{iexec: The file '\iexec@stdout' was deleted^^J}% + \fi% \fi% \fi\fi% \endgroup }\makeatother + \endinput %% %% End of file `iexec.sty'. |