summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-10-14 21:47:42 +0000
committerKarl Berry <karl@freefriends.org>2020-10-14 21:47:42 +0000
commit95a2d3f7d676d1d4217a485d10543784f3ef2c91 (patch)
treef1a21023538586ca13a2fa75bea96e2e50273cf0
parentf213ab0f2666a8acaeef79f5051243fd955570d2 (diff)
firstaid (14oct20)
git-svn-id: svn://tug.org/texlive/trunk@56668 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/firstaid/changes.txt5
-rw-r--r--Master/texmf-dist/doc/latex/firstaid/latex2e-first-aid-for-external-files.pdfbin208937 -> 223600 bytes
-rw-r--r--Master/texmf-dist/source/latex/firstaid/firstaid.ins6
-rw-r--r--Master/texmf-dist/source/latex/firstaid/latex2e-first-aid-for-external-files.dtx146
-rw-r--r--Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty18
-rw-r--r--Master/texmf-dist/tex/latex/firstaid/latex2e-first-aid-for-external-files.ltx80
6 files changed, 205 insertions, 50 deletions
diff --git a/Master/texmf-dist/doc/latex/firstaid/changes.txt b/Master/texmf-dist/doc/latex/firstaid/changes.txt
index ef734a335a4..75067562e71 100644
--- a/Master/texmf-dist/doc/latex/firstaid/changes.txt
+++ b/Master/texmf-dist/doc/latex/firstaid/changes.txt
@@ -1,3 +1,8 @@
+2020-10-13 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * latex2e-first-aid-for-external-files.dtx:
+ Fix for gh408 to be taken out later when it moves to the kernel.
+
2020-10-04 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
* latex2e-first-aid-for-external-files.dtx:
diff --git a/Master/texmf-dist/doc/latex/firstaid/latex2e-first-aid-for-external-files.pdf b/Master/texmf-dist/doc/latex/firstaid/latex2e-first-aid-for-external-files.pdf
index 7e9157f792f..70301b7646a 100644
--- a/Master/texmf-dist/doc/latex/firstaid/latex2e-first-aid-for-external-files.pdf
+++ b/Master/texmf-dist/doc/latex/firstaid/latex2e-first-aid-for-external-files.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/firstaid/firstaid.ins b/Master/texmf-dist/source/latex/firstaid/firstaid.ins
index 5d888cf65bc..9965480f207 100644
--- a/Master/texmf-dist/source/latex/firstaid/firstaid.ins
+++ b/Master/texmf-dist/source/latex/firstaid/firstaid.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright (C) 1993-2020
+%% Copyright (C) 2020
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -44,12 +44,12 @@ 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-2020
+Copyright (C) 2020
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
This file was generated from file(s) of the Standard LaTeX `First Aid Bundle'.
---------------------------------------------------------------------------
+------------------------------------------------------------------------------
It may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/Master/texmf-dist/source/latex/firstaid/latex2e-first-aid-for-external-files.dtx b/Master/texmf-dist/source/latex/firstaid/latex2e-first-aid-for-external-files.dtx
index 78f52ca78a2..55e0d01e263 100644
--- a/Master/texmf-dist/source/latex/firstaid/latex2e-first-aid-for-external-files.dtx
+++ b/Master/texmf-dist/source/latex/firstaid/latex2e-first-aid-for-external-files.dtx
@@ -87,6 +87,17 @@
% doesn't get out of bounds.
% \end{quote}
%
+% \subsection{Minor kernel fixes}
+%
+% If we encounter issues with the kernel code that should get fixed
+% before the next main release we normally generate a patch release
+% for \LaTeX{}. However, depending on the complexity of the fix we
+% might first add the fix here and generate a full patch release
+% only when a number of such issues have accumulated. This way we
+% lessen the impact on CTAN maintainers because for each tach
+% release we have to make and distribute also a matching
+% development release.
+%
% \StopEventually{\setlength\IndexMin{200pt} \PrintIndex }
%
%
@@ -99,8 +110,8 @@
% \end{macrocode}
%
% \begin{macrocode}
-\def\LaTeXFirstAidDate{2020/10/04}
-\def\LaTeXFirstAidVersion{v1.0e}
+\def\LaTeXFirstAidDate{2020/10/13}
+\def\LaTeXFirstAidVersion{v1.0f}
% \end{macrocode}
%
% \begin{macrocode}
@@ -147,37 +158,28 @@
% implementation.
%
% The package has now got an update so we aren't activating the
-% first aid. However, it basically bypasses the new hook mechanism
-% and puts the old hooks in thereby disabling, for example, the
-% possibility to reorder code through rules.
+% first aid. However, at the moment it basically bypasses the new
+% hook mechanism and puts the old hooks in thereby disabling, for
+% example, the possibility to re-order code through rules.
%
% We therefore keep \texttt{filehook-ltx.sty} around as a guideline
% for further updates.
%
+% Replacing \pkg{filehook} with a leaner version would then work
+% like this:
% \begin{macrocode}
%<*kernel>
%\declare@file@substitution{filehook.sty}{filehook-ltx.sty}
%</kernel>
-% \End{macrocode}
-%
-% If a new filehook package becomes available it can be tested
-% simply by undoing the above substitution via
-% \begin{verbatim}
-% \undeclare@file@substitution{filehook.sty}
-% \end{verbatim}
-% Once ready this will then taken out of the first aid file.
+% \end{macrocode}
%
-% What follows is a partial implementation of the \pkg{filehook}
+% What follows is a simplified (partial) implementation of the \pkg{filehook}
% interfaces.
-%
% Not implemented are:
%\begin{verbatim}
-% \AtBeginOfFiles
-% \AtEndOfFiles
-% \AtBeginOfInputs
-% \AtEndOfInputs
-% \AtBeginOfInputFile
-% \AtEndOfInputFile
+% \AtBeginOfFiles \AtEndOfFiles
+% \AtBeginOfInputs \AtEndOfInputs
+% \AtBeginOfInputFile \AtEndOfInputFile
%\end{verbatim}
%
% \begin{macrocode}
@@ -214,14 +216,14 @@
{\AddToHook{class/after}{#1}}
% \end{macrocode}
%
-% For normal files we drop the \texttt{.tex} extension for now:
% \begin{macrocode}
\newcommand\AtBeginOfFile [2]
{\AddToHook{file/before/#1}{#2}}
\newcommand\AtEndOfFile [2]
{\AddToHook{file/after/#1}{#2}}
% \end{macrocode}
-%
+%
+% Some commands offered a starred form
% \begin{macrocode}
\DeclareDocumentCommand \AtBeginOfPackageFile {smm}
{\IfBooleanTF{#1}%
@@ -230,6 +232,9 @@
{\AddToHook{package/before/#2}{#3}}}%
{\AddToHook{package/before/#2}{#3}}%
}
+% \end{macrocode}
+%
+% \begin{macrocode}
\DeclareDocumentCommand \AtEndOfPackageFile {smm}
{\IfBooleanTF{#1}%
{\@ifpackageloaded{#2}%
@@ -294,6 +299,10 @@
% is still in the kernel.
%
% \begin{macrocode}
+%<*kernel>
+% \end{macrocode}
+%
+% \begin{macrocode}
\AddToHook{file/after/biditools.sty}[firstaid]{%
\FirstAidNeededT{biditools}{sty}%
{2020/05/13 v2 Programming tools for bidi package}%
@@ -322,10 +331,6 @@
}
% \end{macrocode}
%
-% \begin{macrocode}
-%<*kernel>
-% \end{macrocode}
-%
%
%
% \subsection{The \pkg{dinbrief} class first aid}
@@ -341,6 +346,93 @@
%
%
%
+% \subsection[Temporary fixes for the kernel (until the next
+% patch-level release)]
+% {Temporary fixes for the kernel \\
+% (until the next patch-level release)}
+%
+% This is fixing GitHub issue 408. Looks rather long but changes
+% only 3 or 4 lines in the macros.
+% \begin{macrocode}
+\def\@pr@videpackage[#1]{%
+ \expandafter\protected@xdef % <-- protected...
+ \csname ver@\@currname.\@currext\endcsname{#1}% Loaded package
+ \expandafter\let
+ \csname ver@\@currpkg@reqd\expandafter\endcsname % Requested package
+ \csname ver@\@currname.\@currext\endcsname
+ \ifx\@currext\@clsextension
+ \typeout{Document Class: \@gtempa\space#1}%
+ \else
+ \protected@wlog{Package: \@gtempa\space#1}% <--- protected
+ \fi}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\load@onefilewithoptions#1[#2][#3]#4{% % <--- \@onefilewithoptions
+ % earlier in the kernel
+ \@pushfilename
+ \xdef\@currname{#1}%
+ \global\let\@currext#4%
+ \@ifl@aded\@currext\@currname
+ {\@if@ptions\@currext{\@currname}{#2}{}%
+ {\@latex@error
+ {Option clash for \@cls@pkg\space \@currname}%
+ {The package \@currname\space has already been loaded
+ with options:\MessageBreak
+ \space\space[\@ptionlist{\@currname.\@currext}]\MessageBreak
+ There has now been an attempt to load it
+ with options\MessageBreak
+ \space\space[#2]\MessageBreak
+ Adding the global options:\MessageBreak
+ \space\space
+ \@ptionlist{\@currname.\@currext},#2\MessageBreak
+ to your \noexpand\documentclass declaration may fix this.%
+ \MessageBreak
+ Try typing \space <return> \space to proceed.}}%
+ \@firstofone}%
+ {\makeatletter
+ \@reset@ptions
+ \IfFileExists{\@currname.\@currext}{}%
+ {\@missing@onefilewithoptions{#2}}%
+ \ifx\@currname\@empty
+ \expandafter\@gobble
+ \else
+ \@disable@packageload@do{\@currname.\@currext}%
+ {\@expl@@@filehook@file@push@@
+ \set@curr@file{\@currname.\@currext}%
+ \@filehook@set@CurrentFile
+ \expandafter\@swaptwoargs\expandafter
+ {\expandafter{\@currpkg@reqd}}%
+ {% <
+ \edef\@currpkg@reqd{\@currname.\@currext}%
+ \ifx\CurrentFile\CurrentFileUsed
+ \else
+ \filename@parse\@curr@file
+ \edef\@currname{\string@makeletter\filename@base}%
+ \edef\@currext{\string@makeletter\filename@ext}%
+ \fi
+ \load@onefile@withoptions{#2}%
+ \def\@currpkg@reqd%{\@currpkg@reqd}
+ }% >
+ \@expl@@@filehook@file@pop@@}%
+ \expandafter\@firstofone
+ \fi}%
+ {\@ifl@ter\@currext{\@currname}{#3}{}%
+ {\@latex@warning@no@line
+ {You have requested,\on@line,
+ version\MessageBreak
+ `#3' of \@cls@pkg\space \@currname,\MessageBreak
+ but only version\MessageBreak
+ `\csname ver@\@currname.\@currext\endcsname'\MessageBreak
+ is available}}%
+ \ifx\@currext\@clsextension\let\LoadClass\@twoloadclasserror\fi}%
+ \@popfilename
+ \@reset@ptions}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\let\@currpkg@reqd\@empty
+% \end{macrocode}
%
%
% \begin{macrocode}
diff --git a/Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty b/Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty
index b2840b92a9b..6493507a925 100644
--- a/Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty
+++ b/Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty
@@ -11,12 +11,12 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2020
+%% Copyright (C) 2020
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
%% This file was generated from file(s) of the Standard LaTeX `First Aid Bundle'.
-%% --------------------------------------------------------------------------
+%% ------------------------------------------------------------------------------
%%
%% It may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -89,20 +89,6 @@
{\AddToHook{include/end/#1}{#2}}
\newcommand\AfterIncludeFile [2]
{\AddToHook{include/after/#1}{#2}}
-\AddToHook{file/after/biditools.sty}[firstaid]{%
- \FirstAidNeededT{biditools}{sty}%
- {2020/05/13 v2 Programming tools for bidi package}%
- {
- \def\firstaid@bidi@document@patch
- \endgroup#1\begingroup#2\firstaid@bidi@document@patch
- {\unexpanded{#1#2}}%
- \edef\document{\expandafter\firstaid@bidi@document@patch\document
- \firstaid@bidi@document@patch}%
- \AddToHook{enddocument/info}%
- {\let\bidi@AfterEndDocumentCheckLabelsRerun\@firstofone
- \bidi@afterenddocumentchecklabelsrerunhook}%
- }
-}
\endinput
%%
%% End of file `filehook-ltx.sty'.
diff --git a/Master/texmf-dist/tex/latex/firstaid/latex2e-first-aid-for-external-files.ltx b/Master/texmf-dist/tex/latex/firstaid/latex2e-first-aid-for-external-files.ltx
index 664e4c182d7..f4a48bc8fdb 100644
--- a/Master/texmf-dist/tex/latex/firstaid/latex2e-first-aid-for-external-files.ltx
+++ b/Master/texmf-dist/tex/latex/firstaid/latex2e-first-aid-for-external-files.ltx
@@ -11,12 +11,12 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2020
+%% Copyright (C) 2020
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
%% This file was generated from file(s) of the Standard LaTeX `First Aid Bundle'.
-%% --------------------------------------------------------------------------
+%% ------------------------------------------------------------------------------
%%
%% It may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -33,8 +33,8 @@
%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
-\def\LaTeXFirstAidDate{2020/10/04}
-\def\LaTeXFirstAidVersion{v1.0e}
+\def\LaTeXFirstAidDate{2020/10/13}
+\def\LaTeXFirstAidVersion{v1.0f}
\ProvidesFile{latex2e-first-aid-for-external-files.ltx}
[\LaTeXFirstAidDate\space \LaTeXFirstAidVersion\space
LaTeX kernel fixes to external files and packages]
@@ -63,6 +63,78 @@
\FirstAidNeededT{dinbrief}{cls}{2000/03/02 LaTeX2e class}%
{\AddToHook{env/document/begin}{\begingroup}}%
}
+\def\@pr@videpackage[#1]{%
+ \expandafter\protected@xdef % <-- protected...
+ \csname ver@\@currname.\@currext\endcsname{#1}% Loaded package
+ \expandafter\let
+ \csname ver@\@currpkg@reqd\expandafter\endcsname % Requested package
+ \csname ver@\@currname.\@currext\endcsname
+ \ifx\@currext\@clsextension
+ \typeout{Document Class: \@gtempa\space#1}%
+ \else
+ \protected@wlog{Package: \@gtempa\space#1}% <--- protected
+ \fi}
+\def\load@onefilewithoptions#1[#2][#3]#4{% % <--- \@onefilewithoptions
+ % earlier in the kernel
+ \@pushfilename
+ \xdef\@currname{#1}%
+ \global\let\@currext#4%
+ \@ifl@aded\@currext\@currname
+ {\@if@ptions\@currext{\@currname}{#2}{}%
+ {\@latex@error
+ {Option clash for \@cls@pkg\space \@currname}%
+ {The package \@currname\space has already been loaded
+ with options:\MessageBreak
+ \space\space[\@ptionlist{\@currname.\@currext}]\MessageBreak
+ There has now been an attempt to load it
+ with options\MessageBreak
+ \space\space[#2]\MessageBreak
+ Adding the global options:\MessageBreak
+ \space\space
+ \@ptionlist{\@currname.\@currext},#2\MessageBreak
+ to your \noexpand\documentclass declaration may fix this.%
+ \MessageBreak
+ Try typing \space <return> \space to proceed.}}%
+ \@firstofone}%
+ {\makeatletter
+ \@reset@ptions
+ \IfFileExists{\@currname.\@currext}{}%
+ {\@missing@onefilewithoptions{#2}}%
+ \ifx\@currname\@empty
+ \expandafter\@gobble
+ \else
+ \@disable@packageload@do{\@currname.\@currext}%
+ {\@expl@@@filehook@file@push@@
+ \set@curr@file{\@currname.\@currext}%
+ \@filehook@set@CurrentFile
+ \expandafter\@swaptwoargs\expandafter
+ {\expandafter{\@currpkg@reqd}}%
+ {% <
+ \edef\@currpkg@reqd{\@currname.\@currext}%
+ \ifx\CurrentFile\CurrentFileUsed
+ \else
+ \filename@parse\@curr@file
+ \edef\@currname{\string@makeletter\filename@base}%
+ \edef\@currext{\string@makeletter\filename@ext}%
+ \fi
+ \load@onefile@withoptions{#2}%
+ \def\@currpkg@reqd%{\@currpkg@reqd}
+ }% >
+ \@expl@@@filehook@file@pop@@}%
+ \expandafter\@firstofone
+ \fi}%
+ {\@ifl@ter\@currext{\@currname}{#3}{}%
+ {\@latex@warning@no@line
+ {You have requested,\on@line,
+ version\MessageBreak
+ `#3' of \@cls@pkg\space \@currname,\MessageBreak
+ but only version\MessageBreak
+ `\csname ver@\@currname.\@currext\endcsname'\MessageBreak
+ is available}}%
+ \ifx\@currext\@clsextension\let\LoadClass\@twoloadclasserror\fi}%
+ \@popfilename
+ \@reset@ptions}
+\let\@currpkg@reqd\@empty
\endinput
%%
%% End of file `latex2e-first-aid-for-external-files.ltx'.