From 83bce5369c17e79e461fc45c3707d11990d9c9a7 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 2 May 2020 17:45:59 +0000 Subject: expkv-def missed git-svn-id: svn://tug.org/texlive/trunk@54970 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/expkv-def/README.md | 2 +- .../texmf-dist/doc/latex/expkv-def/expkv-def.pdf | Bin 302355 -> 303450 bytes .../source/latex/expkv-def/expkv-def.dtx | 32 +++++++++++++-------- .../texmf-dist/tex/generic/expkv-def/expkv-def.tex | 24 +++++++++------- 4 files changed, 35 insertions(+), 23 deletions(-) diff --git a/Master/texmf-dist/doc/latex/expkv-def/README.md b/Master/texmf-dist/doc/latex/expkv-def/README.md index 5ebc62d7e81..554b5a6dcf9 100644 --- a/Master/texmf-dist/doc/latex/expkv-def/README.md +++ b/Master/texmf-dist/doc/latex/expkv-def/README.md @@ -1,7 +1,7 @@ ------------------------------------------------------------------------------- # expkv-def -- a key-defining frontend for expkv -Version 2020-04-04 v0.2a +Version 2020-04-29 v0.3 Released under the LaTeX Project Public License v1.3c or later See http://www.latex-project.org/lppl.txt diff --git a/Master/texmf-dist/doc/latex/expkv-def/expkv-def.pdf b/Master/texmf-dist/doc/latex/expkv-def/expkv-def.pdf index 61d1a09cbe2..ec3bf9fac91 100644 Binary files a/Master/texmf-dist/doc/latex/expkv-def/expkv-def.pdf and b/Master/texmf-dist/doc/latex/expkv-def/expkv-def.pdf differ diff --git a/Master/texmf-dist/source/latex/expkv-def/expkv-def.dtx b/Master/texmf-dist/source/latex/expkv-def/expkv-def.dtx index 2fa5b5a62a1..437c296d147 100644 --- a/Master/texmf-dist/source/latex/expkv-def/expkv-def.dtx +++ b/Master/texmf-dist/source/latex/expkv-def/expkv-def.dtx @@ -450,7 +450,8 @@ and the derived files expkv-def.pdf % This key type can set other keys, you can access the \val\ which was passed % to \key\ inside the \kv\ list with |#1|. It works by calling a sub-|\ekvset| % on the \kv\ list, so a |set| key will only affect that \kv\ list and not the -% current |\ekvset|. +% current |\ekvset|. Since it runs in a separate |\ekvset| you can't use +% |\ekvsneak| using keys or similar macros in the way you normally could. % \end{function} % % \begin{function}{nmeta} @@ -668,8 +669,8 @@ and the derived files expkv-def.pdf % \begin{macro}{\ekvdVersion,\ekvdDate} % We're on our first input, so lets store the version and date in a macro. % \begin{macrocode} -\def\ekvdVersion{0.2a} -\def\ekvdDate{2020-04-04} +\def\ekvdVersion{0.3} +\def\ekvdDate{2020-04-29} % \end{macrocode} % \end{macro} % @@ -1115,7 +1116,10 @@ and the derived files expkv-def.pdf % \end{macro} % % \begin{macro}[internal] -% {\ekvd@type@meta,\ekvd@type@meta@,\ekvd@t@meta,\ekvd@t@nmeta} +% { +% \ekvd@type@meta,\ekvd@type@meta@a,\ekvd@type@meta@b,\ekvd@type@meta@c, +% \ekvd@t@meta,\ekvd@t@nmeta +% } % |meta| sets up things such that another instance of |\ekvset| will be run on % the argument, with the same \set. % \begin{macrocode} @@ -1124,13 +1128,21 @@ and the derived files expkv-def.pdf \ekvd@assert@filledarg{#1meta #4}{#5}% {% \edef\ekvd@tmp{\ekvd@set}% - \expandafter\ekvd@type@meta@\expandafter{\ekvd@tmp}{#3}{#5}% + \expandafter\ekvd@type@meta@a\expandafter{\ekvd@tmp}{#5}{#3}% #2\ekvd@set{#4}\ekvd@tmp }% } -\protected\long\def\ekvd@type@meta@#1#2#3% +\protected\long\def\ekvd@type@meta@a#1#2% + {% + \expandafter\ekvd@type@meta@b\expandafter{\ekvset{#1}{#2}}% + } +\protected\def\ekvd@type@meta@b {% - \ekvd@prot\ekvd@long\def\ekvd@tmp#2{\ekvset{#1}{#3}}% + \expandafter\ekvd@type@meta@c\expandafter + } +\protected\long\def\ekvd@type@meta@c#1#2% + {% + \ekvd@prot\ekvd@long\def\ekvd@tmp#2{#1}% } \protected\def\ekvd@t@meta{\ekvd@type@meta{}\ekvlet{##1}} \protected\long\def\ekvd@t@nmeta#1#2% @@ -1151,14 +1163,10 @@ and the derived files expkv-def.pdf {% \ekvd@assert@twoargs{s#1meta #4}{#5}% {% - \expandafter\ekvd@type@smeta@\expandafter{\@secondoftwo#5}{#5}{#3} + \ekvd@type@meta@a#5{#3}% #2\ekvd@set{#4}\ekvd@tmp }% } -\protected\long\def\ekvd@type@smeta@#1#2#3% - {% - \expandafter\ekvd@type@meta@\expandafter{\@firstoftwo#2}{#3}{#1}% - } \protected\def\ekvd@t@smeta{\ekvd@type@smeta{}\ekvlet{##1}} \protected\long\def\ekvd@t@snmeta#1#2% {% diff --git a/Master/texmf-dist/tex/generic/expkv-def/expkv-def.tex b/Master/texmf-dist/tex/generic/expkv-def/expkv-def.tex index b5c5038d0d0..6237d0803f8 100644 --- a/Master/texmf-dist/tex/generic/expkv-def/expkv-def.tex +++ b/Master/texmf-dist/tex/generic/expkv-def/expkv-def.tex @@ -35,8 +35,8 @@ \else \expandafter\endinput \fi -\def\ekvdVersion{0.2a} -\def\ekvdDate{2020-04-04} +\def\ekvdVersion{0.3} +\def\ekvdDate{2020-04-29} \csname ekvd@tmp\endcsname \expandafter\chardef\csname ekvd@tmp\endcsname=\catcode`\@ \catcode`\@=11 @@ -302,13 +302,21 @@ \ekvd@assert@filledarg{#1meta #4}{#5}% {% \edef\ekvd@tmp{\ekvd@set}% - \expandafter\ekvd@type@meta@\expandafter{\ekvd@tmp}{#3}{#5}% + \expandafter\ekvd@type@meta@a\expandafter{\ekvd@tmp}{#5}{#3}% #2\ekvd@set{#4}\ekvd@tmp }% } -\protected\long\def\ekvd@type@meta@#1#2#3% +\protected\long\def\ekvd@type@meta@a#1#2% {% - \ekvd@prot\ekvd@long\def\ekvd@tmp#2{\ekvset{#1}{#3}}% + \expandafter\ekvd@type@meta@b\expandafter{\ekvset{#1}{#2}}% + } +\protected\def\ekvd@type@meta@b + {% + \expandafter\ekvd@type@meta@c\expandafter + } +\protected\long\def\ekvd@type@meta@c#1#2% + {% + \ekvd@prot\ekvd@long\def\ekvd@tmp#2{#1}% } \protected\def\ekvd@t@meta{\ekvd@type@meta{}\ekvlet{##1}} \protected\long\def\ekvd@t@nmeta#1#2% @@ -320,14 +328,10 @@ {% \ekvd@assert@twoargs{s#1meta #4}{#5}% {% - \expandafter\ekvd@type@smeta@\expandafter{\@secondoftwo#5}{#5}{#3} + \ekvd@type@meta@a#5{#3}% #2\ekvd@set{#4}\ekvd@tmp }% } -\protected\long\def\ekvd@type@smeta@#1#2#3% - {% - \expandafter\ekvd@type@meta@\expandafter{\@firstoftwo#2}{#3}{#1}% - } \protected\def\ekvd@t@smeta{\ekvd@type@smeta{}\ekvlet{##1}} \protected\long\def\ekvd@t@snmeta#1#2% {% -- cgit v1.2.3