diff options
author | Karl Berry <karl@freefriends.org> | 2008-08-06 23:37:15 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-08-06 23:37:15 +0000 |
commit | 7fe74d9b728f85523bb0a77b231fe16d379c6265 (patch) | |
tree | 4c55f17677758bd4ab08bb24a5fbcf58d3cb64f3 /Master/texmf-dist/tex | |
parent | f26efa972afb0a49e7d84d043c942f138122752c (diff) |
expl3 update (6aug08)
git-svn-id: svn://tug.org/texlive/trunk@10123 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/expl3/l3clist.sty | 26 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/expl3/l3prg.sty | 42 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/expl3/l3prop.sty | 12 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/expl3/l3quark.sty | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/expl3/l3tlp.sty | 23 |
5 files changed, 69 insertions, 38 deletions
diff --git a/Master/texmf-dist/tex/latex/expl3/l3clist.sty b/Master/texmf-dist/tex/latex/expl3/l3clist.sty index 313e4ab79c7..ac82ec646f0 100644 --- a/Master/texmf-dist/tex/latex/expl3/l3clist.sty +++ b/Master/texmf-dist/tex/latex/expl3/l3clist.sty @@ -48,7 +48,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3clist.dtx 725 2007-12-22 21:25:00Z mittelba $ +\GetIdInfo$Id: l3clist.dtx 745 2008-08-03 18:50:46Z morten $ {L3 Experimental comma separated lists} \ProvidesExplPackage {\filename}{\filedate}{\fileversion}{\filedescription} @@ -131,36 +131,36 @@ \tlist_if_blank:nF {#1} { \clist_map_function_aux:Nw #2 #1 , \q_recursion_tail , \q_recursion_stop } } -\def_new:Npn \clist_map_function_aux:Nw #1#2,{ +\def_long_new:Npn \clist_map_function_aux:Nw #1#2,{ \quark_if_recursion_tail_stop:n{#2} #1{#2} \clist_map_function_aux:Nw #1 } \let_new:NN \clist_map_break:w \use_none_delimit_by_q_recursion_stop:w -\int_new:N \l_clist_inline_level_int -\def_new:Npn \clist_map_inline:Nn #1#2{ +\int_new:N \g_clist_inline_level_int +\def_long_new:Npn \clist_map_inline:Nn #1#2{ \clist_if_empty:NF #1 { - \int_incr:N \l_clist_inline_level_int - \def:cpn {clist_map_inline_ \int_use:N \l_clist_inline_level_int :n} + \int_gincr:N \g_clist_inline_level_int + \gdef_long:cpn {clist_map_inline_ \int_use:N \g_clist_inline_level_int :n} ##1{#2} \exp_args:NcE \clist_map_function_aux:Nw - {clist_map_inline_ \int_use:N \l_clist_inline_level_int :n} + {clist_map_inline_ \int_use:N \g_clist_inline_level_int :n} #1 , \q_recursion_tail , \q_recursion_stop - \int_decr:N \l_clist_inline_level_int + \int_gdecr:N \g_clist_inline_level_int } } \def_new:Npn \clist_map_inline:cn{\exp_args:Nc\clist_map_inline:Nn} -\def_new:Npn \clist_map_inline:nn #1#2{ +\def_long_new:Npn \clist_map_inline:nn #1#2{ \tlist_if_empty:nF {#1} { - \int_incr:N \l_clist_inline_level_int - \def:cpn {clist_map_inline_ \int_use:N \l_clist_inline_level_int :n} + \int_gincr:N \g_clist_inline_level_int + \gdef_long:cpn {clist_map_inline_ \int_use:N \g_clist_inline_level_int :n} ##1{#2} \exp_args:Nc \clist_map_function_aux:Nw - {clist_map_inline_ \int_use:N \l_clist_inline_level_int :n} + {clist_map_inline_ \int_use:N \g_clist_inline_level_int :n} #1 , \q_recursion_tail , \q_recursion_stop - \int_decr:N \l_clist_inline_level_int + \int_gdecr:N \g_clist_inline_level_int } } \def_new:Npn \clist_map_variable:nNn #1#2#3{ diff --git a/Master/texmf-dist/tex/latex/expl3/l3prg.sty b/Master/texmf-dist/tex/latex/expl3/l3prg.sty index ccb7657e076..7cc170fef4f 100644 --- a/Master/texmf-dist/tex/latex/expl3/l3prg.sty +++ b/Master/texmf-dist/tex/latex/expl3/l3prg.sty @@ -48,7 +48,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3prg.dtx 697 2007-11-27 14:14:54Z morten $ +\GetIdInfo$Id: l3prg.dtx 768 2008-08-05 19:45:06Z morten $ {L3 Experimental control structures} \ProvidesExplPackage {\filename}{\filedate}{\fileversion}{\filedescription} @@ -143,16 +143,16 @@ {#2}{#3}{#4} } } -\int_new:N\l_prg_inline_level_int +\int_new:N\g_prg_inline_level_int \def_long_new:NNn\prg_stepwise_inline:nnnn 4{ - \int_incr:N \l_prg_inline_level_int - \def:cpn{prg_stepwise_inline_\int_use:N\l_prg_inline_level_int :n}##1{#4} + \int_gincr:N \g_prg_inline_level_int + \gdef:cpn{prg_stepwise_inline_\int_use:N\g_prg_inline_level_int :n}##1{#4} \num_compare:nNnTF {#2}<\c_zero {\exp_args:Nco \prg_stepwise_inline_decr:Nnnn } {\exp_args:Nco \prg_stepwise_inline_incr:Nnnn } - {prg_stepwise_inline_\int_use:N\l_prg_inline_level_int :n} + {prg_stepwise_inline_\int_use:N\g_prg_inline_level_int :n} {\int_use:N\int_eval:n{#1}} {#2} {#3} - \int_decr:N \l_prg_inline_level_int + \int_gdecr:N \g_prg_inline_level_int } \def_long_new:NNn \prg_stepwise_inline_incr:Nnnn 4{ \num_compare:nNnF {#2}>{#4} @@ -295,6 +295,36 @@ \def_long_new:Npn \predicate_not_p:n #1{ \if:w \predicate_p:n{#1} \c_false \else: \c_true \fi: } +\def_long:Npn \prg_case_int:nnn #1 #2 { + \exp_args:No \prg_case_int_aux:nnn {\num_value:w \int_eval:n{#1}} #2 + \q_recursion_tail ? \q_recursion_stop +} +\def_long_new:Npn \prg_case_int_aux:nnn #1#2#3{ + \quark_if_recursion_tail_stop_do:nn{#2}{\use_arg_i:n} + \num_compare:nNnTF{#1}={#2} + { \use_arg_i_delimit_by_q_recursion_stop:nw {\use_arg_i:nn{#3}} } + { \prg_case_int_aux:nnn {#1}} +} +\def_long:Npn \prg_case_dim:nnn #1 #2 { + \exp_args:No \prg_case_dim_aux:nnn {\dim_use:N \dim_eval:n{#1}} #2 + \q_recursion_tail ? \q_recursion_stop +} +\def_long_new:Npn \prg_case_dim_aux:nnn #1#2#3{ + \quark_if_recursion_tail_stop_do:nn{#2}{\use_arg_i:n} + \dim_compare:nNnTF{#1}={#2} + { \use_arg_i_delimit_by_q_recursion_stop:nw {\use_arg_i:nn{#3}} } + { \prg_case_dim_aux:nnn {#1}} +} +\def_long:Npn \prg_case_str:nnn #1 #2 { + \prg_case_str_aux:nnn {#1} #2 + \q_recursion_tail ? \q_recursion_stop +} +\def_long_new:Npn \prg_case_str_aux:nnn #1#2#3{ + \quark_if_recursion_tail_stop_do:nn{#2}{\use_arg_i:n} + \tlist_if_eq:xxTF{#1}{#2} + { \use_arg_i_delimit_by_q_recursion_stop:nw {\use_arg_i:nn{#3}} } + { \prg_case_str_aux:nnn {#1}} +} \def_new:NNn \prg_define_quicksort:nnn 3 { \def_long:cNx{#1_quicksort:n}1{ \exp_not:c{#1_quicksort_start_partition:w} ##1 diff --git a/Master/texmf-dist/tex/latex/expl3/l3prop.sty b/Master/texmf-dist/tex/latex/expl3/l3prop.sty index fcf43c8f408..21ff956c0fd 100644 --- a/Master/texmf-dist/tex/latex/expl3/l3prop.sty +++ b/Master/texmf-dist/tex/latex/expl3/l3prop.sty @@ -48,7 +48,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3prop.dtx 742 2008-08-01 13:37:45Z morten $ +\GetIdInfo$Id: l3prop.dtx 745 2008-08-03 18:50:46Z morten $ {L3 Experimental Property Lists} \ProvidesExplPackage {\filename}{\filedate}{\fileversion}{\filedescription} @@ -207,14 +207,14 @@ \def_new:Npn \prop_map_function:cN {\exp_args:Nc \prop_map_function:NN } \def_new:Npn \prop_map_function:Nc {\exp_args:NNc \prop_map_function:NN } \def_new:Npn \prop_map_function:cc {\exp_args:Ncc \prop_map_function:NN} -\num_new:N \l_prop_inline_level_num +\num_new:N \g_prop_inline_level_num \def_new:Npn \prop_map_inline:Nn #1#2 { - \num_incr:N \l_prop_inline_level_num - \def_long:cpn {prop_map_inline_ \num_use:N \l_prop_inline_level_num :n} + \num_gincr:N \g_prop_inline_level_num + \gdef_long:cpn {prop_map_inline_ \num_use:N \g_prop_inline_level_num :n} ##1##2{#2} \prop_map_function:Nc #1 - {prop_map_inline_ \num_use:N \l_prop_inline_level_num :n} - \num_decr:N \l_prop_inline_level_num + {prop_map_inline_ \num_use:N \g_prop_inline_level_num :n} + \num_gdecr:N \g_prop_inline_level_num } \def_new:Npn \prop_map_inline:cN { \exp_args:Nc \prop_map_inline:NN } \let_new:NN \prop_map_break:w \use_none_delimit_by_q_stop:w diff --git a/Master/texmf-dist/tex/latex/expl3/l3quark.sty b/Master/texmf-dist/tex/latex/expl3/l3quark.sty index c766400bcbb..1b44ce2ab2d 100644 --- a/Master/texmf-dist/tex/latex/expl3/l3quark.sty +++ b/Master/texmf-dist/tex/latex/expl3/l3quark.sty @@ -48,7 +48,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3quark.dtx 705 2007-12-02 22:14:25Z morten $ +\GetIdInfo$Id: l3quark.dtx 761 2008-08-04 21:35:13Z morten $ {L3 Experimental Quark Commands} \ProvidesExplPackage {\filename}{\filedate}{\fileversion}{\filedescription} @@ -77,7 +77,7 @@ } \def_long_new:Npn \quark_if_recursion_tail_stop_do:nn #1#2 { \exp_after:NN\if_meaning:NN - \quark_if_recursion_tail_aux:w #1?\q_nil\q_recursion_tail + \quark_if_recursion_tail_aux:w #1?\q_nil\q_recursion_tail\q_recursion_tail \exp_after:NN \use_arg_i_delimit_by_q_recursion_stop:nw \else: \exp_after:NN\use_none:n diff --git a/Master/texmf-dist/tex/latex/expl3/l3tlp.sty b/Master/texmf-dist/tex/latex/expl3/l3tlp.sty index f7baf935951..1867f9e2e0e 100644 --- a/Master/texmf-dist/tex/latex/expl3/l3tlp.sty +++ b/Master/texmf-dist/tex/latex/expl3/l3tlp.sty @@ -48,7 +48,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3tlp.dtx 740 2008-08-01 13:25:38Z morten $ +\GetIdInfo$Id: l3tlp.dtx 767 2008-08-05 19:44:21Z morten $ {L3 Experimental Token List Pointers} \ProvidesExplPackage {\filename}{\filedate}{\fileversion}{\filedescription} @@ -235,25 +235,25 @@ } \def_new:Npn\tlp_map_function:cN{\exp_args:Nc\tlp_map_function:NN} \def_long_new:Npn \tlist_map_inline:nn #1#2{ - \num_incr:N \l_tlp_inline_level_num - \def_long:cpn {tlist_map_inline_ \num_use:N \l_tlp_inline_level_num :n} + \num_gincr:N \g_tlp_inline_level_num + \gdef_long:cpn {tlist_map_inline_ \num_use:N \g_tlp_inline_level_num :n} ##1{#2} \exp_args:Nc \tlist_map_function_aux:Nn - {tlist_map_inline_ \num_use:N \l_tlp_inline_level_num :n} + {tlist_map_inline_ \num_use:N \g_tlp_inline_level_num :n} #1 \q_recursion_tail\q_recursion_stop - \num_decr:N \l_tlp_inline_level_num + \num_gdecr:N \g_tlp_inline_level_num } \def_long_new:Npn \tlp_map_inline:Nn #1#2{ - \num_incr:N \l_tlp_inline_level_num - \def_long:cpn {tlist_map_inline_ \num_use:N \l_tlp_inline_level_num :n} + \num_gincr:N \g_tlp_inline_level_num + \gdef_long:cpn {tlist_map_inline_ \num_use:N \g_tlp_inline_level_num :n} ##1{#2} \exp_args:NcE \tlist_map_function_aux:Nn - {tlist_map_inline_ \num_use:N \l_tlp_inline_level_num :n} + {tlist_map_inline_ \num_use:N \g_tlp_inline_level_num :n} #1 \q_recursion_tail\q_recursion_stop - \num_decr:N \l_tlp_inline_level_num + \num_gdecr:N \g_tlp_inline_level_num } \def_new:Npn\tlp_map_inline:cN{\exp_args:Nc\tlp_map_inline:NN} -\tlp_new:Nn \l_tlp_inline_level_num{0} +\tlp_new:Nn \g_tlp_inline_level_num{0} \def_long_new:Npn \tlist_map_variable:nNn #1#2#3{ \tlist_map_variable_aux:Nnn #2 {#3} #1 \q_recursion_tail \q_recursion_stop } @@ -271,6 +271,7 @@ \tlist_map_function:nN {#1}\num_elt_count:n \num_eval_end: } +\def_new:Npn \tlist_elt_count:o {\exp_args:No\tlist_elt_count:n} \def_new:Npn \tlp_elt_count:N #1{ \num_value:w \num_eval:w 0 \tlp_map_function:NN #1 \num_elt_count:n @@ -492,7 +493,7 @@ \def_long_test_function_new:npn {tlist_if_head_eq_catcode:nN}#1#2{ \if:w\tlist_if_head_eq_catcode_p:nN{#1}#2} \def_long_new:Npn \tlist_reverse:n #1{ - \tlist_reverse_aux:nN {} #1 \q_recursion_tail\q_stop + \tlist_reverse_aux:nN {} #1 \q_recursion_tail\q_recursion_stop } \def_long_new:Npn \tlist_reverse_aux:nN #1#2{ \quark_if_recursion_tail_stop_do:nn {#2}{ #1 } |