diff options
author | Karl Berry <karl@freefriends.org> | 2008-08-12 16:56:06 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-08-12 16:56:06 +0000 |
commit | 8c066540a7bd83ff7638b25ad92dad4d026ab475 (patch) | |
tree | a9a2b8e38bcad90b98554e479928c5475e1c21d4 /Master/texmf-dist/tex/generic/xkeyval/xkeyval.tex | |
parent | a99c4e8395a5b21d490715a1bf0f86eac4a679ff (diff) |
xkeyval 2.6 (11aug08)
git-svn-id: svn://tug.org/texlive/trunk@10273 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/xkeyval/xkeyval.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/xkeyval/xkeyval.tex | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/Master/texmf-dist/tex/generic/xkeyval/xkeyval.tex b/Master/texmf-dist/tex/generic/xkeyval/xkeyval.tex index ed42476ca6f..abee97a2e4f 100644 --- a/Master/texmf-dist/tex/generic/xkeyval/xkeyval.tex +++ b/Master/texmf-dist/tex/generic/xkeyval/xkeyval.tex @@ -7,7 +7,7 @@ %% xkeyval.dtx (with options: `xkvtex') %% %% --------------------------------------- -%% Copyright (C) 2004-2006 Hendri Adriaens +%% Copyright (C) 2004-2008 Hendri Adriaens %% --------------------------------------- %% %% This work may be distributed and/or modified under the @@ -57,10 +57,10 @@ \newif\ifXKV@preset \let\XKV@rm\@empty \ifx\ProvidesFile\@undefined - \message{2006/11/18 v2.5f key=value parser (HA)} + \message{2008/08/10 v2.6 key=value parser (HA)} \input xkvtxhdr \else - \ProvidesFile{xkeyval.tex}[2006/11/18 v2.5f key=value parser (HA)] + \ProvidesFile{xkeyval.tex}[2008/08/10 v2.6 key=value parser (HA)] \@addtofilelist{xkeyval.tex} \fi \long\def\@firstoftwo#1#2{#1} @@ -103,7 +103,7 @@ {#2}{#3}#4% } \long\def\XKV@for@n#1#2#3{% - \def#2{#1}% + \toks@{#1}\edef#2{\the\toks@}% \ifx#2\@empty \XKV@for@break \else @@ -112,7 +112,7 @@ #2{#3}#1,\@nil,% } \long\def\XKV@f@r#1#2#3,{% - \def#1{#3}% + \toks@{#3}\edef#1{\the\toks@}% \ifx#1\@nnil \expandafter\@gobbletwo \else @@ -144,12 +144,11 @@ } \long\def\XKV@wh@l@st#1\@@#2#3\fi#4#5{} \def\XKV@addtomacro@n#1#2{% - \expandafter\def\expandafter#1\expandafter{#1#2}% + \toks@\expandafter{#1#2}% + \edef#1{\the\toks@}% } \def\XKV@addtomacro@o#1#2{% - \expandafter\expandafter\expandafter\def - \expandafter\expandafter\expandafter#1\expandafter - \expandafter\expandafter{\expandafter#1#2}% + \expandafter\XKV@addtomacro@n\expandafter#1\expandafter{#2}% } \def\XKV@addtolist@n#1#2{% \ifx#1\@empty @@ -174,7 +173,9 @@ \def#3{#2}\@onelevel@sanitize#3% \edef#3{{#3}{\the\XKV@toks}}% \expandafter\@s@l@ctive@sanitize\expandafter#3#3% - \expandafter\endgroup\expandafter\def\expandafter#3\expandafter{#3}% + \expandafter\toks@\expandafter{#3}% + \expandafter\endgroup\expandafter\toks@\expandafter{\the\toks@}% + \edef#3{\the\toks@}% } \def\@s@l@ctive@sanitize#1#2#3{% \def\@i{\futurelet\@@tok\@ii}% @@ -231,17 +232,17 @@ \ifin@\@selective@sanitize[0],#2\fi } \def\XKV@ch@cksanitize#1#2#3{% - \def#2{#1}% + \toks@{#1}\edef#2{\the\toks@}% \@onelevel@sanitize#2% \@expandtwoargs\in@#3{#2}% \ifin@ \def#2##1#3##2\@nil{% - \def#2{##2}% + \toks@{##2}\edef#2{\the\toks@}% \ifx#2\@empty\else\in@false\fi }% #2#1#3\@nil \fi - \def#2{#1}% + \toks@{#1}\edef#2{\the\toks@}% } \def\XKV@sp@deflist#1#2{% \let#1\@empty @@ -310,7 +311,7 @@ \def\XKV@srstate#1#2{% \ifx\@empty#2\@empty\advance\XKV@depth\@ne\fi \XKV@for@n{XKV@prefix,XKV@fams,XKV@tkey,XKV@na,% - XKV@rm,ifXKV@st,ifXKV@pl,ifXKV@knf}\XKV@resa{% + ifXKV@st,ifXKV@pl,ifXKV@knf}\XKV@resa{% \expandafter\let\csname\XKV@resa#1\expandafter \endcsname\csname\XKV@resa#2\endcsname }% @@ -663,7 +664,7 @@ \expandafter\XKV@g@tkeyname\XKV@tempa=\@nil\XKV@tempa \XKV@addtolist@x\XKV@naa\XKV@tempa }% - \let\XKV@rm\@empty + \ifnum\XKV@depth=\z@\let\XKV@rm\@empty\fi \XKV@usepresetkeys{#1}{preseth}% \expandafter\XKV@s@tkeys\expandafter{\XKV@resb}{#1}% \XKV@usepresetkeys{#1}{presett}% @@ -723,7 +724,7 @@ \else\XKV@doxs\fi \else \ifXKV@st - \global\XKV@addtolist@o\XKV@rm\CurrentOption + \XKV@addtolist@o\XKV@rm\CurrentOption \else \XKV@err{`\XKV@tkey' undefined in families `\XKV@fams'}% \fi |