summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/expkv-def
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-09-18 20:16:30 +0000
committerKarl Berry <karl@freefriends.org>2021-09-18 20:16:30 +0000
commitae640f1dad20a71871ad3c8822bbb87df6055d54 (patch)
treebbf1612c93939a17b4e550fda99594702a5d9b00 /Master/texmf-dist/source/latex/expkv-def
parent606b39eac2105e3ad995391f483802e5adb0d99a (diff)
expkv-def (18sep21)
git-svn-id: svn://tug.org/texlive/trunk@60538 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/expkv-def')
-rw-r--r--Master/texmf-dist/source/latex/expkv-def/expkv-def.dtx32
1 files changed, 25 insertions, 7 deletions
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 b69c591a008..8aa537402e0 100644
--- a/Master/texmf-dist/source/latex/expkv-def/expkv-def.dtx
+++ b/Master/texmf-dist/source/latex/expkv-def/expkv-def.dtx
@@ -492,6 +492,7 @@ and the derived files expkv-def.pdf
% \begin{function}{initial,oinitial,finitial,einitial}
% \begin{syntax}
% initial \key\ = \{\val\} \prefixes3333
+% initial \key
% \end{syntax}
% With |initial| you can set an initial \val\ for an already defined argument
% taking \key. It'll just call the key-macro of \key\ and pass it \val. The
@@ -500,6 +501,10 @@ and the derived files expkv-def.pdf
% token in \val\ once. |finitial| will expand \val\ until a non-expandable
% token or a space is found, a space would be
% gobbled.\footnotemark
+%
+% If you don't provide a value (and no equals sign) a |noval| \key\ of the
+% same name is called once (or, if you specified a |default| for a value
+% taking key that would be used).
% \end{function}
% \footnotetext{Again using \cs[no-index]{romannumeral}.}
%
@@ -931,8 +936,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.8a}
-\def\ekvdDate{2021-05-24}
+\def\ekvdVersion{0.8b}
+\def\ekvdDate{2021-09-18}
% \end{macrocode}
% \end{macro}
%
@@ -1213,14 +1218,19 @@ and the derived files expkv-def.pdf
% \begin{macrocode}
\long\def\ekvd@type@initial#1#2#3#4%
{%
- \ekvd@assert@arg
+ \ekvd@assert@not@new
+ \ekvd@assert@not@also
+ \ekvd@assert@not@long
+ \ekvd@assert@not@protected
+ \ekvd@ifnoarg
+ {%
+ \ekvifdefinedNoVal\ekvd@set{#3}%
+ {\csname\ekv@name\ekvd@set{#3}N\endcsname}%
+ {\ekvd@err@undefined@noval{#3}}%
+ }%
{%
\ekvifdefined\ekvd@set{#3}%
{%
- \ekvd@assert@not@new
- \ekvd@assert@not@also
- \ekvd@assert@not@long
- \ekvd@assert@not@protected
#1{#2#4}%
\csname\ekv@name\ekvd@set{#3}\expandafter\endcsname\expandafter
{\ekvd@tmp}%
@@ -2162,6 +2172,14 @@ and the derived files expkv-def.pdf
\ekvd@errm
{Undefined key `\unexpanded{#1}' found while processing `\ekvd@cur'}%
}
+\protected\def\ekvd@err@undefined@noval#1%
+ {%
+ \ekvd@errm
+ {%
+ Undefined noval key `\unexpanded{#1}' found while processing
+ `\ekvd@cur'%
+ }%
+ }
\protected\def\ekvd@err@no@prefix#1%
{\ekvd@errm{prefix `#1' not accepted in `\ekvd@cur'}}
\protected\def\ekvd@err@no@prefix@msg#1#2%