diff options
author | Karl Berry <karl@freefriends.org> | 2014-01-07 23:06:03 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2014-01-07 23:06:03 +0000 |
commit | ea751c100642b9b81c97ad32b1b492c917d5a93c (patch) | |
tree | 8b3554859f8f067f8ca942d08dad6a0792a3a803 /Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx | |
parent | 79b68a754e61b4825c185082d15b0e334440fbde (diff) |
l3kernel (7jan14)
git-svn-id: svn://tug.org/texlive/trunk@32599 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx index 27baad8b08d..65f3e70e5cc 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx @@ -36,7 +36,7 @@ % %<*driver|package> \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3candidates.dtx 4633 2013-12-31 17:28:46Z joseph $ +\GetIdInfo$Id: l3candidates.dtx 4643 2014-01-06 13:28:06Z joseph $ {L3 Experimental additions to l3kernel} %</driver|package> %<*driver> @@ -2330,31 +2330,33 @@ % \seq_mapthread_function:cNN, \seq_mapthread_function:ccN % } % \begin{macro}[aux] -% {\@@_mapthread_function:NNw, \@@_mapthread_function:Nnnwnn} +% { +% \@@_mapthread_function:wNN, \@@_mapthread_function:wNw, +% \@@_mapthread_function:Nnnwnn +% } % The idea here is to first expand both sequences, adding the % usual |{ ? \__prg_break: } { }| to the end of each one. This is % most conveniently done in two steps using an auxiliary function. % The mapping then throws away the first tokens of |#2| and |#5|, -% which for items in the sequences will both be +% which for items in the sequences will both be \cs{s_@@} % \cs{@@_item:n}. The function to be mapped will then be applied to % the two entries. When the code hits the end of one of the -% sequences, \cs{__prg_break:} stops the entire loop and tidy up. -% This avoids needing to count items in the sequences, or +% sequences, the break material will stop the entire loop and tidy up. +% This avoids needing to find the count of the two sequences, or % worrying about which is longer. % \begin{macrocode} \cs_new:Npn \seq_mapthread_function:NNN #1#2#3 + { \exp_after:wN \@@_mapthread_function:wNN #2 \q_stop #1 #3 } +\cs_new:Npn \@@_mapthread_function:wNN \s_@@ #1 \q_stop #2#3 { - \exp_after:wN \@@_mapthread_function:NNw - \exp_after:wN #3 - \exp_after:wN #1 - #2 { ? \__prg_break: } { } + \exp_after:wN \@@_mapthread_function:wNw #2 \q_stop #3 + #1 { ? \__prg_break: } { } \__prg_break_point: } -\cs_new:Npn \@@_mapthread_function:NNw #1#2 +\cs_new:Npn \@@_mapthread_function:wNw \s_@@ #1 \q_stop #2 { - \exp_after:wN \@@_mapthread_function:Nnnwnn - \exp_after:wN #1 - #2 { ? \__prg_break: } { } + \@@_mapthread_function:Nnnwnn #2 + #1 { ? \__prg_break: } { } \q_stop } \cs_new:Npn \@@_mapthread_function:Nnnwnn #1#2#3#4 \q_stop #5#6 |