texlive[56507] Master: firstaid, (will be) new latex2e format dep

commits+karl at tug.org commits+karl at tug.org
Fri Oct 2 00:18:24 CEST 2020


Revision: 56507
          http://tug.org/svn/texlive?view=revision&revision=56507
Author:   karl
Date:     2020-10-02 00:18:22 +0200 (Fri, 02 Oct 2020)
Log Message:
-----------
firstaid, (will be) new latex2e format dep

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/tlpsrc/00texlive.autopatterns.tlpsrc
    trunk/Master/tlpkg/tlpsrc/collection-latex.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/firstaid/
    trunk/Master/texmf-dist/doc/latex/firstaid/README.md
    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/
    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/
    trunk/Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty
    trunk/Master/texmf-dist/tex/latex/firstaid/latex2e-first-aid-for-external-files.ltx
    trunk/Master/tlpkg/tlpsrc/firstaid.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/firstaid/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/firstaid/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/firstaid/README.md	2020-10-01 22:18:22 UTC (rev 56507)
@@ -0,0 +1,9 @@
+# LaTeX2e temporary first aid for external packages and classes during transition periods
+
+LaTeX2e kernel code that temporarily adjusts packages that are not yet
+updated and therefore fail if a new LaTeX release updates internal
+commands (which have been used in the external packages)
+
+This is stored in a separate file external to the base bundle, so that
+it can be easily updated when fixes become available without the need
+to upload a full new LaTeX2e release to CTAN.


Property changes on: trunk/Master/texmf-dist/doc/latex/firstaid/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/firstaid/changes.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/firstaid/changes.txt	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/firstaid/changes.txt	2020-10-01 22:18:22 UTC (rev 56507)
@@ -0,0 +1,12 @@
+2020-09-29  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* latex2e-first-aid-for-external-files.dtx:
+	filehook doesn't need first aid any longer.
+
+2020-09-27  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* latex2e-first-aid-for-external-files.dtx:
+	Initial version for 2020-10-01 release containing first aid
+	for packages bidi, filehook and class dinbrief.
+
+


Property changes on: trunk/Master/texmf-dist/doc/latex/firstaid/changes.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/firstaid/latex2e-first-aid-for-external-files.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/firstaid/latex2e-first-aid-for-external-files.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/firstaid/latex2e-first-aid-for-external-files.pdf	2020-10-01 21:30:52 UTC (rev 56506)
+++ trunk/Master/texmf-dist/doc/latex/firstaid/latex2e-first-aid-for-external-files.pdf	2020-10-01 22:18:22 UTC (rev 56507)

Property changes on: trunk/Master/texmf-dist/doc/latex/firstaid/latex2e-first-aid-for-external-files.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/source/latex/firstaid/firstaid.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/firstaid/firstaid.ins	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/firstaid/firstaid.ins	2020-10-01 22:18:22 UTC (rev 56507)
@@ -0,0 +1,75 @@
+%%
+%% This file will generate fast loadable files and documentation
+%% driver files from the doc files in this package when run through
+%% LaTeX or TeX.
+%%
+%% Copyright (C) 1993-2020
+%% The LaTeX3 Project and any individual authors listed elsewhere
+%% in this file.
+%%
+%% This file is part 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
+%% 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.
+%%
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
+%%
+%% The list of all files belonging to the `First Aid Bundle' is
+%% given in the file `manifest.txt'.
+%%
+%%
+%% --------------- start of docstrip commands ------------------
+%%
+\input docstrip
+
+\keepsilent
+
+\usedir{tex/latex/firstaid}
+
+\preamble
+
+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-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
+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
+`First Aid Bundle'. You may however distribute the LaTeX `First Aid Bundle'
+without such generated files.
+
+\endpreamble
+
+
+\generate{\file{latex2e-first-aid-for-external-files.ltx}
+               {\from{latex2e-first-aid-for-external-files.dtx}{kernel}}}
+
+\generate{\file{filehook-ltx.sty}
+               {\from{latex2e-first-aid-for-external-files.dtx}{filehook}}}
+
+\endbatchfile

Added: 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	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/firstaid/latex2e-first-aid-for-external-files.dtx	2020-10-01 22:18:22 UTC (rev 56507)
@@ -0,0 +1,351 @@
+% \iffalse meta-comment
+%
+%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020 
+%% The LaTeX 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, 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".
+%
+%
+%
+%<*driver>
+\documentclass{ltxdoc}
+\EnableCrossrefs
+\CodelineIndex
+\begin{document}
+  \DocInput{latex2e-first-aid-for-external-files.dtx}
+\end{document}
+%</driver>
+%
+% \fi
+%
+%
+% \providecommand\pkg[1]{\texttt{#1}}
+%
+% \title{First aid for external files and packages that need updating\thanks{}}
+% \author{Frank Mittelbach, \LaTeX{} Project}
+%
+% \maketitle
+%
+%
+% \begin{abstract}
+%    This file contains some first aid for packages or classes that
+%    require updates because of internal changes to \LaTeX{} but that
+%    aren't yet reflected in the package/class code.
+% \end{abstract}
+%
+% \tableofcontents
+%
+% \section{Introduction}
+%
+%    Over the years package writers have hooked into
+%    various parts of internal \LaTeX{} commands (largely because
+%    proper interfaces were missing in important places) and if
+%    we are now gradually adding such interfaces these internal
+%    commands do change and as a result patching into them stops
+%    working.
+%
+%    As part of making such internal changes the \LaTeX{} Project team
+%    attempts to check for such usage in packages, alert the package
+%    maintainers and ensures that the packages get updated alongside
+%    the core \LaTeX{} system. However it is not always possible to
+%    get packages that will fail with a new kernel updated in time and
+%    if that is the case we try to provide a temporary fix in this
+%    file for them.
+%    Once the package gets updated the fix will then be removed again.
+%
+%    For that reason, it is put into a separate bundle so that we can
+%    update it easily without requiring the CTAN maintainers to
+%    install a new full LaTeX system just because we take out (or add)
+%    a fix for a package here.
+%
+%    In the best case scenario the file documented here should be
+%    empty. In practice it will probably always contain one or the
+%    other fix while we are waiting for the package to get updated.
+%
+%    \begin{quote} \textbf{Important notice:} The fixes provided here
+%    are not meant to be a permanent solution, but are only provided
+%    to support the transition period. They are (usually) neither
+%    complete nor necessarily the best solution! Furthermore, as they
+%    are done from the ``outside'', they usually add some burden and
+%    slow down \LaTeX{} processing, even if the package/class is not
+%    used in the document.
+%
+%    We will therefore remove such code as soon as possible
+%    again. In practice this means that if some package never gets
+%    updated/corrected, then it will eventually fail to work, because
+%    after one or at most two \LaTeX{} releases we will take out the
+%    transition code to ensure that this ``first aid patching''
+%    doesn't get out of bounds.
+%    \end{quote}
+%
+% \StopEventually{\setlength\IndexMin{200pt}  \PrintIndex  }
+%
+%
+% \section{The Implementation}
+%
+%    This file is meant to be loaded during format generation which is
+%    why we give it the extension \texttt{.ltx}.
+%    \begin{macrocode}
+%<*kernel>
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\LaTeXFirstAidDate{2020/09/29}
+\def\LaTeXFirstAidVersion{v1.0c}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\ProvidesFile{latex2e-first-aid-for-external-files.ltx}
+             [\LaTeXFirstAidDate\space \LaTeXFirstAidVersion\space
+               LaTeX kernel fixes to external files and packages]
+%    \end{macrocode}
+             %
+             
+%  \begin{macro}{\FirstAidNeededT}
+%    This is a very simple help to ensure that we only apply first aid
+%    to an unmodified package or class. It only works in the case the
+%    file has already been loaded and the csname \cs{ver@\#1.\#2} got
+%    defined (holding the current date, version, and short description
+%    info). We then compare its content to a frozen string and make
+%    the modification \verb=#3= only if both agree. If they differ we
+%    assume that the package/class in question got updated by its
+%    maintainer.
+%    \begin{macrocode}
+\ExplSyntaxOn             
+\cs_new:Npn\FirstAidNeededT#1#2#3{
+  \exp_args:Nc\str_if_eq:onT{ver@#1.#2}{#3}
+}
+\ExplSyntaxOff
+%    \end{macrocode}
+%  \end{macro}
+%    
+%    \begin{macrocode}
+%</kernel>
+%    \end{macrocode}
+%
+%
+% \subsection{The \pkg{filehook} package first aid}
+%     
+%    The \pkg{filehook} package implements hooks into file loading
+%    commands. These days this is already provided by the kernel
+%    albeit not with the same user interface. Until that package gets
+%    updated (to use the kernel interfaces) we provide a
+%    substitution. This does not offer all hooks from \pkg{filehook}
+%    but all that have been used in packages available in \TeX{} Live.
+%
+%    Note that this doesn't fix \pkg{currfile} because that package
+%    uses \pkg{filehook} but relies on the internals of the old
+%    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.
+%
+%    We therefore keep \texttt{filehook-ltx.sty} around as a guideline
+%    for further updates.
+%
+%    \begin{macrocode}
+%<*kernel>
+%\declare at 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 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}
+%    interfaces.
+%
+%    Not implemented are:
+%\begin{verbatim}
+%  \AtBeginOfFiles
+%  \AtEndOfFiles
+%  \AtBeginOfInputs
+%  \AtEndOfInputs
+%  \AtBeginOfInputFile
+%  \AtEndOfInputFile
+%\end{verbatim}
+%
+%    \begin{macrocode}
+%<*filehook>
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcommand\AtBeginOfEveryFile [1]
+  {\AddToHook{file/before}{#1}}
+\newcommand\AtEndOfEveryFile [1]
+  {\AddToHook{file/after}{#1}}
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\newcommand\AtBeginOfIncludes [1]
+  {\AddToHook{include/before}{#1}}
+\newcommand\AtEndOfIncludes [1]
+  {\AddToHook{include/end}{#1}}
+\newcommand\AfterIncludes [1]
+  {\AddToHook{include/after}{#1}}
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\newcommand\AtBeginOfPackages [1]
+  {\AddToHook{package/before}{#1}}
+\newcommand\AtEndOfPackages [1]
+  {\AddToHook{package/after}{#1}}
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\newcommand\AtBeginOfClasses [1]
+  {\AddToHook{class/before}{#1}}
+\newcommand\AtEndOfClasses [1]
+  {\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}
+%    
+%    \begin{macrocode}
+\DeclareDocumentCommand \AtBeginOfPackageFile {smm}
+   {\IfBooleanTF{#1}%
+     {\@ifpackageloaded{#2}%
+         {#3}%
+         {\AddToHook{package/before/#2}{#3}}}%
+     {\AddToHook{package/before/#2}{#3}}%
+   }
+\DeclareDocumentCommand \AtEndOfPackageFile {smm}
+   {\IfBooleanTF{#1}%
+     {\@ifpackageloaded{#2}%
+         {#3}%
+         {\AddToHook{package/after/#2}{#3}}}%
+     {\AddToHook{package/after/#2}{#3}}%
+   }
+%    \end{macrocode}
+%
+%    Are the * forms here of any use? I know they are use 3--4 times
+%    on CTAN but I wonder if those are real or mistaken usages.  
+%    \begin{macrocode}
+\DeclareDocumentCommand \AtBeginOfClassFile {smm}
+   {\IfBooleanTF{#1}%
+     {\@ifclassloaded{#2}%
+         {#3}%
+         {\AddToHook{class/before/#2}{#3}}}%
+     {\AddToHook{class/before/#2}{#3}}%
+   }
+\DeclareDocumentCommand \AtEndOfClassFile {smm}
+   {\IfBooleanTF{#1}%
+     {\@ifclassloaded{#2}%
+         {#3}%
+         {\AddToHook{class/after/#2}{#3}}}%
+     {\AddToHook{class/after/#2}{#3}}%
+   }
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\newcommand\AtBeginOfIncludeFile [2]
+  {\AddToHook{include/before/#1}{#2}}
+\newcommand\AtEndOfIncludeFile [2]
+  {\AddToHook{include/end/#1}{#2}}
+\newcommand\AfterIncludeFile [2]
+  {\AddToHook{include/after/#1}{#2}}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%</filehook>
+%    \end{macrocode}
+%
+%
+%
+%
+% \subsection{The \pkg{bidi} package first aid}
+%
+%     The \pkg{bidi} package adds a lot of hooks in various places and
+%    those added to \cs{document} and \cs{enddocument} are now no
+%    longer necessary as the kernel already provides the right hooks
+%    there.
+%
+%    However, we aren't trying to change that but instead only make
+%    sure that the existing patches still work by adding some first
+%    aid after \pkg{biditools} has been loaded.
+%
+%    If the package gets updated one can easily take that out simply
+%    through
+%\begin{verbatim}
+%  \RemoveFromHook{file/after/biditools.sty}[firstaid]
+%\end{verbatim}
+%    This makes it easy to test new bidi code while the first aid code
+%    is still in the kernel.
+%
+%    \begin{macrocode}
+\AddToHook{file/after/biditools.sty}[firstaid]{%
+  \FirstAidNeededT{biditools}{sty}%
+                  {2020/05/13 v2 Programming tools for bidi package}%
+  {
+%    \end{macrocode}
+%    \pkg{bidi} adds some code to the beginning of \cs{document} which
+%    contains \cs{endgroup} and \cs{begingroup} which is no longer
+%    correct.
+%  
+%    Patching \cs{document} using \cs{bidi at patchcmd} doesn't work so
+%    we take the extra groups out by hand:
+%    \begin{macrocode}
+  \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}%
+%    \end{macrocode}
+%    There are also some patches into \cs{enddocument}, some continue
+%    to go in but one fails, so we add that now into the right place.
+%    \begin{macrocode}
+  \AddToHook{enddocument/info}%
+            {\let\bidi at AfterEndDocumentCheckLabelsRerun\@firstofone
+              \bidi at afterenddocumentchecklabelsrerunhook}%
+  }
+}
+%    \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.
+%    Here the fix is simply though.
+%    \begin{macrocode}
+\AddToHook{file/after/dinbrief.cls}[firstaid]{%
+  \FirstAidNeededT{dinbrief}{cls}{2000/03/02 LaTeX2e class}%
+                  {\AddToHook{env/document/begin}{\begingroup}}%
+}
+%    \end{macrocode}
+%
+%
+%
+%
+%
+%    \begin{macrocode}
+%</kernel>
+%    \end{macrocode}
+%
+% \Finale
+%


Property changes on: trunk/Master/texmf-dist/source/latex/firstaid/latex2e-first-aid-for-external-files.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty	2020-10-01 22:18:22 UTC (rev 56507)
@@ -0,0 +1,108 @@
+%%
+%% This is file `filehook-ltx.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% latex2e-first-aid-for-external-files.dtx  (with options: `filehook')
+%% 
+%% 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-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
+%% 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
+%% `First Aid Bundle'. You may however distribute the LaTeX `First Aid Bundle'
+%% without such generated files.
+%% 
+%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020
+%% The LaTeX Project and any individual authors listed elsewhere
+%% in this file.
+\newcommand\AtBeginOfEveryFile [1]
+  {\AddToHook{file/before}{#1}}
+\newcommand\AtEndOfEveryFile [1]
+  {\AddToHook{file/after}{#1}}
+\newcommand\AtBeginOfIncludes [1]
+  {\AddToHook{include/before}{#1}}
+\newcommand\AtEndOfIncludes [1]
+  {\AddToHook{include/end}{#1}}
+\newcommand\AfterIncludes [1]
+  {\AddToHook{include/after}{#1}}
+\newcommand\AtBeginOfPackages [1]
+  {\AddToHook{package/before}{#1}}
+\newcommand\AtEndOfPackages [1]
+  {\AddToHook{package/after}{#1}}
+\newcommand\AtBeginOfClasses [1]
+  {\AddToHook{class/before}{#1}}
+\newcommand\AtEndOfClasses [1]
+  {\AddToHook{class/after}{#1}}
+\newcommand\AtBeginOfFile [2]
+  {\AddToHook{file/before/#1}{#2}}
+\newcommand\AtEndOfFile [2]
+  {\AddToHook{file/after/#1}{#2}}
+\DeclareDocumentCommand \AtBeginOfPackageFile {smm}
+   {\IfBooleanTF{#1}%
+     {\@ifpackageloaded{#2}%
+         {#3}%
+         {\AddToHook{package/before/#2}{#3}}}%
+     {\AddToHook{package/before/#2}{#3}}%
+   }
+\DeclareDocumentCommand \AtEndOfPackageFile {smm}
+   {\IfBooleanTF{#1}%
+     {\@ifpackageloaded{#2}%
+         {#3}%
+         {\AddToHook{package/after/#2}{#3}}}%
+     {\AddToHook{package/after/#2}{#3}}%
+   }
+\DeclareDocumentCommand \AtBeginOfClassFile {smm}
+   {\IfBooleanTF{#1}%
+     {\@ifclassloaded{#2}%
+         {#3}%
+         {\AddToHook{class/before/#2}{#3}}}%
+     {\AddToHook{class/before/#2}{#3}}%
+   }
+\DeclareDocumentCommand \AtEndOfClassFile {smm}
+   {\IfBooleanTF{#1}%
+     {\@ifclassloaded{#2}%
+         {#3}%
+         {\AddToHook{class/after/#2}{#3}}}%
+     {\AddToHook{class/after/#2}{#3}}%
+   }
+\newcommand\AtBeginOfIncludeFile [2]
+  {\AddToHook{include/before/#1}{#2}}
+\newcommand\AtEndOfIncludeFile [2]
+  {\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'.


Property changes on: trunk/Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: 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	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/firstaid/latex2e-first-aid-for-external-files.ltx	2020-10-01 22:18:22 UTC (rev 56507)
@@ -0,0 +1,68 @@
+%%
+%% This is file `latex2e-first-aid-for-external-files.ltx',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% latex2e-first-aid-for-external-files.dtx  (with options: `kernel')
+%% 
+%% 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-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
+%% 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
+%% `First Aid Bundle'. You may however distribute the LaTeX `First Aid Bundle'
+%% without such generated files.
+%% 
+%% 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/09/29}
+\def\LaTeXFirstAidVersion{v1.0c}
+\ProvidesFile{latex2e-first-aid-for-external-files.ltx}
+             [\LaTeXFirstAidDate\space \LaTeXFirstAidVersion\space
+               LaTeX kernel fixes to external files and packages]
+             %
+
+\ExplSyntaxOn
+\cs_new:Npn\FirstAidNeededT#1#2#3{
+  \exp_args:Nc\str_if_eq:onT{ver@#1.#2}{#3}
+}
+\ExplSyntaxOff
+\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}%
+  }
+}
+\AddToHook{file/after/dinbrief.cls}[firstaid]{%
+  \FirstAidNeededT{dinbrief}{cls}{2000/03/02 LaTeX2e class}%
+                  {\AddToHook{env/document/begin}{\begingroup}}%
+}
+\endinput
+%%
+%% End of file `latex2e-first-aid-for-external-files.ltx'.


Property changes on: trunk/Master/texmf-dist/tex/latex/firstaid/latex2e-first-aid-for-external-files.ltx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2020-10-01 21:30:52 UTC (rev 56506)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2020-10-01 22:18:22 UTC (rev 56507)
@@ -303,7 +303,7 @@
     fibeamer fifinddo-info fifo-stack fig4latex figbas figbib figflow figsize
     filecontents filecontentsdef filedate filehook fileinfo filemod
     findhyph fink finstrut fira firamath firamath-otf
-    first-latex-doc fitbox fithesis
+    first-latex-doc firstaid fitbox fithesis
     fix2col fixcmex fixfoot fixjfm fixlatvian fixltxhyph fixme fixmetodonotes
     fixpdfmag fiziko
     fjodor

Modified: trunk/Master/tlpkg/tlpsrc/00texlive.autopatterns.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/00texlive.autopatterns.tlpsrc	2020-10-01 21:30:52 UTC (rev 56506)
+++ trunk/Master/tlpkg/tlpsrc/00texlive.autopatterns.tlpsrc	2020-10-01 22:18:22 UTC (rev 56507)
@@ -21,10 +21,6 @@
 # practice to just rebuild the fmt anyway. It's also nice to have it
 # (l3backend) as an implicit dependency, by listing it here.
 # 
-# Similarly, although l3packages is only used in the -dev latex fmts
-# now, presumably all latex fmts will need it after the next release, so
-# don't worry about having it unnecessarily now.
-# 
 # tex-ini-files is not used by the e(u)ptex-based formats or eplain, but
 # it seems too painful to exclude it here and thus have to include it
 # everywhere else, or set up yet more variables. Seems fairly harmless.
@@ -36,7 +32,7 @@
 # code, so we don't get repeatedly warned about them. Maybe someday a
 # better approach will come to mind.
 # 
-tlpsetvar global_latex_deps babel,cm,hyphen-base,\
+tlpsetvar global_latex_deps babel,cm,firstaid,hyphen-base,\
 latex-fonts,l3backend,l3kernel,l3packages,tex-ini-files,unicode-data
 #
 # These packages are used by all LuaTeX variants - luatex, luajittex, luahbtex.

Modified: trunk/Master/tlpkg/tlpsrc/collection-latex.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-latex.tlpsrc	2020-10-01 21:30:52 UTC (rev 56506)
+++ trunk/Master/tlpkg/tlpsrc/collection-latex.tlpsrc	2020-10-01 22:18:22 UTC (rev 56507)
@@ -22,6 +22,7 @@
 depend epstopdf-pkg
 depend etexcmds
 depend fancyhdr
+depend firstaid
 depend fix2col
 depend geometry
 depend gettitlestring

Added: trunk/Master/tlpkg/tlpsrc/firstaid.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/firstaid.tlpsrc	                        (rev 0)
+++ trunk/Master/tlpkg/tlpsrc/firstaid.tlpsrc	2020-10-01 22:18:22 UTC (rev 56507)
@@ -0,0 +1 @@
+catalogue latex-firstaid



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