diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx | 37 |
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} |