diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/expkv-def/expkv-def.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/expkv-def/expkv-def.tex | 50 |
1 files changed, 47 insertions, 3 deletions
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 d793230da10..b5c5038d0d0 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.1a} -\def\ekvdDate{2020-02-29} +\def\ekvdVersion{0.2a} +\def\ekvdDate{2020-04-04} \csname ekvd@tmp\endcsname \expandafter\chardef\csname ekvd@tmp\endcsname=\catcode`\@ \catcode`\@=11 @@ -162,6 +162,34 @@ {\ekvd@err@undefined@key{#1}}% }% } +\long\def\ekvd@t@oinitial#1#2% + {% + \ekvd@assert@arg{oinitial #1}{#2}% + {% + \ekvifdefined\ekvd@set{#1}% + {% + \ekvd@assert@not@long{oinitial #1}% + \ekvd@assert@not@protected{oinitial #1}% + \csname\ekv@name\ekvd@set{#1}\expandafter\endcsname\expandafter{#2}% + }% + {\ekvd@err@undefined@key{#1}}% + }% + } +\long\def\ekvd@t@einitial#1#2% + {% + \ekvd@assert@arg{einitial #1}{#2}% + {% + \ekvifdefined\ekvd@set{#1}% + {% + \ekvd@assert@not@long{einitial #1}% + \ekvd@assert@not@protected{einitial #1}% + \edef\ekvd@tmp{#2}% + \csname\ekv@name\ekvd@set{#1}\expandafter\endcsname\expandafter + {\ekvd@tmp}% + }% + {\ekvd@err@undefined@key{#1}}% + }% + } \protected\def\ekvd@type@bool#1#2#3#4#5#6#7% {% \ekvd@assert@filledarg{#1bool#2 #6}{#7}% @@ -182,6 +210,22 @@ \protected\def\ekvd@t@boolTF{\ekvd@type@bool{}{TF}{}\@firstoftwo\@secondoftwo} \protected\def\ekvd@t@gboolTF {\ekvd@type@bool g{TF}\global\@firstoftwo\@secondoftwo} +\protected\def\ekvd@type@data#1#2#3#4#5#6#7% + {% + \ekvd@assert@filledarg{#1data#2 #6}{#7}% + {% + \ekvd@newlet#7#3% + \protected\ekvd@long\ekvdef\ekvd@set{#6}{\long#4#7####1#5{####1{##1}}}% + }% + } +\protected\def\ekvd@t@data{\ekvd@type@data{}{}\@secondoftwo\def{####2}} +\protected\def\ekvd@t@edata{\ekvd@type@data e{}\@secondoftwo\edef{####2}} +\protected\def\ekvd@t@gdata{\ekvd@type@data g{}\@secondoftwo\gdef{####2}} +\protected\def\ekvd@t@xdata{\ekvd@type@data x{}\@secondoftwo\xdef{####2}} +\protected\def\ekvd@t@dataT{\ekvd@type@data{}T\@gobble\def{}} +\protected\def\ekvd@t@edataT{\ekvd@type@data eT\@gobble\edef{}} +\protected\def\ekvd@t@gdataT{\ekvd@type@data gT\@gobble\gdef{}} +\protected\def\ekvd@t@xdataT{\ekvd@type@data xT\@gobble\xdef{}} \protected\def\ekvd@type@box#1#2#3#4% {% \ekvd@assert@filledarg{#1box #3}{#4}% @@ -479,7 +523,7 @@ \unexpanded{\long\def\ekvd@err}##1% {% \unexpanded{\expandafter\ekv@err@\@firstofone}% - {\expandafter\noexpand\csname ! expkv-def Error:\endcsname ##1.}% + {\unexpanded\expandafter{\csname ! expkv-def Error:\endcsname}##1.}% \unexpanded{\ekv@stop}% }% } |