summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/l3packages/xtemplate
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-12-21 23:31:35 +0000
committerKarl Berry <karl@freefriends.org>2012-12-21 23:31:35 +0000
commit8bcf0c7ef3cd19666c206271cea9280846b5c7e6 (patch)
treeee538c7e2a14ad105a169fdd2e745356147577cc /Master/texmf-dist/source/latex/l3packages/xtemplate
parentef0453041a9700a2d974c3c76e3398e40c4e4aeb (diff)
l3 (21dec12)
git-svn-id: svn://tug.org/texlive/trunk@28608 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/l3packages/xtemplate')
-rw-r--r--Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx37
1 files changed, 25 insertions, 12 deletions
diff --git a/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx b/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx
index 8aa2fbde65e..9f632ae9109 100644
--- a/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx
+++ b/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx
@@ -41,19 +41,20 @@
%<*driver|package>
% The version of expl3 required is tested as early as possible, as
% some really old versions do not define \ProvidesExplPackage.
-\RequirePackage{expl3}[2012/11/21]
-%<package>\@ifpackagelater{expl3}{2012/11/21}
+\RequirePackage{expl3}[2012/12/21]
+%<package>\@ifpackagelater{expl3}{2012/12/21}
%<package> {}
%<package> {%
-%<package> \PackageError{xtemplate}{Support package l3kernel too old.}
+%<package> \PackageError{xtemplate}{Support package l3kernel too old}
%<package> {%
-%<package> Please install an up to date version of l3kernel
-%<package> using your TeX package manager or from CTAN.\\ \\
+%<package> Please install an up to date version of l3kernel\MessageBreak
+%<package> using your TeX package manager or from CTAN.\MessageBreak
+%<package> \MessageBreak
%<package> Loading xtemplate will abort!%
%<package> }%
%<package> \endinput
%<package> }
-\GetIdInfo$Id: xtemplate.dtx 4332 2012-11-21 21:40:31Z joseph $
+\GetIdInfo$Id: xtemplate.dtx 4390 2012-12-21 06:59:20Z joseph $
{L3 Experimental prototype document functions}
%</driver|package>
%<*driver>
@@ -2085,7 +2086,9 @@
% Setting a Boolean value is slightly different to everything else
% as the value can be used to work out which \texttt{set} function to
% call. As long as there is no need to recover things from another
-% variable, everything is pretty easy.
+% variable, everything is pretty easy. If there is, then we need to allow
+% for the fact that the recovered value here will \emph{not} be expandable,
+% so needs to be converted to something that is.
% \begin{macrocode}
\cs_new_protected_nopar:Npn \@@_assign_boolean:
{
@@ -2095,12 +2098,22 @@
}
\cs_new_protected_nopar:Npn \@@_assign_boolean_aux:n #1
{
- \@@_if_key_value:oT \l_@@_value_tl
- { \@@_key_to_value: }
- \tl_put_right:Nx \l_@@_assignments_tl
+ \@@_if_key_value:oTF \l_@@_value_tl
{
- \exp_not:c { #1 _ \l_@@_value_tl :N }
- \exp_not:o \l_@@_var_tl
+ \@@_key_to_value:
+ \tl_put_right:Nx \l_@@_assignments_tl
+ {
+ \exp_not:c { #1 _eq:NN }
+ \exp_not:o \l_@@_var_tl
+ \exp_not:o \l_@@_value_tl
+ }
+ }
+ {
+ \tl_put_right:Nx \l_@@_assignments_tl
+ {
+ \exp_not:c { #1 _ \l_@@_value_tl :N }
+ \exp_not:o \l_@@_var_tl
+ }
}
}
% \end{macrocode}