summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-06-24 21:51:50 +0000
committerKarl Berry <karl@freefriends.org>2022-06-24 21:51:50 +0000
commit0011b6b38cc71f0b81f926200aa8cabe84ae8371 (patch)
tree78dad34df6c0fc3908d0e6d1e0821b67125b429c /Master
parent49eb2d79fccd3635979501f993bd2baeb13c731b (diff)
hvextern (24jun22)
git-svn-id: svn://tug.org/texlive/trunk@63711 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/hvextern/Changes2
-rw-r--r--Master/texmf-dist/doc/latex/hvextern/hvextern.pdfbin1425940 -> 1417949 bytes
-rw-r--r--Master/texmf-dist/doc/latex/hvextern/hvextern.tex21
-rwxr-xr-xMaster/texmf-dist/tex/latex/hvextern/hvextern-checkfile.lua42
-rw-r--r--Master/texmf-dist/tex/latex/hvextern/hvextern.sty48
5 files changed, 93 insertions, 20 deletions
diff --git a/Master/texmf-dist/doc/latex/hvextern/Changes b/Master/texmf-dist/doc/latex/hvextern/Changes
index 73630cf1873..422e5ce8942 100644
--- a/Master/texmf-dist/doc/latex/hvextern/Changes
+++ b/Master/texmf-dist/doc/latex/hvextern/Changes
@@ -1,5 +1,7 @@
hvextern.sty ----------------
+v 0.32 2022-06-23 - fixed introduced bug
+ - added checkCode also for pdflatex and xelatex
v 0.31 2022-06-20 - added package option checkCode to run the external
file only if the code changes.
v 0.30 2022-06-09 - added \hfuzz=\maxdimen for filename to prevent
diff --git a/Master/texmf-dist/doc/latex/hvextern/hvextern.pdf b/Master/texmf-dist/doc/latex/hvextern/hvextern.pdf
index 6e11028f20f..6213f9215f8 100644
--- a/Master/texmf-dist/doc/latex/hvextern/hvextern.pdf
+++ b/Master/texmf-dist/doc/latex/hvextern/hvextern.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/hvextern/hvextern.tex b/Master/texmf-dist/doc/latex/hvextern/hvextern.tex
index d3f81f74472..5971c047445 100644
--- a/Master/texmf-dist/doc/latex/hvextern/hvextern.tex
+++ b/Master/texmf-dist/doc/latex/hvextern/hvextern.tex
@@ -44,10 +44,10 @@ from within a main\newline \LaTeX\ document~--v. \hvexternFileversion}
\usepackage[Option]{hvextern}
\end{verbatim}
-There exists only one option \Loption{checkCode} which is only valid
-for the use of \LuaLaTeX. In this case an already existing external file will only be compiled, if the
-code changed. This dosn't depends on the setting of the option \Lkeyword{force}.
-The package option will speed up the compilation time.
+There exists only one option \Loption{checkCode} which is valid
+for all \TeX-compiler. In this case an already existing external file will only be compiled, if the
+external code changed. This dosn't depends on the setting of the option \Lkeyword{force}.
+\Loption{checkCode} can speed up the compilation time.
\section{Syntax}
@@ -1832,6 +1832,19 @@ to get the directory listed:
\runExtCmd[redirect,verbose]{ls -la}{voss}
+\begin{verbatim}
+\runExtCmd[redirect,verbose,lstOptions={basicstyle=\ttfamily\small}]{df}{voss}
+\end{verbatim}
+
+
+
+\medskip
+\runExtCmd[redirect,verbose,lstOptions={basicstyle=\ttfamily\footnotesize}]{df}{voss}
+
+
+
+
+
\section{Other options}
\begin{description}
diff --git a/Master/texmf-dist/tex/latex/hvextern/hvextern-checkfile.lua b/Master/texmf-dist/tex/latex/hvextern/hvextern-checkfile.lua
new file mode 100755
index 00000000000..627f86d6bb8
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/hvextern/hvextern-checkfile.lua
@@ -0,0 +1,42 @@
+#!/usr/bin/env texlua
+-----------------------------------------------------------------------
+-- FILE: hvextern-checkfile.lua
+-- DESCRIPTION: check two files for identical code
+-- REQUIREMENTS:
+-- AUTHOR: Herbert Voß
+-- LICENSE: LPPL1.3
+--
+-- $Id: hvextern.lua 578 2022-06-20 16:41:45Z herbert $
+-----------------------------------------------------------------------
+kpse.set_program_name("luatex")
+
+local f = kpse.find_file("hvextern.lua")
+require('hvextern')
+
+--[[
+function GetFileContents(f1,f2)
+ local NewContents, OldContents
+ local File = io.open(f1)
+ if File then
+ NewContents = File:read('*all')
+ File:close()
+ end
+ local File = io.open(f2)
+ if File then
+ OldContents = File:read('*all')
+ File:close()
+ end
+ return NewContents == OldContents
+end
+]]
+
+local f1 = arg[1]
+local f2 = arg[2]
+diffFile = io.open(f1..".diff","w+")
+if GetFileContents(f1,f2) then
+ diffFile:write("\\let\\hvCheckNewFile\\empty")
+else
+ diffFile:write("\\def\\hvCheckNewFile{Code changes}")
+end
+diffFile:close()
+
diff --git a/Master/texmf-dist/tex/latex/hvextern/hvextern.sty b/Master/texmf-dist/tex/latex/hvextern/hvextern.sty
index a7340a2f12c..bf769253083 100644
--- a/Master/texmf-dist/tex/latex/hvextern/hvextern.sty
+++ b/Master/texmf-dist/tex/latex/hvextern/hvextern.sty
@@ -1,4 +1,4 @@
-%% $Id: hvextern.sty 577 2022-06-20 16:35:21Z herbert $
+%% $Id: hvextern.sty 579 2022-06-20 19:23:29Z herbert $
%% This is file `hvextern.sty',
%%
%% Copyright (C) 2016-22
@@ -12,8 +12,8 @@
%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
-\def\hvexternFileversion{0.31}
-\ProvidesFile{hvextern}[2022/06/20 v\hvexternFileversion: package for running external documents (HV)]
+\def\hvexternFileversion{0.32}
+\ProvidesFile{hvextern}[2022/06/23 v\hvexternFileversion: package for running external documents (HV)]
\newif\ifhv@extern@checkCode
\hv@extern@checkCodefalse
@@ -190,15 +190,15 @@
\ResetKeys
-\ifluatex
- \ifhv@extern@checkCode
+\ifhv@extern@checkCode
+ \ifluatex
\hv@ex@typeout{Loading hvextern.lua}%
- \directlua{dofile("hvextern.lua")}%
- \fi
-\else
- \ifhv@extern@checkCode
- \hv@ex@typeout{You need lualatex for option checkCode. Will disable the option!}%
- \hv@extern@checkCodefalse
+ \directlua{kpse.set_program_name("luatex")require "hvextern.lua" }%
+ \else
+ \ifhv@extern@checkCode
+ \hv@ex@typeout{Using xelatex or pdflatex! Will use a temporary file for diff}%
+% \hv@extern@checkCodefalse
+ \fi
\fi
\fi
@@ -445,12 +445,27 @@
\expandafter\hvExternSetKeys\expandafter{\hv@extern@savePara}%
\xdef\hv@extern@fullPath{\hv@extern@ExamplesDir\hvExternDateiname}%
\ifhv@extern@checkCode
- \directlua{if GetFileContents("\hvExternDateiname\hv@extern@ext",
+ \ifluatex
+ \directlua{if GetFileContents("\hvExternDateiname\hv@extern@ext",
"\hv@extern@ExamplesDir\hvExternDateiname\hv@extern@ext") then
tex.print("\\csname hv@ex@typeout\\endcsname{current file is NOT newer: no run }\\global\\csname hv@extern@forcefalse\\endcsname")
else
tex.print("\\csname hv@ex@typeout\\endcsname{current file is newer: force run }\\global\\csname hv@extern@forcetrue\\endcsname")
- end}
+ end}%
+ \else
+ \hv@ex@typeout{Check, if new file has a different code}%
+ \ShellEscape{hvextern-checkfile "\hvExternDateiname\hv@extern@ext"
+ "\hv@extern@ExamplesDir\hvExternDateiname\hv@extern@ext"}%
+ \InputIfFileExists{\hvExternDateiname\hv@extern@ext.diff}{}{}%
+ \ifx\hvCheckNewFile\empty
+ \hv@ex@typeout{current file is NOT newer: no run }%
+ \global\hv@extern@forcefalse
+ \else
+ \hv@ex@typeout{current file is newer: force run }%
+ \global\hv@extern@forcetrue
+ \fi
+ \ifhv@extern@verbose\else\ShellEscape{\hv@rm \hvExternDateiname\hv@extern@ext.diff}\fi
+ \fi
\fi
\ifhv@extern@force
\ifx\hv@extern@runsequence\@empty
@@ -645,7 +660,7 @@
\newcommand\runExtCmd[3][]{%
\begingroup
- \setkeys{hv}{code=false,includegraphic=false,#1}%
+ \setkeys{hv}{cleanup={},code=false,includegraphic=false,#1}%
\xdef\hvExternDateiname{#3-\arabic{hv@example@counter}}%
\xdef\hv@extern@fullPath{\hv@extern@ExamplesDir\hvExternDateiname}%
\hv@ex@typeout{running #2}%
@@ -697,7 +712,7 @@
\ifhv@extern@usefancyvrb
\expandafter\BodyVerbatim\expandafter[\hv@extern@lstOptions]{\hv@extern@fullPath.txt}
\else
- \expandafter\BodyListing\expandafter[\hv@extern@lstOptions]{\hv@extern@fullPath.txt}
+ \expandafter\BodyListing\expandafter[\hv@extern@lstOptions,breakatwhitespace]{\hv@extern@fullPath.txt}
\fi
\ifx\hv@extern@caption\@empty\else\caption{\hv@extern@caption}\fi
\ifx\hv@extern@label\@empty\else\label{\hv@extern@label}\fi
@@ -707,7 +722,8 @@
\ifhv@extern@usefancyvrb
\expandafter\BodyVerbatim\expandafter[\hv@extern@lstOptions]{\hv@extern@fullPath.txt}
\else
- \expandafter\BodyListing\expandafter[\hv@extern@lstOptions]{\hv@extern@fullPath.txt}
+ \hv@extern@tcboxfalse
+ \expandafter\BodyListing\expandafter[\hv@extern@lstOptions,breaklines,breakatwhitespace]{\hv@extern@fullPath.txt}
\fi
\fi
\fi