summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/xkeyval/xkeyval.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/xkeyval/xkeyval.tex')
-rw-r--r--Master/texmf-dist/tex/generic/xkeyval/xkeyval.tex33
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