diff options
author | Karl Berry <karl@freefriends.org> | 2020-01-15 22:35:46 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-01-15 22:35:46 +0000 |
commit | 3096ebfe61cad0ae89dc34941a17c7b76b8e8f12 (patch) | |
tree | 65d1d2f1865e8cea4822b8aba24a8fb547318e4b /Master/texmf-dist/tex/latex-dev/tools/shellesc.sty | |
parent | ca06c2adc9964661159bbb5544ebdd1a8d620ac7 (diff) |
latex-tools-dev restoration
git-svn-id: svn://tug.org/texlive/trunk@53417 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex-dev/tools/shellesc.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex-dev/tools/shellesc.sty | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex-dev/tools/shellesc.sty b/Master/texmf-dist/tex/latex-dev/tools/shellesc.sty new file mode 100644 index 00000000000..49b8970f685 --- /dev/null +++ b/Master/texmf-dist/tex/latex-dev/tools/shellesc.sty @@ -0,0 +1,132 @@ +%% +%% This is file `shellesc.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% shellesc.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% The source is maintained by the LaTeX Project team and bug +%% reports for it can be opened at https://latex-project.org/bugs/ +%% (but please observe conditions on bug reports sent to that address!) +%% +%% +%% Copyright (C) 1993-2019 +%% The LaTeX3 Project and any individual authors listed elsewhere +%% in this file. +%% +%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'. +%% -------------------------------------------------------------------------- +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3c +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% https://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This file may only be distributed together with a copy of the LaTeX +%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle' +%% without such generated files. +%% +%% The list of all files belonging to the LaTeX `Tools Bundle' is +%% given in the file `manifest.txt'. +%% +%% Source File: shellesc.dtx +%% Copyright (C) 2015-2019 +%% +%% The LaTeX3 Project and any individual authors listed elsewhere +%% in this file. +%% +%% This file may be distributed under the terms of the LPPL. +%% See README for details. +\ifx\ProvidesPackage\undefined +\def\next#1#2[#3]{\wlog{#2 #3}} +\ifx\PackageInfo\undefined\def\PackageInfo#1#2{\wlog{#1: #2}}\fi +\ifx\PackageWarning\undefined\def\PackageWarning#1#2{\wlog{#1: #2}}\fi +\expandafter\next\fi +\ProvidesPackage{shellesc} + [2019/11/08 v1.0c unified shell escape interface for LaTeX] +\chardef\shellesc@quotecat\catcode`\" +\chardef\shellesc@underscorecat\catcode`\_ +\@makeother\" +\@makeother\_ +\chardef\ShellEscapeStatus + \ifx\pdfshellescape\@undefined + \ifx\shellescape\@undefined + \ifx\directlua\@undefined + \z@ + \else + \directlua{% + tex.sprint((status.shell_escape or os.execute()) .. " ")} + \fi + \else + \shellescape + \fi + \else + \pdfshellescape + \fi +\ifcase\ShellEscapeStatus + \PackageWarning{shellesc}{Shell escape disabled} +\or + \PackageInfo {shellesc}{Unrestricted shell escape enabled} +\else + \PackageInfo {shellesc}{Restricted shell escape enabled} +\fi +\ifx\lastsavedimageresourcepages\@undefined + \protected\def\ShellEscape{\immediate\write18 } +\else + \protected\def\ShellEscape{\directlua\ShellEscape@Lua} +\fi +\ifx\lastsavedimageresourcepages\@undefined + \protected\def\DelayedShellEscape{\relax\write18 } +\else + \protected\def\DelayedShellEscape{\latelua\ShellEscape@Lua} +\fi +\ifx\directlua\@undefined\else +\protected\def\ShellEscape@Lua#1{{% +local status, msg = os.execute("\luaescapestring{#1}")% +if status == nil then + texio.write_nl("log",% + "runsystem(" .. "\luaescapestring{#1}"% + .. ")...(" .. msg .. ")\string\n") + elseif status == 0 then + texio.write_nl("log",% + "runsystem(" .. "\luaescapestring{#1}"% + .. ")...executed\string\n") + else + texio.write_nl("log",% + "runsystem(" .. "\luaescapestring{#1}"% + .. ")...failed " .. (msg or "") .. "\string\n") + end +}} +\fi +\ifx\lastsavedimageresourcepages\@undefined + \catcode`\"\shellesc@quotecat + \catcode`\_\shellesc@underscorecat + \expandafter\endinput +\fi +\directlua{% +shellesc = shellesc or {} +local function write_or_execute() + local s = token.scan_int() + if (s==18) then + tex.sprint(\the\numexpr\catcodetable@atletter\relax, + "\string\\ShellEscape ") + else + tex.sprint(\the\numexpr\catcodetable@atletter\relax, + "\string\\shellesc@write " .. s) + end +end +shellesc.write_or_execute=write_or_execute +} +\let\shellesc@write\write +\protected\def\write{\directlua{shellesc.write_or_execute()}} +\catcode`\"\shellesc@quotecat +\catcode`\_\shellesc@underscorecat +\endinput +%% +%% End of file `shellesc.sty'. |