diff options
author | Karl Berry <karl@freefriends.org> | 2022-06-08 20:41:20 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-06-08 20:41:20 +0000 |
commit | 0525ef25305c7f48ef158ac19f68bae09c664d60 (patch) | |
tree | 30bec1f740b86109fd5c0e21b1337f7f563d9dee /Master/texmf-dist/source/latex/base/ltclass.dtx | |
parent | 1ad2a2e7d1e951099f662da861d573aa77eeedce (diff) |
latex2e (8jun22)
git-svn-id: svn://tug.org/texlive/trunk@63514 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/base/ltclass.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/base/ltclass.dtx | 79 |
1 files changed, 51 insertions, 28 deletions
diff --git a/Master/texmf-dist/source/latex/base/ltclass.dtx b/Master/texmf-dist/source/latex/base/ltclass.dtx index 06e0f437af1..20e59353ec0 100644 --- a/Master/texmf-dist/source/latex/base/ltclass.dtx +++ b/Master/texmf-dist/source/latex/base/ltclass.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2021 +% Copyright (C) 1993-2022 % The LaTeX Project and any individual authors listed elsewhere % in this file. % @@ -33,7 +33,7 @@ %<*driver> % \fi \ProvidesFile{ltclass.dtx} - [2021/08/25 v1.4f LaTeX Kernel (Class & Package Interface)] + [2022/04/16 v1.5b LaTeX Kernel (Class & Package Interface)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltclass.dtx} @@ -338,7 +338,7 @@ % or the old name \cs{@ifpackagelater}. % \DescribeMacro\IfFormatAtLeastTF -% To test the format date use +% To test the format date use % \begin{quote} % |\IfFormatAtLeastTF{|\meta{date}|}{|^^A % \meta{true}|}{|\meta{false}|}| @@ -434,7 +434,7 @@ % standard (and other non-standard) distributions can put informative % strings in this argument. % -% \StopEventually{} +% \MaybeStop{} % % \section{Implementation} % @@ -1833,7 +1833,7 @@ %</2ekernel|latexrelease> %<latexrelease>\EndIncludeInRelease % \end{macrocode} -% +% % \begin{macrocode} %<latexrelease>\IncludeInRelease{0000/00/00}% %<latexrelease> {\RequirePackageWithOptions}{Unused options issue}% @@ -2175,27 +2175,22 @@ % \begin{macrocode} \@ifl@aded\@currext\@currname % \end{macrocode} -% If the package is already loaded, check that there were no option -% clashes: -% \changes{v1.1b}{1998/05/07} -% {Modify help message for latex/2805} -% \begin{macrocode} - {\@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}% +% \changes{v1.5b}{2022/03/18}{Switch to \cs{ProcessKeyOptions}} +% In the current preferred approach, a key family name will exist for +% processing using \pkg{ltkeys}. In that case, we replace the previous +% package options with the new ones, then call the key handler. +% Otherwise, we use the more classical clash handler. +% \begin{macrocode} + {% + \@ifundefined{opt@fam@\@currname.\@currext} + {\@onefilewithoptions@clashchk{#2}} + {% + \@namedef{opt@\@currname.\@currext}{#2}% + \expandafter\expandafter\expandafter\ProcessKeyOptions + \expandafter\expandafter\expandafter + [\csname opt@fam@\@currname.\@currext\endcsname]% + }% + }% {\makeatletter % \end{macrocode} % The next line seems to be necessary for 2.09 compatibility (the @@ -2298,6 +2293,34 @@ \@reset@ptions} % \end{macrocode} % +% \begin{macro}{\@onefilewithoptions@clashchk} +% If the package is already loaded, check that there were no option +% clashes. +% \changes{v1.1b}{1998/05/07} +% {Modify help message for latex/2805} +% \changes{v1.5a}{2021/11/30} +% {Separated out from \cs{@onefilewithoptions}} +% \begin{macrocode} +\def\@onefilewithoptions@clashchk#1{% + \@if@ptions\@currext{\@currname}{#1}{}% + {\@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[#1]\MessageBreak + Adding the global options:\MessageBreak + \space\space + \@ptionlist{\@currname.\@currext},#1\MessageBreak + to your \noexpand\documentclass declaration may fix this.% + \MessageBreak + Try typing \space <return> \space to proceed.}}% + \@firstofone} +% \end{macrocode} +% \end{macro} +% % \begin{macrocode} \let\@currpkg@reqd\@empty % \end{macrocode} @@ -2622,7 +2645,7 @@ %<latexrelease>\EndIncludeInRelease %<*2ekernel> % \end{macrocode} -% +% % \begin{macrocode} \@onlypreamble\AtBeginDocument % \end{macrocode} @@ -2826,7 +2849,7 @@ % \end{macrocode} % % \changes{v1.3m}{2020-08-08}{define \cs{q@curr@file} directly as the -% quotes have already been removed (gh/220)} +% quotes have already been removed (gh/220)} % \begin{macrocode} \gdef\filec@ntents#1{% \set@curr@file{\filec@ntents@checkdir#1}% |