diff options
author | Karl Berry <karl@freefriends.org> | 2024-12-26 21:14:11 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2024-12-26 21:14:11 +0000 |
commit | b3c33480f64353451a3cef0657b6ea8e3cf2d463 (patch) | |
tree | 289081c5853ffdb8d76abf8ad4cd89a143337137 /Master/texmf-dist/tex | |
parent | 1ee17eedf71e03c5d7c29b686eba866cbdce396f (diff) |
expkv-bundle (26dec24)
git-svn-id: svn://tug.org/texlive/trunk@73212 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
14 files changed, 158 insertions, 76 deletions
diff --git a/Master/texmf-dist/tex/context/third/expkv-bundle/t-expkv-cs.tex b/Master/texmf-dist/tex/context/third/expkv-bundle/t-expkv-cs.tex index f4fcf8fdc0f..73aa33ef1c1 100644 --- a/Master/texmf-dist/tex/context/third/expkv-bundle/t-expkv-cs.tex +++ b/Master/texmf-dist/tex/context/third/expkv-bundle/t-expkv-cs.tex @@ -13,7 +13,7 @@ %% See http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -%% Copyright (C) 2020-2023 Jonathan P. Spratte +%% Copyright (C) 2020-2024 Jonathan P. Spratte %% %% This work may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this license or diff --git a/Master/texmf-dist/tex/context/third/expkv-bundle/t-expkv-def.tex b/Master/texmf-dist/tex/context/third/expkv-bundle/t-expkv-def.tex index 5752a499295..2dd8f672f67 100644 --- a/Master/texmf-dist/tex/context/third/expkv-bundle/t-expkv-def.tex +++ b/Master/texmf-dist/tex/context/third/expkv-bundle/t-expkv-def.tex @@ -13,7 +13,7 @@ %% See http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -%% Copyright (C) 2020-2023 Jonathan P. Spratte +%% Copyright (C) 2020-2024 Jonathan P. Spratte %% %% This work may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this license or diff --git a/Master/texmf-dist/tex/context/third/expkv-bundle/t-expkv-pop.tex b/Master/texmf-dist/tex/context/third/expkv-bundle/t-expkv-pop.tex index 4e66a908a9c..0309abd776b 100644 --- a/Master/texmf-dist/tex/context/third/expkv-bundle/t-expkv-pop.tex +++ b/Master/texmf-dist/tex/context/third/expkv-bundle/t-expkv-pop.tex @@ -13,7 +13,7 @@ %% See http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -%% Copyright (C) 2020-2023 Jonathan P. Spratte +%% Copyright (C) 2020-2024 Jonathan P. Spratte %% %% This work may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this license or diff --git a/Master/texmf-dist/tex/context/third/expkv-bundle/t-expkv.tex b/Master/texmf-dist/tex/context/third/expkv-bundle/t-expkv.tex index 489f2df0159..b6acaf2e7e7 100644 --- a/Master/texmf-dist/tex/context/third/expkv-bundle/t-expkv.tex +++ b/Master/texmf-dist/tex/context/third/expkv-bundle/t-expkv.tex @@ -13,7 +13,7 @@ %% See http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -%% Copyright (C) 2020-2023 Jonathan P. Spratte +%% Copyright (C) 2020-2024 Jonathan P. Spratte %% %% This work may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this license or diff --git a/Master/texmf-dist/tex/generic/expkv-bundle/expkv-cs.tex b/Master/texmf-dist/tex/generic/expkv-bundle/expkv-cs.tex index ef836dd7b57..e1a90e78dda 100644 --- a/Master/texmf-dist/tex/generic/expkv-bundle/expkv-cs.tex +++ b/Master/texmf-dist/tex/generic/expkv-bundle/expkv-cs.tex @@ -13,7 +13,7 @@ %% See http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -%% Copyright (C) 2020-2023 Jonathan P. Spratte +%% Copyright (C) 2020-2024 Jonathan P. Spratte %% %% This work may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this license or @@ -52,8 +52,8 @@ \else \expandafter\endinput \fi -\def\ekvcVersion{1.3} -\def\ekvcDate{2023-01-23} +\def\ekvcVersion{1.4} +\def\ekvcDate{2024-12-16} \csname ekvc@tmp\endcsname \expandafter\chardef\csname ekvc@tmp\endcsname=\catcode`\@ \catcode`\@=11 @@ -646,22 +646,26 @@ } \def\ekvc@enum@name#1#2#3{ekvc#1(#2)#3} \ekvpDefType{ekvc@setup@secondary}{enum} - {\ekvpAssertTwoValues{#3}\ekvc@type@enum\ekvc@type@enum@{#1}#3} + {\ekvpAssertTwoValues{#3}\ekvc@type@enum{#1}#3} \ekvpDefType{ekvc@setup@secondary}{choice} - {\ekvpAssertTwoValues{#3}\ekvc@type@enum\ekvc@type@choice@{#1}#3} -\protected\long\def\ekvc@type@enum#1#2#3% + {\ekvpAssertTwoValues{#3}\ekvc@type@choice{#1}#3} +\protected\long\def\ekvc@type@enum@or@choice#1#2% {% - \ekvc@assert@defined{#3}% + \ekvc@assert@defined{#2}% \ekvc@long\edef\ekvc@tmp##1% {% \ekv@unexpanded{\expandafter\ekvc@h@enum\detokenize}{##1}% \ekv@unexpanded{\ekvc@stop}% - {\ekvc@set}{#2}% + {\ekvc@set}{#1}% }% - \ekvlet\ekvc@set{#2}\ekvc@tmp + \ekvlet\ekvc@set{#1}\ekvc@tmp + } +\protected\long\def\ekvc@type@enum#1#2% + {% + \ekvc@type@enum@or@choice{#1}{#2}% \def\ekvc@tmp{0}% \expandafter\ekvcsvloop\expandafter - {\expandafter#1\csname\ekv@name\ekvc@set{#3}\endcsname{#2}}% + {\expandafter\ekvc@type@enum@\csname\ekv@name\ekvc@set{#2}\endcsname{#1}}% } \ekv@exparg{\protected\long\def\ekvc@type@enum@#1#2#3}% {% @@ -670,12 +674,29 @@ {\ekv@unexpanded{#1}{\ekvc@tmp}}% \edef\ekvc@tmp{\the\numexpr\ekvc@tmp+1\relax}% } -\ekv@exparg{\protected\long\def\ekvc@type@choice@#1#2#3}% +\protected\long\def\ekvc@type@choice#1#2% + {% + \ekvc@type@enum@or@choice{#1}{#2}% + \ekv@exparg + {% + \expandafter\ekvparse\expandafter + {% + \expandafter\ekvc@type@choice@k + \csname\ekv@name\ekvc@set{#2}\endcsname{#1}% + }% + }% + {% + \expandafter\ekvc@type@choice@p + \csname\ekv@name\ekvc@set{#2}\endcsname{#1}% + }% + } +\ekv@exparg{\protected\long\def\ekvc@type@choice@p#1#2#3#4}% {% \expandafter\expandafter\expandafter\edef\expandafter \csname\ekvc@enum@name\ekvc@set{#2}{\detokenize{#3}}\endcsname - {\ekv@unexpanded{#1{#3}}}% + {\ekv@unexpanded{#1{#4}}}% } +\protected\long\def\ekvc@type@choice@k#1#2#3{\ekvc@type@choice@p#1{#2}{#3}{#3}} \ekv@if@lastnamedcs {% \ekv@exparg{\def\ekvc@h@enum#1\ekvc@stop#2#3}% diff --git a/Master/texmf-dist/tex/generic/expkv-bundle/expkv-def.tex b/Master/texmf-dist/tex/generic/expkv-bundle/expkv-def.tex index 89ddadbf916..078f7ea0dac 100644 --- a/Master/texmf-dist/tex/generic/expkv-bundle/expkv-def.tex +++ b/Master/texmf-dist/tex/generic/expkv-bundle/expkv-def.tex @@ -13,7 +13,7 @@ %% See http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -%% Copyright (C) 2020-2023 Jonathan P. Spratte +%% Copyright (C) 2020-2024 Jonathan P. Spratte %% %% This work may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this license or @@ -52,8 +52,8 @@ \else \expandafter\endinput \fi -\def\ekvdVersion{1.0} -\def\ekvdDate{2023-01-23} +\def\ekvdVersion{1.1} +\def\ekvdDate{2024-12-16} \csname ekvd@tmp\endcsname \expandafter\chardef\csname ekvd@tmp\endcsname=\catcode`\@ \catcode`\@=11 @@ -456,6 +456,20 @@ } \protected\long\def\ekvd@type@smeta@#1#2#3% {\ekvd@prot\ekvd@long\ekv@expargtwice{\def\ekvd@tmp#3}{\ekvset{#1}{#2}}} +\ekvd@def@type{alias} + {% + \ekvd@assert@arg + \ekvd@assert@not@protected + \ekvd@assert@not@long + \ekvd@assert@not@also + \ekvifdefined\ekvd@set{#3}{\ekvd@do@new{}{#1}}{}% + \ekvifdefinedNoVal\ekvd@set{#3}{\ekvd@do@new{NoVal}{#1}}{}% + \ekvpAssertTF + {\ekvifdefined\ekvd@set{#3}\@firstoftwo{\ekvifdefinedNoVal\ekvd@set{#3}}}% + {undefined key `#3'}% + \ekvifdefined\ekvd@set{#3}{\ekvletkv\ekvd@set{#1}\ekvd@set{#3}}{}% + \ekvifdefinedNoVal\ekvd@set{#3}{\ekvletkvNoVal\ekvd@set{#1}\ekvd@set{#3}}{}% + } \protected\def\ekvd@type@choice#1% {% \ekvd@assert@not@long @@ -542,6 +556,35 @@ {#1=\@firstofone{\ekvd@tmp} }% \edef\ekvd@tmp{\the\numexpr\ekvd@tmp+1\relax}% } +\ekvd@def@type{choice-aliases} + {% + \ekvd@assert@arg + \ekvd@assert@not@protected + \ekvd@assert@not@long + \ekvd@assert@not@also + \ekvd@assert@already@choice{#1}% + \ekvparse\ekvd@err@missing@value{\ekvd@t@choicealias{#1}}{#3}% + } +\protected\long\def\ekvd@t@choicealias#1#2#3% + {% + \ifx\ekvd@do@new\ekvd@assert@new + \ekv@fi@firstofone + \fi + \@gobble + {% + \ekv@ifdefined{\ekvd@choice@name\ekvd@set{#1}{#2}}% + {\ekvd@err@not@new@choice{#2}\ekv@gobbleto@stop}% + {}% + }% + \ekv@ifdefined{\ekvd@choice@name\ekvd@set{#1}{#3}}% + {% + \expandafter\let + \csname\ekvd@choice@name\ekvd@set{#1}{#2}\expandafter\endcsname + \csname\ekvd@choice@name\ekvd@set{#1}{#3}\endcsname + }% + {\ekvd@err@undefined@choice{#1}{#3}}% + \@gobble\ekv@stop + } \ekvd@def@type{unknown-choice} {% \ekvd@do@new@for@name{\ekvd@unknown@choice@name\ekvd@set{#1}}% @@ -770,9 +813,14 @@ } \protected\def\ekvd@if@not@already@choice#1% {% - \expandafter\ekvd@if@not@already@choice@a - \csname\ekv@name\ekvd@set{#1}\endcsname - {}\ekvd@h@choice\ekvd@stop + \ekvifdefined\ekvd@set{#1}% + {% + \expandafter + \ekvd@if@not@already@choice@a + \csname\ekv@name\ekvd@set{#1}\endcsname + {}\ekvd@h@choice\ekvd@stop + }% + {\@firstofone}% } \protected\def\ekvd@if@not@already@choice@a {% @@ -782,6 +830,8 @@ {% \ekv@ifempty{#2}\@firstofone\@gobble } +\long\def\ekvd@assert@already@choice#1% + {\ekvd@if@not@already@choice{#1}{\ekvd@err@not@choice\ekvpGobbleT}} \long\def\ekvd@ifspace#1% {% \ekvd@ifspace@#1 \ekv@ifempty@B @@ -813,7 +863,7 @@ {% \ekvd@errm {% - Undefined noval key `\ekv@unexpanded{#1}' found while processing + Undefined NoVal key `\ekv@unexpanded{#1}' found while processing `\ekvd@cur'% }% } @@ -835,8 +885,19 @@ } \protected\def\ekvd@err@not@new {\ekvd@errm{The key for `\ekvd@cur' is already defined}} -\protected\long\def\ekvd@err@misused@unknown +\protected\def\ekvd@err@not@new@choice#1% + {\ekvd@errm{The choice `\detokenize{#1}' is already defined for `\ekvd@cur'}} +\protected\def\ekvd@err@misused@unknown {\ekvd@errm{Misuse of the unknown type found while processing `\ekvd@cur'}} +\protected\long\def\ekvd@err@not@choice + {\ekvd@errm{The key for `\ekvd@cur' is not an existing choice key}} +\protected\long\def\ekvd@err@missing@value#1% + {\ekvd@errm{Missing value for `#1' in `\ekvd@cur'}} +\protected\long\def\ekvd@err@undefined@choice#1#2% + {% + \ekvd@errm + {Undefined choice `#2' for key `#1' found while processing `\ekvd@cur'}% + } \def\ekvd@err@choice@invalid#1% {% \ekvd@err@choice@invalid@#1% diff --git a/Master/texmf-dist/tex/generic/expkv-bundle/expkv-pop.tex b/Master/texmf-dist/tex/generic/expkv-bundle/expkv-pop.tex index d0d77817d9a..163c72a30d9 100644 --- a/Master/texmf-dist/tex/generic/expkv-bundle/expkv-pop.tex +++ b/Master/texmf-dist/tex/generic/expkv-bundle/expkv-pop.tex @@ -13,7 +13,7 @@ %% See http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -%% Copyright (C) 2020-2023 Jonathan P. Spratte +%% Copyright (C) 2020-2024 Jonathan P. Spratte %% %% This work may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this license or diff --git a/Master/texmf-dist/tex/generic/expkv-bundle/expkv.tex b/Master/texmf-dist/tex/generic/expkv-bundle/expkv.tex index 5e6488039b1..a5bfd2b79af 100644 --- a/Master/texmf-dist/tex/generic/expkv-bundle/expkv.tex +++ b/Master/texmf-dist/tex/generic/expkv-bundle/expkv.tex @@ -13,7 +13,7 @@ %% See http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -%% Copyright (C) 2020-2023 Jonathan P. Spratte +%% Copyright (C) 2020-2024 Jonathan P. Spratte %% %% This work may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this license or @@ -74,8 +74,8 @@ \expandafter\endinput \fi \fi -\def\ekvVersion{2.0} -\def\ekvDate{2023-01-23} +\def\ekvVersion{2.1} +\def\ekvDate{2024-12-26} \csname ekv@tmp\endcsname \expandafter\chardef\csname ekv@tmp\endcsname=\catcode`\@ \catcode`\@=11 @@ -123,6 +123,9 @@ \long\def\ekv@ifblank@\ekv@mark#1#2\ekv@stop{} \long\def\ekv@ifblank@false\ekv@stop\@firstoftwo#1#2{#2} \def\ekv@ifblank@gobbletrue\ekv@stop#1{} +\long\def\ekv@ifatmostone#1% + {\ekv@ifatmostone@#1\ekv@stop\ekv@ifblank@false\ekv@stop\@firstoftwo} +\long\def\ekv@ifatmostone@#1#2#3\ekv@stop{} \ekv@if@lastnamedcs {% \long\def\ekv@ifdefined#1{\ifcsname#1\endcsname\ekv@ifdef@\fi\@secondoftwo} @@ -228,14 +231,13 @@ {\ekv@csv@loop{#2}\ekv@mark} \def\ekv@name@set#1{ekv#1(} \long\def\ekv@name@key#1{#1)} -\edef\ekv@name +\long\ekv@expandedarg{\def\ekv@name#1#2}% {% \ekv@unexpanded\expandafter{\ekv@name@set{#1}}% \ekv@unexpanded\expandafter{\ekv@name@key{\detokenize{#2}}}% } -\long\ekv@exparg{\def\ekv@name#1#2}{\ekv@name} \def\ekv@undefined@set#1{! expkv Error: Set `#1' undefined.} -\edef\ekv@checkvalid +\protected\ekv@expandedarg{\def\ekv@checkvalid#1#2}% {% \ekv@unexpanded\expandafter{\ekv@ifempty{#1}}% \ekv@unexpanded @@ -256,7 +258,6 @@ }% \ekv@unexpanded{\@gobble}% } -\ekv@exparg{\protected\def\ekv@checkvalid#1#2}{\ekv@checkvalid}% \ekv@expargtwice{\long\def\ekvifdefined#1#2}% {\expandafter\ekv@ifdefined\expandafter{\ekv@name{#1}{#2}}} \ekv@expargtwice{\long\def\ekvifdefinedNoVal#1#2}% @@ -1071,22 +1072,22 @@ \ekv@expansion@parse@pair@\@gobble{#2}% } \long\def\ekv@expansion@parse@pair@#1#2\@gobble#3{\ekv@unexpanded{#3{#1}{#2}}} -\ekv@expargtwice{\protected\def\ekvsetdef#1#2}% +\ekv@exparg{\protected\def\ekvsetdef#1#2}% {% \romannumeral - \ekv@exparg{\ekv@zero\ekv@exparg{\def#1##1}}% + \ekv@exparg{\expandafter\ekv@zero\ekv@exparg{\def#1##1}}% {\ekvset{#2}{##1}}% } -\ekv@expargtwice{\protected\def\ekvsetSneakeddef#1#2}% +\ekv@exparg{\protected\def\ekvsetSneakeddef#1#2}% {% \romannumeral - \ekv@exparg{\ekv@zero\ekv@exparg{\long\def#1##1##2}}% + \ekv@exparg{\expandafter\ekv@zero\ekv@exparg{\def#1##1##2}}% {\ekvsetSneaked{#2}{##1}{##2}}% } -\ekv@expargtwice{\protected\def\ekvsetdefSneaked#1#2#3}% +\ekv@exparg{\protected\long\def\ekvsetdefSneaked#1#2#3}% {% \romannumeral - \ekv@exparg{\ekv@zero\ekv@exparg{\long\def#1##1}}% + \ekv@exparg{\expandafter\ekv@zero\ekv@exparg{\def#1##1}}% {\ekvsetSneaked{#2}{#3}{##1}}% } \begingroup @@ -1094,7 +1095,11 @@ \@firstofone{\endgroup \def\ekv@alignsafe{\romannumeral\iffalse{\fi`^^@ } } -\def\ekv@endalignsafe{\ifnum`{=\ekv@zero}\fi} +\begingroup +\catcode`\^^@=1 +\@firstofone{\endgroup + \edef\ekv@endalignsafe{\ekv@unexpanded{\romannumeral`^^@\iffalse}\fi} } +} \begingroup \def\ekvoptarg#1#2{% \endgroup @@ -1112,25 +1117,22 @@ #2% \@firstofone{ ##2}{##3}% } -\long\def\ekv@optarg@b\ekv@mark[\ekv@mark\ifnum`##1\fi\@firstofone##2##3##4##5]% +\@firstofone{\long\def\ekv@optarg@b + \ekv@mark[\ekv@mark\romannumeral`##1\fi} \@firstofone##2##3##4##5]% {#2##2{##5}} -\long\def\ekv@optargTF@b - ##1\ekv@mark[\ekv@mark\ifnum`##2\fi\@firstofone##3##4##5]% +\@firstofone{\long\def\ekv@optargTF@b + ##1\ekv@mark[\ekv@mark\romannumeral`##2\fi} \@firstofone##3##4##5]% {#2 ##1{##5}} } \ekv@exparg - {% - \expandafter\ekv@strip\expandafter - {\expandafter\ekv@mark\ekv@alignsafe}% - \ekvoptarg - }% + {\ekv@exparg\ekv@strip{\expandafter\ekv@mark\ekv@alignsafe}\ekvoptarg}% \ekv@endalignsafe \long\def\ekv@optarg@if#1\ekv@mark[\ekv@mark{} \long\def\ekv@ifstar#1#2#3% {% - \if*\string#3% - \ekv@fi@firstoftwo - \fi + \ekv@ifatmostone{#3}% + {\if*\string#3\ekv@fi@firstoftwo\fi}% + {}% \@secondoftwo {#1}% {#2{#3}}% @@ -1223,7 +1225,7 @@ \ekv@exparg{\long\def\ekv@err@common@#1`#2' #3.#4#5}% {\ekv@err{#4 `#5' in set `#2'}} \ekv@exparg{\long\def\ekv@err@unknown#1#2}{\ekv@err@common{unknown key}{#1}} -\ekv@exparg{\long\def\ekv@err@noarg#1#2} +\ekv@exparg{\long\def\ekv@err@noarg#1#2}% {\ekv@err@common{unwanted value for}{#1}} \ekv@exparg{\long\def\ekv@err@reqval#1#2}% {\ekv@err@common{missing value for}{#1}} @@ -1232,7 +1234,7 @@ \ekv@exparg{\def\ekv@err@redirect@k@notfound#1#2\ekv@stop}% {\ekv@err{no NoVal key `#1' in sets #2}} \ekv@exparg{\def\ekv@err@undefined@expansion#1\fi}% - {\expandafter\fi\ekv@err{Undefined expansion rule `#1'}}% + {\expandafter\fi\ekv@err{Undefined expansion rule `#1'}} \ekv@exparg{\def\ekv@err@erroneous@variable#1}% {\ekv@err{Erroneous variable `#1' used}} \ekv@exparg{\def\ekv@err@key@no@reinsert}% diff --git a/Master/texmf-dist/tex/latex/expkv-bundle/expkv-cs.sty b/Master/texmf-dist/tex/latex/expkv-bundle/expkv-cs.sty index 66faca62fe7..b84419000ca 100644 --- a/Master/texmf-dist/tex/latex/expkv-bundle/expkv-cs.sty +++ b/Master/texmf-dist/tex/latex/expkv-bundle/expkv-cs.sty @@ -13,7 +13,7 @@ %% See http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -%% Copyright (C) 2020-2023 Jonathan P. Spratte +%% Copyright (C) 2020-2024 Jonathan P. Spratte %% %% This work may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this license or diff --git a/Master/texmf-dist/tex/latex/expkv-bundle/expkv-def.sty b/Master/texmf-dist/tex/latex/expkv-bundle/expkv-def.sty index 300974bd57f..ae8bbb846f4 100644 --- a/Master/texmf-dist/tex/latex/expkv-bundle/expkv-def.sty +++ b/Master/texmf-dist/tex/latex/expkv-bundle/expkv-def.sty @@ -13,7 +13,7 @@ %% See http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -%% Copyright (C) 2020-2023 Jonathan P. Spratte +%% Copyright (C) 2020-2024 Jonathan P. Spratte %% %% This work may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this license or diff --git a/Master/texmf-dist/tex/latex/expkv-bundle/expkv-opt-2020-10-10.sty b/Master/texmf-dist/tex/latex/expkv-bundle/expkv-opt-2020-10-10.sty index c2082261d77..45864b6021b 100644 --- a/Master/texmf-dist/tex/latex/expkv-bundle/expkv-opt-2020-10-10.sty +++ b/Master/texmf-dist/tex/latex/expkv-bundle/expkv-opt-2020-10-10.sty @@ -13,7 +13,7 @@ %% See http://www.latex-project.org/lppl.txt %% -------------------------------------------------------------- %% -%% Copyright (C) 2020-2023 Jonathan P. Spratte +%% Copyright (C) 2020-2024 Jonathan P. Spratte %% %% This work may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this license or diff --git a/Master/texmf-dist/tex/latex/expkv-bundle/expkv-opt.sty b/Master/texmf-dist/tex/latex/expkv-bundle/expkv-opt.sty index a3d3dd2a742..8b768949737 100644 --- a/Master/texmf-dist/tex/latex/expkv-bundle/expkv-opt.sty +++ b/Master/texmf-dist/tex/latex/expkv-bundle/expkv-opt.sty @@ -13,7 +13,7 @@ %% See http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -%% Copyright (C) 2020-2023 Jonathan P. Spratte +%% Copyright (C) 2020-2024 Jonathan P. Spratte %% %% This work may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this license or @@ -58,8 +58,8 @@ } \DeclareRelease{v0.1}{2020/10/10}{expkv-opt-2020-10-10.sty} \DeclareCurrentRelease{v0.2}{2021/04/04} -\newcommand*\ekvoVersion{1.0} -\newcommand*\ekvoDate{2023-01-23} +\newcommand*\ekvoVersion{1.1} +\newcommand*\ekvoDate{2024-12-16} \ProvidesPackage{expkv-opt} [% \ekvoDate\space v\ekvoVersion\space @@ -146,6 +146,19 @@ {\unexpanded\expandafter{#1}} \protected\def\ekvo@set@handlers@local {% + \ifx\@currext\@clsextension + \unless\ifx\@classoptionslist\relax + \expandafter + \ifx + \csname @raw@opt@\@currname.\@currext\endcsname + \@raw@classoptionslist + \unless\ifx\@unusedoptionlist\@empty + \let\ekvo@handle@defined@k\ekvo@rmfrom@unused@one + \let\ekvo@handle@defined@kv\ekvo@rmfrom@unused@two + \fi + \fi + \fi + \fi \ekvo@if@need@handlers {% \ifx\@currext\@clsextension @@ -159,10 +172,6 @@ \@raw@classoptionslist \let\ekvo@handle@undefined@k\ekvo@addto@unused@one \let\ekvo@handle@undefined@kv\ekvo@addto@unused@two - \unless\ifx\@unusedoptionlist\@empty - \let\ekvo@handle@defined@k\ekvo@rmfrom@unused@one - \let\ekvo@handle@defined@kv\ekvo@rmfrom@unused@two - \fi \else \let\ekvo@handle@undefined@k\@gobble \let\ekvo@handle@undefined@kv\@gobbletwo @@ -401,17 +410,6 @@ \let\ekvo@handle@defined@kv\@gobbletwo }% } -\protected\def\ekvoProcessUnusedGlobalOptions#1% - {% - \PackageError{expkv-opt}% - {% - \noexpand - \ekvoProcessUnusedGlobalOptions no longer works because of changes in% - \MessageBreak - the LaTeX2e kernel% - }% - {}% - } \IfFormatAtLeastTF{2022/11/01} {% \protected\def\ekvoProcessFutureOptions#1% @@ -489,7 +487,7 @@ \csname\ekvo@name{}uN\expandafter\endcsname\expandafter {\detokenize{##1}}{##1}% }% - {\@gobble}% + {}% }% \long\def\ekvo@handle@undefined@kv##1##2% {% diff --git a/Master/texmf-dist/tex/latex/expkv-bundle/expkv-pop.sty b/Master/texmf-dist/tex/latex/expkv-bundle/expkv-pop.sty index d72d49d2567..28a58b43058 100644 --- a/Master/texmf-dist/tex/latex/expkv-bundle/expkv-pop.sty +++ b/Master/texmf-dist/tex/latex/expkv-bundle/expkv-pop.sty @@ -13,7 +13,7 @@ %% See http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -%% Copyright (C) 2020-2023 Jonathan P. Spratte +%% Copyright (C) 2020-2024 Jonathan P. Spratte %% %% This work may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this license or diff --git a/Master/texmf-dist/tex/latex/expkv-bundle/expkv.sty b/Master/texmf-dist/tex/latex/expkv-bundle/expkv.sty index 310beff3bc9..80db4430728 100644 --- a/Master/texmf-dist/tex/latex/expkv-bundle/expkv.sty +++ b/Master/texmf-dist/tex/latex/expkv-bundle/expkv.sty @@ -13,7 +13,7 @@ %% See http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -%% Copyright (C) 2020-2023 Jonathan P. Spratte +%% Copyright (C) 2020-2024 Jonathan P. Spratte %% %% This work may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this license or |