summaryrefslogtreecommitdiff
path: root/macros/latex-dev/base/ltclass.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex-dev/base/ltclass.dtx')
-rw-r--r--macros/latex-dev/base/ltclass.dtx34
1 files changed, 14 insertions, 20 deletions
diff --git a/macros/latex-dev/base/ltclass.dtx b/macros/latex-dev/base/ltclass.dtx
index 3d19971701..9dc65d2bb9 100644
--- a/macros/latex-dev/base/ltclass.dtx
+++ b/macros/latex-dev/base/ltclass.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltclass.dtx}
- [2019/09/11 v1.3c LaTeX Kernel (Class & Package Interface)]
+ [2019/10/18 v1.3d LaTeX Kernel (Class & Package Interface)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltclass.dtx}
@@ -155,7 +155,7 @@
% verbatim to the file name given as the first argument, together with
% some comments about how it was produced.
%
-% The package can also be called with an optional argument which is
+% The environment can also be called with an optional argument which is
% used to alter some of its behavior: option \texttt{force} or
% \texttt{overwrite} will allow for overwriting existing files,
% option \texttt{nosearch} will only check the current directory
@@ -1429,12 +1429,13 @@
% {Made the initial version [] not [\cs{@unknownversion}]}
% \changes{v0.2m}{1993/12/07}
% {Reset \cs{CurrentOption}}
+% \changes{v1.3d}{2019/10/18}{Initialize \cs{...-h@@k} only when loading
+% the package or class (gh/198)}
% \begin{macrocode}
\def\@onefilewithoptions#1[#2][#3]#4{%
\@pushfilename
\xdef\@currname{#1}%
\global\let\@currext#4%
- \expandafter\let\csname\@currname.\@currext-h@@k\endcsname\@empty
\let\CurrentOption\@empty
\@reset@ptions
\makeatletter
@@ -1470,6 +1471,11 @@
% \begin{macrocode}
\global\expandafter
\let\csname ver@\@currname.\@currext\endcsname\@empty
+% \end{macrocode}
+% We initialize \cs{...-h@@k} here and only if we load the file so that it
+% remains undefined otherwise.
+% \begin{macrocode}
+ \expandafter\let\csname\@currname.\@currext-h@@k\endcsname\@empty
\InputIfFileExists
{\@currname.\@currext}%
{}%
@@ -1731,8 +1737,6 @@
%<latexrelease>\IncludeInRelease{2019/10/01}%
%<latexrelease> {\filec@ntents}{Spaces in file names + optional arg}%
%
-
-
% \end{macrocode}
% We use |@tempswa| to mean no preamble writing and reuse |@filesw|
% to indicate no overwriting:
@@ -2153,7 +2157,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
-
+%
% \begin{macro}{\pkgcls@candidate}
% \begin{macro}{\pkgcls@releasedate}
% When looping through the |\DeclareRelease| declarations we
@@ -2388,10 +2392,7 @@
\def\pkgcls@targetlabel{#1}}
% \end{macrocode}
% \end{macro}
-
-
-
-
+%
% \begin{macro}{\DeclareRelease}
% First argument is the ``name'' of the release and it can be left empty
% if one doesn't like to give a name to the release.
@@ -2497,10 +2498,7 @@
}
% \end{macrocode}
% \end{macro}
-
-
-
-
+%
% \begin{macro}{\pkgcls@use@this@release}
% If a certain release has been selected (stored in the external
% file given in \verb=#1=) we need to input it and afterwards stop
@@ -2535,8 +2533,7 @@
}
% \end{macrocode}
% \end{macro}
-
-
+%
% \begin{macro}{\pkgcls@show@selection}
% This command records what selection was made. As that is needed
% in two places (and it is rather lengthly) it was placed in a
@@ -2578,8 +2575,7 @@
}
% \end{macrocode}
% \end{macro}
-
-
+%
% \begin{macro}{\pkgcls@rollbackdate@error}
% This is called if the requested rollback date is earlier than the
% earliest known release of a package or class.
@@ -2635,7 +2631,6 @@
% |\DeclareCurrentRelease| but no declared older releases (so
% basically the use of the declaration is a bit dubious).
% \begin{macrocode}
-
\ifx\pkgcls@candidate\@empty
\pkgcls@rollbackdate@error{#2}%
\else
@@ -2669,7 +2664,6 @@
% \end{macro}
%
%
-
% \begin{macro}{\IfTargetDateBefore}
% This enables a simple form of conditional code inside a class or
% package file. If there is a date request and the request date is