summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-07-28 21:53:53 +0000
committerKarl Berry <karl@freefriends.org>2013-07-28 21:53:53 +0000
commit476ef285597d50560f829ffd64532d75d937d06a (patch)
tree5c652f3fb3c6e7458bb762f660a005e2f77c3f80 /Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty
parent9cad0f5f2f5f3df83a79cca1d848bf3a5feef241 (diff)
latex3 (28jul13)
git-svn-id: svn://tug.org/texlive/trunk@31299 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty')
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty73
1 files changed, 36 insertions, 37 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty b/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty
index 586823f2c55..4288b0d5288 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty
@@ -47,7 +47,7 @@
%% -----------------------------------------------------------------------
%%
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3candidates.dtx 4521 2013-07-09 11:45:31Z joseph $
+\GetIdInfo$Id: l3candidates.dtx 4576 2013-07-24 21:40:24Z joseph $
{L3 Experimental additions to l3kernel}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -758,46 +758,46 @@
\cs_generate_variant:Nn \fp_gset_from_dim:Nn { c }
\cs_new:Npn \prop_map_tokens:Nn #1#2
{
- \exp_last_unbraced:Nno \__prop_map_tokens:nwn {#2} #1
- \s__prop \q_recursion_tail \s__prop { }
+ \exp_last_unbraced:Nno \__prop_map_tokens:nwwn {#2} #1
+ \__prop_pair:wn \q_recursion_tail \s__prop { }
\__prg_break_point:Nn \prop_map_break: { }
}
-\cs_new:Npn \__prop_map_tokens:nwn #1 \s__prop #2 \s__prop #3
+\cs_new:Npn \__prop_map_tokens:nwwn #1#2 \__prop_pair:wn #3 \s__prop #4
{
- \if_meaning:w \q_recursion_tail #2
+ \if_meaning:w \q_recursion_tail #3
\exp_after:wN \prop_map_break:
\fi:
- \use:n {#1} {#2} {#3}
- \__prop_map_tokens:nwn {#1}
+ \use:n {#1} {#3} {#4}
+ \__prop_map_tokens:nwwn {#1}
}
\cs_generate_variant:Nn \prop_map_tokens:Nn { c }
\cs_new:Npn \prop_get:Nn #1#2
{
- \exp_last_unbraced:Noo \__prop_get_Nn:nwn { \tl_to_str:n {#2} } #1
- \s__prop \tl_to_str:n {#2} \s__prop { }
+ \exp_last_unbraced:Noo \__prop_get_Nn:nwwn { \tl_to_str:n {#2} } #1
+ \__prop_pair:wn \tl_to_str:n {#2} \s__prop { }
\__prg_break_point:
}
-\cs_new:Npn \__prop_get_Nn:nwn #1 \s__prop #2 \s__prop #3
+\cs_new:Npn \__prop_get_Nn:nwwn #1#2 \__prop_pair:wn #3 \s__prop #4
{
- \str_if_eq_x:nnTF {#1} {#2}
- { \__prg_break:n { \exp_not:n {#3} } }
- { \__prop_get_Nn:nwn {#1} }
+ \str_if_eq_x:nnTF {#1} {#3}
+ { \__prg_break:n { \exp_not:n {#4} } }
+ { \__prop_get_Nn:nwwn {#1} }
}
\cs_generate_variant:Nn \prop_get:Nn { c }
-\cs_new:Npn \seq_item:Nn #1#2
+\cs_new:Npn \seq_item:Nn #1 { \exp_after:wN \__seq_item:wNn #1 #1 }
+\cs_new:Npn \__seq_item:wNn \s__seq #1 \s_obj_end #2#3
{
- \exp_last_unbraced:Nfo \__seq_item:nnn
+ \exp_args:Nf \__seq_item:nnn
{
\int_eval:n
{
- \int_compare:nNnT {#2} < \c_zero
- { \seq_count:N #1 + \c_one + }
- #2
+ \int_compare:nNnT {#3} < \c_zero
+ { \seq_count:N #2 + \c_one + }
+ #3
}
}
#1
- { ? \__prg_break: }
- { }
+ { ? \__prg_break: } { }
\__prg_break_point:
}
\cs_new:Npn \__seq_item:nnn #1#2#3
@@ -809,21 +809,18 @@
}
\cs_generate_variant:Nn \seq_item:Nn { c }
\cs_new:Npn \seq_mapthread_function:NNN #1#2#3
+ { \exp_after:wN \__seq_mapthread_function:wNN #2 #1 #3 }
+\cs_new:Npn \__seq_mapthread_function:wNN \s__seq #1 \s_obj_end #2#3
{
- \exp_after:wN \__seq_mapthread_function:NN
- \exp_after:wN #3
- \exp_after:wN #1
- #2
- { ? \__prg_break: } { }
+ \exp_after:wN \__seq_mapthread_function:wNw #2 #3
+ #1 { ? \__prg_break: } { }
\__prg_break_point:
}
-\cs_new:Npn \__seq_mapthread_function:NN #1#2
+\cs_new:Npn \__seq_mapthread_function:wNw \s__seq #1 \s_obj_end #2
{
- \exp_after:wN \__seq_mapthread_function:Nnnwnn
- \exp_after:wN #1
- #2
- { ? \__prg_break: } { }
- \q_stop
+ \__seq_mapthread_function:Nnnwnn #2
+ #1 { ? \__prg_break: } { }
+ \q_stop
}
\cs_new:Npn \__seq_mapthread_function:Nnnwnn #1#2#3#4 \q_stop #5#6
{
@@ -837,22 +834,22 @@
\cs_new_protected:Npn \seq_set_from_clist:NN #1#2
{
\tl_set:Nx #1
- { \clist_map_function:NN #2 \__seq_wrap_item:n }
+ { \s__seq \clist_map_function:NN #2 \__seq_wrap_item:n \s_obj_end }
}
\cs_new_protected:Npn \seq_set_from_clist:Nn #1#2
{
\tl_set:Nx #1
- { \clist_map_function:nN {#2} \__seq_wrap_item:n }
+ { \s__seq \clist_map_function:nN {#2} \__seq_wrap_item:n \s_obj_end }
}
\cs_new_protected:Npn \seq_gset_from_clist:NN #1#2
{
\tl_gset:Nx #1
- { \clist_map_function:NN #2 \__seq_wrap_item:n }
+ { \s__seq \clist_map_function:NN #2 \__seq_wrap_item:n \s_obj_end }
}
\cs_new_protected:Npn \seq_gset_from_clist:Nn #1#2
{
\tl_gset:Nx #1
- { \clist_map_function:nN {#2} \__seq_wrap_item:n }
+ { \s__seq \clist_map_function:nN {#2} \__seq_wrap_item:n \s_obj_end }
}
\cs_generate_variant:Nn \seq_set_from_clist:NN { Nc }
\cs_generate_variant:Nn \seq_set_from_clist:NN { c , cc }
@@ -869,9 +866,11 @@
{
\cs_set_eq:NN \__seq_tmp:w \__seq_item:n
\cs_set_eq:NN \__seq_item:n \__seq_reverse_item:nwn
- #1 #2 { #2 \exp_not:n { } }
+ #1 #2 { \exp_after:wN \__seq_reverse_setup:w #2 }
\cs_set_eq:NN \__seq_item:n \__seq_tmp:w
}
+\cs_new:Npn \__seq_reverse_setup:w #1 \s_obj_end
+ { #1 \exp_not:n { } \s_obj_end }
\cs_new:Npn \__seq_reverse_item:nwn #1 #2 \exp_not:n #3
{
#2
@@ -1007,7 +1006,7 @@
{
\exp_args:Nf \__tl_act_output:n
{
- \exp_args:NNo \str_case:nnn #2 {#1}
+ \exp_args:NNo \str_case:nnF #2 {#1}
{ \exp_stop_f: #2 }
}
}