summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-04-11 22:52:02 +0000
committerKarl Berry <karl@freefriends.org>2020-04-11 22:52:02 +0000
commit4156d74723a587b3d3684bc631262c948911eba4 (patch)
tree05a895ab69a97322644c536ff3dd27b3524190e8 /Master/texmf-dist/tex/generic
parentb473a14688e21a33f010e8cd5eb726e13d0ed5ce (diff)
expkv-def (4apr20)
git-svn-id: svn://tug.org/texlive/trunk@54680 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic')
-rw-r--r--Master/texmf-dist/tex/generic/expkv-def/expkv-def.tex50
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}%
}%
}