texlive[56668] Master/texmf-dist: firstaid (14oct20)

commits+karl at tug.org commits+karl at tug.org
Wed Oct 14 23:47:42 CEST 2020


Revision: 56668
          http://tug.org/svn/texlive?view=revision&revision=56668
Author:   karl
Date:     2020-10-14 23:47:42 +0200 (Wed, 14 Oct 2020)
Log Message:
-----------
firstaid (14oct20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/firstaid/changes.txt
    trunk/Master/texmf-dist/doc/latex/firstaid/latex2e-first-aid-for-external-files.pdf
    trunk/Master/texmf-dist/source/latex/firstaid/firstaid.ins
    trunk/Master/texmf-dist/source/latex/firstaid/latex2e-first-aid-for-external-files.dtx
    trunk/Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty
    trunk/Master/texmf-dist/tex/latex/firstaid/latex2e-first-aid-for-external-files.ltx

Modified: trunk/Master/texmf-dist/doc/latex/firstaid/changes.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/firstaid/changes.txt	2020-10-14 21:47:08 UTC (rev 56667)
+++ trunk/Master/texmf-dist/doc/latex/firstaid/changes.txt	2020-10-14 21:47:42 UTC (rev 56668)
@@ -1,3 +1,8 @@
+2020-10-13  Frank Mittelbach  <Frank.Mittelbach at 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 at latex-project.org>
 
 	* latex2e-first-aid-for-external-files.dtx:

Modified: trunk/Master/texmf-dist/doc/latex/firstaid/latex2e-first-aid-for-external-files.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/firstaid/firstaid.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/firstaid/firstaid.ins	2020-10-14 21:47:08 UTC (rev 56667)
+++ trunk/Master/texmf-dist/source/latex/firstaid/firstaid.ins	2020-10-14 21:47:42 UTC (rev 56668)
@@ -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 @@
 (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

Modified: trunk/Master/texmf-dist/source/latex/firstaid/latex2e-first-aid-for-external-files.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/firstaid/latex2e-first-aid-for-external-files.dtx	2020-10-14 21:47:08 UTC (rev 56667)
+++ trunk/Master/texmf-dist/source/latex/firstaid/latex2e-first-aid-for-external-files.dtx	2020-10-14 21:47:42 UTC (rev 56668)
@@ -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 at file@substitution{filehook.sty}{filehook-ltx.sty}
 %</kernel>
-%    \End{macrocode}
+%    \end{macrocode}
 %
-%    If a new filehook package becomes available it can be tested
-%    simply by  undoing the above substitution via
-%    \begin{verbatim}
-%  \undeclare at file@substitution{filehook.sty}
-%    \end{verbatim}
-%    Once ready this will then taken out of the first aid file.
-%
-%    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,7 +216,6 @@
   {\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}}
@@ -221,7 +222,8 @@
 \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,12 +331,8 @@
 }
 %    \end{macrocode}
 %    
-%    \begin{macrocode}
-%<*kernel>
-%    \end{macrocode}
 %
 %
-%
 % \subsection{The \pkg{dinbrief} class first aid}
 %
 %    Again a case of a no longer correct \cs{endgroup} in document.
@@ -341,9 +346,96 @@
 %
 %
 %
+% \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 at videpackage[#1]{%
+  \expandafter\protected at xdef                %     <-- protected...
+     \csname ver@\@currname.\@currext\endcsname{#1}% Loaded package
+  \expandafter\let
+    \csname ver@\@currpkg at reqd\expandafter\endcsname % Requested package
+    \csname ver@\@currname.\@currext\endcsname
+  \ifx\@currext\@clsextension
+    \typeout{Document Class: \@gtempa\space#1}%
+  \else
+    \protected at wlog{Package: \@gtempa\space#1}%   <--- protected
+  \fi}
+%    \end{macrocode}
 %
 %    \begin{macrocode}
+\def\load at onefilewithoptions#1[#2][#3]#4{%  % <--- \@onefilewithoptions
+                                            %      earlier in the kernel
+  \@pushfilename
+  \xdef\@currname{#1}%
+  \global\let\@currext#4%
+  \@ifl at aded\@currext\@currname
+    {\@if at ptions\@currext{\@currname}{#2}{}%
+      {\@latex at error
+        {Option clash for \@cls at 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 at ptions
+     \IfFileExists{\@currname.\@currext}{}%
+       {\@missing at onefilewithoptions{#2}}%
+     \ifx\@currname\@empty
+       \expandafter\@gobble
+     \else
+       \@disable at packageload@do{\@currname.\@currext}%
+         {\@expl@@@filehook at file@push@@
+          \set at curr@file{\@currname.\@currext}%
+          \@filehook at set@CurrentFile
+          \expandafter\@swaptwoargs\expandafter
+            {\expandafter{\@currpkg at reqd}}%
+            {% <
+          \edef\@currpkg at reqd{\@currname.\@currext}%
+          \ifx\CurrentFile\CurrentFileUsed
+          \else
+            \filename at parse\@curr at file
+            \edef\@currname{\string at makeletter\filename at base}%
+            \edef\@currext{\string at makeletter\filename at ext}%
+          \fi
+          \load at onefile@withoptions{#2}%
+          \def\@currpkg at reqd%{\@currpkg at reqd}
+            }% >
+          \@expl@@@filehook at file@pop@@}%
+       \expandafter\@firstofone
+     \fi}%
+    {\@ifl at ter\@currext{\@currname}{#3}{}%
+      {\@latex at warning@no at line
+        {You have requested,\on at line,
+         version\MessageBreak
+           `#3' of \@cls at 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 at ptions}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\let\@currpkg at reqd\@empty
+%    \end{macrocode}
+%
+%
+%    \begin{macrocode}
 %</kernel>
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty	2020-10-14 21:47:08 UTC (rev 56667)
+++ trunk/Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty	2020-10-14 21:47:42 UTC (rev 56668)
@@ -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 at bidi@document at patch
-          \endgroup#1\begingroup#2\firstaid at bidi@document at patch
-          {\unexpanded{#1#2}}%
-  \edef\document{\expandafter\firstaid at bidi@document at patch\document
-            \firstaid at bidi@document at patch}%
-  \AddToHook{enddocument/info}%
-            {\let\bidi at AfterEndDocumentCheckLabelsRerun\@firstofone
-              \bidi at afterenddocumentchecklabelsrerunhook}%
-  }
-}
 \endinput
 %%
 %% End of file `filehook-ltx.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/firstaid/latex2e-first-aid-for-external-files.ltx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/firstaid/latex2e-first-aid-for-external-files.ltx	2020-10-14 21:47:08 UTC (rev 56667)
+++ trunk/Master/texmf-dist/tex/latex/firstaid/latex2e-first-aid-for-external-files.ltx	2020-10-14 21:47:42 UTC (rev 56668)
@@ -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 at videpackage[#1]{%
+  \expandafter\protected at xdef                %     <-- protected...
+     \csname ver@\@currname.\@currext\endcsname{#1}% Loaded package
+  \expandafter\let
+    \csname ver@\@currpkg at reqd\expandafter\endcsname % Requested package
+    \csname ver@\@currname.\@currext\endcsname
+  \ifx\@currext\@clsextension
+    \typeout{Document Class: \@gtempa\space#1}%
+  \else
+    \protected at wlog{Package: \@gtempa\space#1}%   <--- protected
+  \fi}
+\def\load at onefilewithoptions#1[#2][#3]#4{%  % <--- \@onefilewithoptions
+                                            %      earlier in the kernel
+  \@pushfilename
+  \xdef\@currname{#1}%
+  \global\let\@currext#4%
+  \@ifl at aded\@currext\@currname
+    {\@if at ptions\@currext{\@currname}{#2}{}%
+      {\@latex at error
+        {Option clash for \@cls at 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 at ptions
+     \IfFileExists{\@currname.\@currext}{}%
+       {\@missing at onefilewithoptions{#2}}%
+     \ifx\@currname\@empty
+       \expandafter\@gobble
+     \else
+       \@disable at packageload@do{\@currname.\@currext}%
+         {\@expl@@@filehook at file@push@@
+          \set at curr@file{\@currname.\@currext}%
+          \@filehook at set@CurrentFile
+          \expandafter\@swaptwoargs\expandafter
+            {\expandafter{\@currpkg at reqd}}%
+            {% <
+          \edef\@currpkg at reqd{\@currname.\@currext}%
+          \ifx\CurrentFile\CurrentFileUsed
+          \else
+            \filename at parse\@curr at file
+            \edef\@currname{\string at makeletter\filename at base}%
+            \edef\@currext{\string at makeletter\filename at ext}%
+          \fi
+          \load at onefile@withoptions{#2}%
+          \def\@currpkg at reqd%{\@currpkg at reqd}
+            }% >
+          \@expl@@@filehook at file@pop@@}%
+       \expandafter\@firstofone
+     \fi}%
+    {\@ifl at ter\@currext{\@currname}{#3}{}%
+      {\@latex at warning@no at line
+        {You have requested,\on at line,
+         version\MessageBreak
+           `#3' of \@cls at 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 at ptions}
+\let\@currpkg at reqd\@empty
 \endinput
 %%
 %% End of file `latex2e-first-aid-for-external-files.ltx'.



More information about the tex-live-commits mailing list.