summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-11-06 22:12:38 +0000
committerKarl Berry <karl@freefriends.org>2019-11-06 22:12:38 +0000
commit7c55167ecf36309f45793303eea23651cb983f12 (patch)
tree11c014344f975231c0cb0ed300b892849a481db8 /Master/texmf-dist/source
parent7b810bfb3e61d6cd1564c490490d6d005dd64813 (diff)
l2e (6nov19)
git-svn-id: svn://tug.org/texlive/trunk@52656 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r--Master/texmf-dist/source/latex/base/classes.dtx10
-rw-r--r--Master/texmf-dist/source/latex/base/doc.dtx24
-rw-r--r--Master/texmf-dist/source/latex/base/ltdirchk.dtx45
-rw-r--r--Master/texmf-dist/source/latex/base/ltfiles.dtx23
-rw-r--r--Master/texmf-dist/source/latex/base/ltluatex.dtx25
-rw-r--r--Master/texmf-dist/source/latex/base/ltmiscen.dtx42
-rw-r--r--Master/texmf-dist/source/latex/base/ltvers.dtx2
-rw-r--r--Master/texmf-dist/source/latex/graphics/graphics.dtx55
-rw-r--r--Master/texmf-dist/source/latex/tools/shellesc.dtx82
-rw-r--r--Master/texmf-dist/source/latex/tools/varioref.dtx9
-rw-r--r--Master/texmf-dist/source/latex/tools/xr.dtx2
11 files changed, 244 insertions, 75 deletions
diff --git a/Master/texmf-dist/source/latex/base/classes.dtx b/Master/texmf-dist/source/latex/base/classes.dtx
index 9fed94dfdd9..1de8095a6e1 100644
--- a/Master/texmf-dist/source/latex/base/classes.dtx
+++ b/Master/texmf-dist/source/latex/base/classes.dtx
@@ -53,7 +53,7 @@
%<*driver>
\ProvidesFile{classes.drv}
%</driver>
- [2019/08/27 v1.4j
+ [2019/10/25 v1.4k
%<article|report|book> Standard LaTeX document class]
%<10pt|11pt|12pt> Standard LaTeX file (size option)]
% \end{macrocode}
@@ -611,9 +611,13 @@
\normalsize
% \end{macrocode}
% We use |\MakeRobust| instead of |\DeclareRobustCommand| above to avoid a log
-% entry for the redefinition.
+% entry for the redefinition. But if we are running in in a rollback situation
+% (prior to 2015) we don't touch it.
+% \changes{v1.4k}{2019/10/25}{Roll back handling (gh/201)}
% \begin{macrocode}
-\MakeRobust\normalsize
+\ifx\MakeRobust\@undefined \else
+ \MakeRobust\normalsize
+\fi
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex/base/doc.dtx b/Master/texmf-dist/source/latex/base/doc.dtx
index 971bb6053eb..70e70a0de24 100644
--- a/Master/texmf-dist/source/latex/base/doc.dtx
+++ b/Master/texmf-dist/source/latex/base/doc.dtx
@@ -35,7 +35,7 @@
%<+package|shortvrb>\NeedsTeXFormat{LaTeX2e}[1994/12/01]
%<+package> \ProvidesPackage{doc}
%<+shortvrb>\ProvidesPackage{shortvrb}
-%<+package|shortvrb> [2018/09/25 v2.1i
+%<+package|shortvrb> [2019/11/03 v2.1j
%<+package|shortvrb> Standard LaTeX documentation package (FMi)]
%\catcode`\<=12
%
@@ -139,7 +139,7 @@
% \changes{v1.9t}{1995/05/11}{Use \cs{GetFileInfo}}
% \GetFileInfo{doc.sty}
%
-% \CheckSum{2206} ^^A % keep the checksum in this file
+% \CheckSum{2207} ^^A % keep the checksum in this file
%
% \title{The \DOC{} and \texttt{shortvrb} Packages\thanks
% {This file has version number \fileversion{} dated \filedate{}.}}
@@ -2000,6 +2000,11 @@
% |\MacroFont|.
% \begin{macrocode}
\def\verbatim{\@beginparpenalty \predisplaypenalty \@verbatim
+% \end{macrocode}
+%
+% \changes{v2.1j}{2019/11/03}{Kernel now sets up \cs{verbvisiblespace} (gh/205)}
+% \begin{macrocode}
+ \@setupverbvisiblespace
\MacroFont \frenchspacing \@vobeyspaces \@xverbatim}
% \end{macrocode}
% We deal in a similar way with the star form of this environment.
@@ -2121,13 +2126,14 @@
% \changes{v1.8b}{1993/09/21}{Changed to conform to new LaTeX verbatim,
% which has better error trapping.}
% See \cite{art:verbatim} for commentary.
-% \begin{macrocode}
-\def\@sverb#1{%
- \catcode`#1\active \lccode`\~`#1%
- \gdef\verb@balance@group{\verb@egroup
- \@latex@error{Illegal use of \noexpand\verb command}\@ehc}%
- \aftergroup\verb@balance@group
- \lowercase{\let~\verb@egroup}}
+% \changes{v2.1j}{2019/11/03}{Use the kernel definition, no change needed (gh/205)}
+% \begin{macrocode}
+%\def\@sverb#1{%
+% \catcode`#1\active \lccode`\~`#1%
+% \gdef\verb@balance@group{\verb@egroup
+% \@latex@error{Illegal use of \noexpand\verb command}\@ehc}%
+% \aftergroup\verb@balance@group
+% \lowercase{\let~\verb@egroup}}
% \end{macrocode}
% \end{macro}
%
diff --git a/Master/texmf-dist/source/latex/base/ltdirchk.dtx b/Master/texmf-dist/source/latex/base/ltdirchk.dtx
index b9db177f195..744759f3176 100644
--- a/Master/texmf-dist/source/latex/base/ltdirchk.dtx
+++ b/Master/texmf-dist/source/latex/base/ltdirchk.dtx
@@ -37,7 +37,7 @@
%<*driver>
% \fi
\ProvidesFile{ltdirchk.dtx}
- [2016/10/15 v1.2b LaTeX Kernel (System Dependent Parts)]
+ [2019/11/01 v1.3a LaTeX Kernel (System Dependent Parts)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltdirchk.dtx}
@@ -918,14 +918,43 @@
%
% |\filename@simple| is used by all three versions.
% Finally we can split off the extension.
+% \changes{v1.3a}{2019/11/01}
+% {take last . not first}
% \begin{macrocode}
- \def\filename@simple#1.#2\\{%
- \ifx\\#2\\%
- \let\filename@ext\relax
- \else
- \edef\filename@ext{\filename@dot#2\\}%
- \fi
- \edef\filename@base{#1}}
+%</dircheck>
+%<*dircheck,latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}{\filename@simple}
+%<latexrelease> {Final dot for extension}%
+\def\filename@simple#1.#2\\{%
+ \ifx\\#2\\%
+ \let\filename@ext\relax
+ \edef\filename@base{#1}%
+ \else
+ \filename@dots{#1}#2\\%
+ \fi}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\filename@dots#1#2.#3\\{%
+ \ifx\\#3\\%
+ \def\filename@ext{#2}%
+ \edef\filename@base{#1}%
+ \else
+ \filename@dots{#1.#2}#3\\%
+ \fi}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}{\filename@simple}
+%<latexrelease> {Final dot for extension}%
+%<latexrelease> \def\filename@simple#1.#2\\{%
+%<latexrelease> \ifx\\#2\\%
+%<latexrelease> \let\filename@ext\relax
+%<latexrelease> \else
+%<latexrelease> \edef\filename@ext{\filename@dot#2\\}%
+%<latexrelease> \fi
+%<latexrelease> \edef\filename@base{#1}}
+%<latexrelease>\EndIncludeInRelease
+%</dircheck,latexrelease>
+%<*dircheck>
% \end{macrocode}
%
% Remove a final dot, added earlier.
diff --git a/Master/texmf-dist/source/latex/base/ltfiles.dtx b/Master/texmf-dist/source/latex/base/ltfiles.dtx
index a2037e221f1..d0d33a4c717 100644
--- a/Master/texmf-dist/source/latex/base/ltfiles.dtx
+++ b/Master/texmf-dist/source/latex/base/ltfiles.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfiles.dtx}
- [2019/10/11 v1.2c LaTeX Kernel (File Handling)]
+ [2019/10/26 v1.2d LaTeX Kernel (File Handling)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfiles.dtx}
@@ -714,6 +714,7 @@
%
% \changes{v1.2a}{2019/07/01}{Support UTF-8}
% \changes{v1.2c}{2019/10/11}{Remove one brace group}
+% \changes{v1.2d}{2019/10/26}{remove quotes}
% \begin{macrocode}
%</2ekernel>
%<*2ekernel|latexrelease>
@@ -722,7 +723,9 @@
\def\set@curr@file#1{%
\begingroup
\escapechar\m@ne
- \xdef\@curr@file{\expandafter\string\csname\@firstofone#1\@empty\endcsname}%
+ \xdef\@curr@file{%
+ \expandafter\string
+ \csname\expandafter\unquote@name\expandafter{\@firstofone#1\@empty}\endcsname}%
\endgroup
}
% \end{macrocode}
@@ -758,11 +761,11 @@
%
% \changes{v1.2a}{2019/07/01}{Support UTF-8}
% \changes{v1.2b}{2019/08/27}{Make command robust}
+% \changes{v1.2d}{2019/10/26}{dont quote name}
% \begin{macrocode}
\DeclareRobustCommand\IfFileExists[1]{%
\set@curr@file{#1}%
- \edef\q@curr@file{\expandafter\quote@name\expandafter{\@curr@file}}%
- \expandafter\IfFileExists@\expandafter{\q@curr@file}}
+ \expandafter\IfFileExists@\expandafter{\@curr@file}}
% \end{macrocode}
% \end{macro}
%
@@ -770,10 +773,11 @@
% \changes{v0.9b}{1993/12/04}{Macro added}
% \changes{v0.9p}{1994/01/18}{New Definition}
% \changes{v1.0t}{1995/05/25}{(CAR) added \cs{long}}
-%
+% \changes{v1.2d}{2019/10/26}{quote on openin}%
+% Argument |#1| is |\@curr@file| so catcode 12 string with no quotes.
% \begin{macrocode}
\long\def \IfFileExists@#1#2#3{%
- \openin\@inputcheck#1 %
+ \openin\@inputcheck"#1" %
\ifeof\@inputcheck
\ifx\input@path\@undefined
\def\reserved@a{#3}%
@@ -782,7 +786,7 @@
\fi
\else
\closein\@inputcheck
- \edef\@filef@und{#1 }%
+ \edef\@filef@und{"#1" }%
\def\reserved@a{#2}%
\fi
\reserved@a}
@@ -834,14 +838,15 @@
% {(CAR) added \cs{long}}
% \changes{v1.1d}{1996/01/10}
% {Change argument handling to not require doubled hash. latex/2024}
+% \changes{v1.2d}{2019/10/26}{quote on openin}%
% \begin{macrocode}
\long\def\@iffileonpath#1{%
\let\reserved@a\@secondoftwo
\expandafter\@tfor\expandafter\reserved@b\expandafter
:\expandafter=\input@path\do{%
- \openin\@inputcheck\reserved@b#1 %
+ \openin\@inputcheck\expandafter\quote@name\expandafter{\reserved@b#1} %
\ifeof\@inputcheck\else
- \edef\@filef@und{\reserved@b#1 }%
+ \edef\@filef@und{"\reserved@b#1" }%
\let\reserved@a\@firstoftwo%
\closein\@inputcheck
\@break@tfor
diff --git a/Master/texmf-dist/source/latex/base/ltluatex.dtx b/Master/texmf-dist/source/latex/base/ltluatex.dtx
index a043b484360..41f2344a373 100644
--- a/Master/texmf-dist/source/latex/base/ltluatex.dtx
+++ b/Master/texmf-dist/source/latex/base/ltluatex.dtx
@@ -1,17 +1,21 @@
% \iffalse meta-comment
%
-% Copyright 2015 2017 2018
+% Copyright (C) 2015-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
-% It may be distributed and/or modified under the conditions of
-% the LaTeX Project Public License (LPPL), either version 1.3c of
-% this license or (at your option) any later version. The latest
-% version of this license is in the file:
-%
-% https://www.latex-project.org/lppl.txt
+% This file is part of the LaTeX base system.
+% -------------------------------------------
%
+% 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 2008 or later.
%
+% This file has the LPPL maintenance status "maintained".
%
%<2ekernel>%%% From File: ltluatex.dtx
%<plain>\ifx\newluafunction\undefined\else\expandafter\endinput\fi
@@ -24,7 +28,7 @@
\ProvidesFile{ltluatex.dtx}
%</driver>
%<*tex>
-[2018/10/21 v1.1i
+[2019/10/22 v1.1j
%</tex>
%<plain> LuaTeX support for plain TeX (core)
%<*tex>
@@ -1361,11 +1365,12 @@ local callbacktypes = callbacktypes or {
% Section 8.6: PDF-related callbacks.
% \changes{v1.1j}{2019/06/18}{page\_objnum\_provider added}
% \changes{v1.1j}{2019/06/18}{process\_pdf\_image\_content added}
+% \changes{v1.1j}{2019/10/22}{page\_objnum\_provider and process\_pdf\_image\_content classified data}
% \begin{macrocode}
finish_pdffile = data,
finish_pdfpage = data,
- page_objnum_provider = simple,
- process_pdf_image_content = simple,
+ page_objnum_provider = data,
+ process_pdf_image_content = data,
% \end{macrocode}
% Section 8.7: font-related callbacks.
% \changes{v1.1e}{2017/03/28}{glyph\_stream\_provider added}
diff --git a/Master/texmf-dist/source/latex/base/ltmiscen.dtx b/Master/texmf-dist/source/latex/base/ltmiscen.dtx
index 8cd61207514..2a88438dee1 100644
--- a/Master/texmf-dist/source/latex/base/ltmiscen.dtx
+++ b/Master/texmf-dist/source/latex/base/ltmiscen.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltmiscen.dtx}
- [2019/08/29 v1.1p LaTeX Kernel (Misc. Environments)]
+ [2019/10/25 v1.1q LaTeX Kernel (Misc. Environments)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltmiscen.dtx}
@@ -370,17 +370,7 @@
% percent. The result is saved in \cs{@temptokena} for later use.
% \changes{v1.1n}{2018/09/26}{Sometimes mask the endline char when
% writing to files (github/73)}
-% \begin{macrocode}
-\begingroup
-\catcode`\%=12
-% \end{macrocode}
-% \texttt{latexrelease} will read this code in high-speed
-% mode in certain situations. During that it will only look for
-% \cs{if} tests but not actually execute the \cs{catcode} change
-% above. As a result it will drop anything after the |%| character
-% in the definition. Therefore the |\fi| needs to be on the next
-% line and we need locally another comment character to avoid
-% getting spaces into the definition---a weird problem :-)
+%
% \begin{macrocode}
\catcode`\^^A=9
\long\gdef\add@percent@to@temptokena
@@ -390,13 +380,33 @@
% the beginning, so that in case the tokenlist consists of a single brace
% group the braces aren't stripped. The |\expandafter| then expands
% this extra token away again.
+% \changes{v1.1q}{2019/10/25}{Allow unbalanced conditionals in \texttt{\#1} (gh/202)}
% \begin{macrocode}
- {\ifx!#2!\@temptokena\expandafter{#1}\else
- \@temptokena\expandafter{#1%^^A
+ {\ifx!#2!\expandafter\dont@add@percent@to@temptokena\else
+ \expandafter\do@add@percent@to@temptokena\fi{#1}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\long\def\dont@add@percent@to@temptokena#1{%
+ \@temptokena\expandafter{#1}}
+% \end{macrocode}
+% \texttt{latexrelease} will read this code in high-speed
+% mode in certain situations. During that it will only look for
+% \cs{if} tests but not actually execute the \cs{catcode} change
+% above. As a result it will drop anything after the |%| character
+% in the definition. Therefore the |\fi| needs to be on the next
+% line and we need locally another comment character to avoid
+% getting spaces into the definition---a weird problem :-)
+%
+% \begin{macrocode}
+\begingroup
+\catcode`\%=12
+\long\gdef\do@add@percent@to@temptokena#1{%
+ \@temptokena\expandafter{#1%^^A
% \end{macrocode}
% Can't be on the same line as the |%| --- see above.
% \begin{macrocode}
- }\fi}
+ }}
\endgroup
% \end{macrocode}
% \end{macro}
@@ -432,6 +442,8 @@
%<latexrelease> {\protected@file@percent}{Mask line endings}%
%<latexrelease>\let\protected@file@percent\@undefined
%<latexrelease>\let\add@percent@to@temptokena\@undefined
+%<latexrelease>\let\do@add@percent@to@temptokena\@undefined
+%<latexrelease>\let\dont@add@percent@to@temptokena\@undefined
%<latexrelease>\long\def\@writefile#1#2{%
%<latexrelease> \@ifundefined{tf@#1}\relax
%<latexrelease> {\@temptokena{#2}%
diff --git a/Master/texmf-dist/source/latex/base/ltvers.dtx b/Master/texmf-dist/source/latex/base/ltvers.dtx
index d15bd784040..89d72953210 100644
--- a/Master/texmf-dist/source/latex/base/ltvers.dtx
+++ b/Master/texmf-dist/source/latex/base/ltvers.dtx
@@ -115,7 +115,7 @@
{2019-10-01}
%</2ekernel|latexrelease>
%<*2ekernel>
-\def\patch@level{1}
+\def\patch@level{2}
% \end{macrocode}
%
% \begin{macro}{\development@branch@name}
diff --git a/Master/texmf-dist/source/latex/graphics/graphics.dtx b/Master/texmf-dist/source/latex/graphics/graphics.dtx
index b6de6023d44..ac570c02278 100644
--- a/Master/texmf-dist/source/latex/graphics/graphics.dtx
+++ b/Master/texmf-dist/source/latex/graphics/graphics.dtx
@@ -25,7 +25,7 @@
%<driver> \ProvidesFile{graphics.drv}
% \fi
% \ProvidesFile{graphics.dtx}
- [2019/10/08 v1.3c Standard LaTeX Graphics (DPC,SPQR)]
+ [2019/11/01 v1.3d Standard LaTeX Graphics (DPC,SPQR)]
%
% \iffalse
%<*driver>
@@ -1036,11 +1036,18 @@
% \begin{macro}{\Gin@sepdefault}
% \changes{v0.6a}{1994/11/29}
% {remove \cs{Gin@sep}}
+% \begin{macro}{\Gin@gzext}
+% \changes{v1.3d}{2019/11/01}
+% {macro added}
% This must match the token used by |\filename@parse| to delimit the
% extension.
% \begin{macrocode}
\def\Gin@sepdefault{.}
% \end{macrocode}
+%
+% \begin{macrocode}
+\edef\Gin@gzext{\detokenize{gz}}
+% \edef{macrocode}
% \end{macro}
%
% \begin{macro}{\set@curr@file}
@@ -1102,12 +1109,22 @@
% \end{macrocode}
% A lot of quote juggling going on here (room for improvements).
%
+% \changes{v1.3d}{2019/11/01}
+% {\cs{curr@name} now unquoted}
% \begin{macrocode}
\set@curr@file{#1}%
- \edef\uq@curr@file{\expandafter\unquote@name\expandafter{\@curr@file}}%
- \expandafter\filename@parse\expandafter{\uq@curr@file}%
- \edef\filename@area{\expandafter\quote@name\expandafter{\filename@area}}%
- \edef\filename@base{\expandafter\quote@name\expandafter{\filename@base}}%
+ \expandafter\filename@parse\expandafter{\@curr@file}%
+% \end{macrocode}
+% If extension is |.gz| tack on to previous extension, eg |.eps.gz| if available.
+% \begin{macrocode}
+ \ifx\filename@ext\Gin@gzext
+ \expandafter\filename@parse\expandafter{\filename@base}%
+ \ifx\filename@ext\relax
+ \let\filename@ext\Gin@gzext
+ \else
+ \edef\Gin@ext{\Gin@ext\Gin@sepdefault\Gin@gzext}%
+ \fi
+ \fi
\ifx\filename@ext\relax
\@for\Gin@temp:=\Gin@extensions\do{%
\ifx\Gin@ext\relax
@@ -1116,6 +1133,34 @@
\else
\Gin@getbase{\Gin@sepdefault\filename@ext}%
% \end{macrocode}
+% At this point try adding an extension, even if the filename has one so
+% that \verb|a.b| may find \verb|a.b.png| if no file is found then revert
+% to the extension as given to get better error reporting.
+%
+% \changes{v1.3d}{2019/11/01}
+% {Try adding an extension even if the filenam had a dot.}
+% \begin{macrocode}
+\ifx\Gin@ext\relax
+\let\Gin@savedbase\filename@base
+\let\Gin@savedext\filename@ext
+ \edef\filename@base{\filename@base\Gin@sepdefault\filename@ext}%
+ \let\filename@ext\relax
+ \@for\Gin@temp:=\Gin@extensions\do{%
+ \ifx\Gin@ext\relax
+ \Gin@getbase\Gin@temp
+ \fi}%
+% \end{macrocode}
+% Restore if no file found using theknown extensions.
+% \begin{macrocode}
+ \ifx\Gin@ext\relax
+ \let\filename@base\Gin@savedbase
+ \let\filename@ext\Gin@savedext
+ \fi
+\fi
+% \end{macrocode}
+%
+% \begin{macrocode}
+% \end{macrocode}
% \changes{v0.4d}{1994/05/06}
% {Make file not found a warning not an error}
% \changes{v0.6a}{1994/11/29}
diff --git a/Master/texmf-dist/source/latex/tools/shellesc.dtx b/Master/texmf-dist/source/latex/tools/shellesc.dtx
index 061ea4457ca..46f2343b016 100644
--- a/Master/texmf-dist/source/latex/tools/shellesc.dtx
+++ b/Master/texmf-dist/source/latex/tools/shellesc.dtx
@@ -20,7 +20,7 @@
%<driver> \ProvidesFile{shellesc.drv}
% \fi
% \ProvidesFile{shellesc.dtx}
- [2016/06/07 v0.02b unified shell escape interface for LaTeX]
+ [2019/10/17 v1.0b unified shell escape interface for LaTeX]
%
% \iffalse
%<*driver>
@@ -36,10 +36,15 @@
% \title{The \textsf{shellesc} Package\thanks{This file
% has version number \fileversion, last
% revised \filedate.}}
-% \author{LaTeX3 project}
+% \author{\LaTeX3 project}
% \date{\filedate}
+%
+%
% \maketitle
%
+% \vspace*{-\baselineskip}
+% \enlargethispage{\baselineskip}
+%
% \changes{v0.1b}{2016/02/02}{Doc typo fixes (JB)}
% \changes{v0.2a}{2016/06/07}{Improve use with plain TeX}
% \section{Introduction}
@@ -57,7 +62,7 @@
% so a command to remove a file on a unix-like system could be
% specified using \verb|\ShellEscape{rm file.txt}| (or \verb|del| in
% windows). Note that by default system access is not allowed and
-% latex will typically need to be called with the \verb|--shell-escape|
+% \LaTeX\ will typically need to be called with the \verb|--shell-escape|
% command line option.
%
% The package may be used with standard \texttt{latex} or
@@ -76,6 +81,9 @@
% (\verb|\latelua|). This package provides \verb|\DelayedShellEscape|
% as a common syntax for this use.
%
+% The shell escape status may be queried by checking the integer (chardef)
+% command \verb|\ShellEscapeStatus|, 0 (disabled) 1 (enabled) 2 (restricted).
+%
% To aid porting existing documents to Lua\TeX~0.87 this package does
% overload the \verb|\write| command so that
% \verb|\write18{rm file.txt}|
@@ -95,12 +103,25 @@
%<*package>
% \end{macrocode}
%
+% \changes{v1.0b}{2019/10/17}{Catcode protection}
+% \begin{macrocode}
+\chardef\shellesc@quotecat\catcode`\"
+\chardef\shellesc@underscorecat\catcode`\_
+\@makeother\"
+\@makeother\_
+% \end{macrocode}
+%
% \subsection{Status Check}
%
%
-% \changes{v0.2a}{2016/06/07}{spelling in messages}
+% \subsection{The shellesc package interface}
+%
+% \begin{macro}{\ShellEscapeStatus}
+% \changes{v1.0a}{2019/10/13}{Command Introduced}
+% Integer value with meanings 0 (shell escape disabled), 1 (shell escape allowed), 2 (Restricted shell escape).
+%
% \begin{macrocode}
-\ifcase
+\chardef\ShellEscapeStatus
\ifx\pdfshellescape\@undefined
\ifx\shellescape\@undefined
\ifx\directlua\@undefined
@@ -115,6 +136,12 @@
\else
\pdfshellescape
\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v0.2a}{2016/06/07}{spelling in messages}
+% \begin{macrocode}
+\ifcase\ShellEscapeStatus
\PackageWarning{shellesc}{Shell escape disabled}
\or
\PackageInfo {shellesc}{Unrestricted shell escape enabled}
@@ -123,9 +150,9 @@
\fi
% \end{macrocode}
%
-% \subsection{The shellesc package interface}
%
% \begin{macro}{\ShellEscape}
+% \changes{v1.0a}{2019/10/13}{Lua logging for gh/195}
% Execute the supplied tokens as a system dependent command, assuming
% such execution is allowed.
% \begin{macrocode}
@@ -135,14 +162,14 @@
%
% \begin{macrocode}
\else
- \protected\def\ShellEscape#1{%
- \directlua{os.execute("\luaescapestring{#1}")}}
+ \protected\def\ShellEscape{\directlua\ShellEscape@Lua}
\fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\DelayedShellEscape}
% \changes{v0.1c}{2016/04/29}{Define \cs{DelayedShellEscape} not \cs{ShellEscape}(UF)}
+% \changes{v1.0a}{2019/10/13}{Lua logging for gh/195}
% Execute the supplied tokens as a system dependent command, when this
% node is shipped out with the completed page, assuming
% such execution is allowed.
@@ -153,14 +180,38 @@
%
% \begin{macrocode}
\else
- \protected\def\DelayedShellEscape#1{%
- \latelua{os.execute("\luaescapestring{#1}")}}
+ \protected\def\DelayedShellEscape{\latelua\ShellEscape@Lua}
\fi
% \end{macrocode}
% \end{macro}
%
%
%
+% \begin{macro}{\ShellEscape@Lua}
+% \changes{v1.0a}{2019/10/13}{loging for gh/195}
+% Shared Lua code for \verb|\DelayedShellEscape| and \verb|\ShellEscape|.
+% \begin{macrocode}
+\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
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{The write18 package interface}
%
% In web2c based engines other than Lua\TeX, |\write18| may be used
@@ -189,7 +240,11 @@
%
% Stop at this point if not a recent Lua\TeX.
% \begin{macrocode}
-\ifx\lastsavedimageresourcepages\@undefined\expandafter\endinput\fi
+\ifx\lastsavedimageresourcepages\@undefined
+ \catcode`\"\shellesc@quotecat
+ \catcode`\_\shellesc@underscorecat
+ \expandafter\endinput
+\fi
% \end{macrocode}
%
% \begin{macrocode}
@@ -233,7 +288,10 @@ shellesc.write_or_execute=write_or_execute
\protected\def\write{\directlua{shellesc.write_or_execute()}}
% \end{macrocode}
%
-%
+% \begin{macrocode}
+\catcode`\"\shellesc@quotecat
+\catcode`\"\shellesc@underscorecat
+% \end{macrocode}
%
% \begin{macrocode}
%</package>
diff --git a/Master/texmf-dist/source/latex/tools/varioref.dtx b/Master/texmf-dist/source/latex/tools/varioref.dtx
index 049bd0d55ea..b8392c76f27 100644
--- a/Master/texmf-dist/source/latex/tools/varioref.dtx
+++ b/Master/texmf-dist/source/latex/tools/varioref.dtx
@@ -40,7 +40,7 @@
%<package>\DeclareCurrentRelease{}{2019-10-01}
%<package>
%<package>\ProvidesPackage{varioref}
-%<package> [2019/09/08 v1.6b package for extended references (FMi)]
+%<package> [2019/11/05 v1.6c package for extended references (FMi)]
% \fi
%
%%
@@ -730,7 +730,7 @@
% workflow uses pdf\TeX{} the Arabic letters can't be displayed
% easily, so you will see missing glyphs below. To see the real
% letters you have to look at the source or package file.
-% \changes{v1.6b}{2019/09/8}{Option arabic added}
+% \changes{v1.6b}{2019/09/08}{Option arabic added}
% \begin{allowtofu}
% \begin{macrocode}
\DeclareOption{arabic}
@@ -1642,16 +1642,21 @@
% \end{macro}
%
% \begin{macro}{\vref@space}
+% \begin{macro}{\vref@maybe@space}
% \changes{v1.4a}{2002/03/06}{Default added}
% A default for |\vref@space|. This isn't really needed except in
% the case that somebody has hooked into the \pkg{varioref}
% interfaces at a lower level (which isn't really supported,
% but\ldots). So giving a default will prevent an error message in
% that case (and should hopefully produce the same behavior as before).
+% \changes{v1.6c}{2019/11/05}{Support (mis)use of internal interface by
+% fancyref (sx/515106)}
% \begin{macrocode}
\let\vref@space\space
+\let\vref@maybe@space\space
% \end{macrocode}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\@vpageref}
% More parsing\ldots
diff --git a/Master/texmf-dist/source/latex/tools/xr.dtx b/Master/texmf-dist/source/latex/tools/xr.dtx
index 417a98c1c1e..97c4c68084e 100644
--- a/Master/texmf-dist/source/latex/tools/xr.dtx
+++ b/Master/texmf-dist/source/latex/tools/xr.dtx
@@ -86,7 +86,7 @@
%
% As first suggested in Enrico Gregorio's |xcite| package, the current version
% also allows |\cite| to reference |\bibitem| in the external document.
-% For fcompatibility with |xcite|, |\externalcitedocument| is made available
+% For compatibility with |xcite|, |\externalcitedocument| is made available
% as an alias for |\externaldocument|
%
% \StopEventually{}