From 542dd7f24e76ac20da26d1c4d7ceb69baa248133 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 18 May 2013 22:20:49 +0000 Subject: skeyval (18may13) git-svn-id: svn://tug.org/texlive/trunk@30560 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/skeyval/skeyval-core.tex | 44 +++++++++++++++++----- 1 file changed, 34 insertions(+), 10 deletions(-) (limited to 'Master/texmf-dist/tex/latex/skeyval') diff --git a/Master/texmf-dist/tex/latex/skeyval/skeyval-core.tex b/Master/texmf-dist/tex/latex/skeyval/skeyval-core.tex index 9c517aa289a..e0ae452a739 100644 --- a/Master/texmf-dist/tex/latex/skeyval/skeyval-core.tex +++ b/Master/texmf-dist/tex/latex/skeyval/skeyval-core.tex @@ -3102,6 +3102,24 @@ % \skv@strippointersfromvalue{} % \skv@strippointersfromvalue*{} % +% Strip pointers from a key's value. The pointers that may be used on +% values of keys are +% +% .expand once process list -> Expand value once and process the +% expanded value as a list. +% .expand twice process list -> Expand value twice and process the +% expanded value as a list. +% .expand process list -> Fully expand value and process the +% expanded value as a list. +% .eprocess list -> Fully expand value and process the +% expanded value as a list. +% .process list -> Process the given value as a list. +% .list -> Process the given value as a list. +% .expand once -> Expand value once before parsing it. +% .expand twice -> Expand value twice before parsing it. +% .expanded -> Fully expand value before parsing it. +% .expand -> Fully expand value before parsing it. +% % Return \skvcurrentvalue. % \skvrobustdef*\skv@strippointersfromvalue{% @@ -3133,18 +3151,22 @@ \skv@tempb{.process list}\skv@tempa{% \skv@processvalueaslisttrue }{% - \skv@tempb{.expand once}\skv@tempa{% - \edef\skv@tempa{\skvexpandtwice\skv@tempa}% + \skv@tempb{.list}\skv@tempa{% + \skv@processvalueaslisttrue }{% - \skv@tempb{.expand twice}\skv@tempa{% - \edef\skv@tempa{\skvexpandthrice\skv@tempa}% + \skv@tempb{.expand once}\skv@tempa{% + \edef\skv@tempa{\skvexpandtwice\skv@tempa}% }{% - \skv@tempb{.expanded}\skv@tempa{% - \edef\skv@tempa{\skv@tempa}% + \skv@tempb{.expand twice}\skv@tempa{% + \edef\skv@tempa{\skvexpandthrice\skv@tempa}% }{% - \skv@tempb{.expand}\skv@tempa{% + \skv@tempb{.expanded}\skv@tempa{% \edef\skv@tempa{\skv@tempa}% - }{}% + }{% + \skv@tempb{.expand}\skv@tempa{% + \edef\skv@tempa{\skv@tempa}% + }{}% + }% }% }% }% @@ -5487,7 +5509,7 @@ % argument in the key's call may be more complex: \ifx\skv@argpattern\skv@simplearg\else \ifcsname\skv@header\skvcurrentkey.@listkey\endcsname - \skv@err{A listkey must have a one-parameter argument}\skv@ehd + \skv@err{A listkey must have only a one-parameter argument}\skv@ehd \else \skvstripouterbraces{2}\skvcurrentvalue \skvvaluebracedfalse @@ -5572,7 +5594,8 @@ [#1]{\skvexpandonce\skv@tempa}% }% }{% - % Filter pox (instantiated package/article options) list members: + % Filter pox (instantiated package/article options) list members. + % Pox keys can't be initialized. \def\skv@tempd{}% \skvcommaloop*\skv@tempa\skv@tempa{% \expandafter\skv@g@tkeyname\skv@tempa=\skv@getname@nil\skv@tempb @@ -5657,6 +5680,7 @@ \skvsetupdefinekeys{.initialize=false,.save initial values=false} +% Set aliases for handlers used in \skvdefinekeys: \skvrobustdef*\skvtypecastfordefinekeys#1{% \begingroup \def\skv@tempa{}% -- cgit v1.2.3