summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/expkv
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/expkv')
-rw-r--r--Master/texmf-dist/tex/generic/expkv/expkv.tex75
1 files changed, 43 insertions, 32 deletions
diff --git a/Master/texmf-dist/tex/generic/expkv/expkv.tex b/Master/texmf-dist/tex/generic/expkv/expkv.tex
index ca05bd10ae3..aed5e127177 100644
--- a/Master/texmf-dist/tex/generic/expkv/expkv.tex
+++ b/Master/texmf-dist/tex/generic/expkv/expkv.tex
@@ -39,8 +39,8 @@
\else
\expandafter\endinput
\fi
-\def\ekvVersion{0.3}
-\def\ekvDate{2020-01-22}
+\def\ekvVersion{0.4}
+\def\ekvDate{2020-02-22}
\csname ekv@tmp\endcsname
\expandafter\chardef\csname ekv@tmp\endcsname=\catcode`\@
\catcode`\@=11
@@ -69,6 +69,7 @@
\fi
\@firstoftwo
}
+ % \begin{macro}[internal]
\def\ekv@ifdefined@pair#1#2%
{%
\expandafter\ekv@ifdefined@pair@
@@ -202,20 +203,18 @@
{##3}
\long\def\ekv@set@other##1##2,%
{%
- \ekv@ifblank@##2\ekv@nil\ekv@ifempty@B\ekv@ifempty@true@F
- \ekv@ifempty@A\ekv@ifempty@B\@firstofone
+ \ekv@ifstop##2\ekv@endset@other\ekv@mark\ekv@stop
+ \ekv@ifhas@eq@other##2=\ekv@ifempty@B\ekv@ifempty@false
+ \ekv@ifempty@A\ekv@ifempty@B\@firstoftwo
+ {\ekv@set@eq@other##1##2\ekv@stop}%
{%
- \ekv@ifhas@eq@other##2=\ekv@ifempty@B\ekv@ifempty@false
+ \ekv@ifhas@eq@active##2#2\ekv@ifempty@B\ekv@ifempty@false
\ekv@ifempty@A\ekv@ifempty@B\@firstoftwo
- {\ekv@set@eq@other##1##2\ekv@stop}%
+ {\ekv@set@eq@active##1##2\ekv@stop}%
{%
- \ekv@ifhas@eq@active##2#2\ekv@ifempty@B\ekv@ifempty@false
- \ekv@ifempty@A\ekv@ifempty@B\@firstoftwo
- {\ekv@set@eq@active##1##2\ekv@stop}%
- {%
- \ekv@ifstop##2\ekv@endset@other\ekv@mark\ekv@stop
- \ekv@strip{##2}\ekv@set@key##1%
- }%
+ \ekv@ifblank@##2\ekv@nil\ekv@ifempty@B\ekv@ifempty@true@F
+ \ekv@ifempty@A\ekv@ifempty@B\@firstofone
+ {\ekv@strip{##2}\ekv@set@key##1}%
}%
}%
\ekv@set@other##1\ekv@mark%
@@ -234,7 +233,10 @@
\long\def\ekv@ifhas@eq@other\ekv@mark##1={\ekv@ifempty@\ekv@ifempty@A}
\long\def\ekv@ifhas@eq@active\ekv@mark##1#2{\ekv@ifempty@\ekv@ifempty@A}
\long\def\ekv@endset@other
- \ekv@mark\ekv@stop\ekv@strip##1\ekv@set@key##2%
+ \ekv@mark\ekv@stop
+ \ekv@ifhas@eq@other##1=\ekv@ifempty@B\ekv@ifempty@false
+ \ekv@ifempty@A\ekv@ifempty@B\@firstoftwo
+ ##2%
\ekv@set@other##3\ekv@mark
{}
\long\def\ekvbreak##1##2\ekv@stop#1##3{##1}
@@ -250,7 +252,7 @@
}
\long\def\ekvparse##1##2##3%
{%
- \expanded{\ekv@parse##1##2\ekv@mark##3#1\ekv@stop#1}%
+ \ekv@parse##1##2\ekv@mark##3#1\ekv@stop#1%
}
\long\def\ekv@parse##1##2##3#1%
{%
@@ -263,20 +265,18 @@
{}
\long\def\ekv@parse@other##1##2##3,%
{%
- \ekv@ifblank@##3\ekv@nil\ekv@ifempty@B\ekv@ifempty@true@F
- \ekv@ifempty@A\ekv@ifempty@B\@firstofone
+ \ekv@ifstop##3\ekv@endparse@other\ekv@mark\ekv@stop
+ \ekv@ifhas@eq@other##3=\ekv@ifempty@B\ekv@ifempty@false
+ \ekv@ifempty@A\ekv@ifempty@B\@firstoftwo
+ {\ekv@parse@eq@other##3\ekv@stop##2}%
{%
- \ekv@ifhas@eq@other##3=\ekv@ifempty@B\ekv@ifempty@false
+ \ekv@ifhas@eq@active##3#2\ekv@ifempty@B\ekv@ifempty@false
\ekv@ifempty@A\ekv@ifempty@B\@firstoftwo
- {\unexpanded{##2}\ekv@parse@eq@other##3\ekv@stop}%
+ {\ekv@parse@eq@active##3\ekv@stop##2}%
{%
- \ekv@ifhas@eq@active##3#2\ekv@ifempty@B\ekv@ifempty@false
- \ekv@ifempty@A\ekv@ifempty@B\@firstoftwo
- {\unexpanded{##2}\ekv@parse@eq@active##3\ekv@stop}%
- {%
- \ekv@ifstop##3\ekv@endparse@other\ekv@mark\ekv@stop
- \unexpanded{##1}{\ekv@strip{##3}\unexpanded}%
- }%
+ \ekv@ifblank@##3\ekv@nil\ekv@ifempty@B\ekv@ifempty@true@F
+ \ekv@ifempty@A\ekv@ifempty@B\@firstofone
+ {\ekv@strip{##3}\ekv@parse@key##1}%
}%
}%
\ekv@parse@other##1##2\ekv@mark
@@ -286,19 +286,30 @@
\ekv@ifhas@eq@active##1#2\ekv@ifempty@B\ekv@ifempty@false
\ekv@ifempty@A\ekv@ifempty@B\@firstoftwo
{\ekv@parse@eq@active##1=}%
- {{\ekv@strip{##1}\unexpanded}\ekv@parse@pair\ekv@mark}%
+ {\ekv@strip{##1}\ekv@parse@pair\ekv@mark}%
}
\long\def\ekv@parse@eq@active##1#2%
{%
- {\ekv@strip{##1}\unexpanded}\ekv@parse@pair\ekv@mark
+ \ekv@strip{##1}\ekv@parse@pair\ekv@mark
}
\long\def\ekv@endparse@other
- \ekv@mark\ekv@stop\unexpanded##1%
- \ekv@parse@other##2\ekv@mark
+ \ekv@mark\ekv@stop
+ \ekv@ifhas@eq@other##1=\ekv@ifempty@B\ekv@ifempty@false
+ \ekv@ifempty@A\ekv@ifempty@B\@firstoftwo
+ ##2%
+ \ekv@parse@other##3\ekv@mark
{}
-\long\def\ekv@parse@pair##1\ekv@stop
+\long\def\ekv@parse@pair##1##2\ekv@stop
+ {%
+ \ekv@strip{##2}\ekv@parse@pair@{##1}%
+ }
+\long\def\ekv@parse@pair@##1##2##3%
+ {%
+ \unexpanded{##3{##2}{##1}}%
+ }
+\long\def\ekv@parse@key##1##2%
{%
- {\ekv@strip{##1}\unexpanded}%
+ \unexpanded{##2{##1}}%
}
}
\begingroup