diff options
author | Karl Berry <karl@freefriends.org> | 2013-07-12 22:54:42 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-07-12 22:54:42 +0000 |
commit | 60ede63177ff54dd8d1934012fbecce179a633ee (patch) | |
tree | 9dbd9e4608c9a0caa9864fedf49f0a2aea36fedf /Master/texmf-dist/tex/latex/l3experimental | |
parent | c2d4fa6f59f3c566ccd85e3b250f0a27485bbaea (diff) |
l3 (12jul13)
git-svn-id: svn://tug.org/texlive/trunk@31181 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3experimental')
7 files changed, 124 insertions, 44 deletions
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3dt/l3dt.sty b/Master/texmf-dist/tex/latex/l3experimental/l3dt/l3dt.sty index fb5cc34221f..ace519666d8 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3dt/l3dt.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3dt/l3dt.sty @@ -47,7 +47,7 @@ %% ----------------------------------------------------------------------- %% \RequirePackage{expl3} -\GetIdInfo$Id: l3dt.dtx 4420 2013-01-08 20:00:04Z joseph $ +\GetIdInfo$Id: l3dt.dtx 4482 2013-04-24 21:05:12Z joseph $ {L3 Experimental data tables} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty b/Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty index 21c29315228..71ce3d901e9 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty @@ -47,7 +47,7 @@ %% ----------------------------------------------------------------------- %% \RequirePackage{expl3} -\GetIdInfo$Id: l3sort.dtx 4339 2012-11-24 19:16:43Z joseph $ +\GetIdInfo$Id: l3sort.dtx 4491 2013-05-12 16:22:18Z bruno $ {L3 Experimental sorting functions} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -60,33 +60,6 @@ \int_new:N \l__sort_A_int \int_new:N \l__sort_B_int \int_new:N \l__sort_C_int -\cs_new:Npn \tl_sort:nN #1#2 { \__sort_quick:nNn {#1} #2 { } } -\cs_new:Npn \__sort_quick:nNn #1#2 - { - \exp_after:wN \__sort_quick:wn - \use_none:n #1 \__prg_break_point: - \__sort_quick:nnNnn { } { } #2 - #1 - { \__prg_break_point: } - \__prg_break_point: - } -\cs_new:Npn \__sort_quick:wn #1 \__prg_break_point: #2 {#2} -\cs_new:Npn \__sort_quick:nnNnn #1#2#3#4#5 - { - \__prg_break: #5 - \__sort_quick:nnNnwn {#1} {#2} - \__prg_break_point: - #3 {#4} {#5} - { \__sort_quick:nnNnn {#1} { #2 {#5} } } - { \__sort_quick:nnNnn { #1 {#5} } {#2} } - #3 {#4} - } -\cs_new:Npn \__sort_quick:nnNnwn - #1#2 \__prg_break_point: #3#4 #5 \__prg_break_point: #6 - { - \__sort_quick:nNn {#2} #3 - { \__sort_quick:nNn {#1} #3 {#6} {#4} } - } \cs_new_protected:Npn \__sort_main:NNNnNn #1#2#3#4#5#6 { \group_begin: @@ -133,10 +106,10 @@ { \__sort_toks:NNw \prg_do_nothing: \prg_do_nothing: 0 ; } } \cs_new_protected_nopar:Npn \clist_sort:Nn - { \__sort_sort:NNn \tl_set:Nn } + { \__sort_clist:NNn \tl_set:Nn } \cs_new_protected_nopar:Npn \clist_gsort:Nn - { \__sort_sort:NNn \tl_gset:Nn } -\cs_new_protected:Npn \__sort_sort:NNn #1#2#3 + { \__sort_clist:NNn \tl_gset:Nn } +\cs_new_protected:Npn \__sort_clist:NNn #1#2#3 { \clist_if_empty:NF #2 { @@ -232,6 +205,87 @@ \fi: \__sort_merge_blocks_end: } +\cs_new:Npn \tl_sort:nN #1#2 + { + \exp_not:f + { + \tl_if_blank:nF {#1} + { + \__sort_quick_prepare:Nnnn #2 { } { } + #1 + { \__prg_break_point: \__sort_quick_prepare_end:NNNnw } + \q_stop + } + } + } +\cs_new:Npn \__sort_quick_prepare:Nnnn #1#2#3#4 + { + \__prg_break: #4 \__prg_break_point: + \__sort_quick_prepare:Nnnn #1 { #2 #3 } { #1 {#4} } + } +\cs_new:Npn \__sort_quick_prepare_end:NNNnw #1#2#3#4#5 \q_stop + { + \__sort_quick_split:NnNn #4 \__sort_quick_end:nnTFNn { } + \q_mark { \__sort_quick_cleanup:w \exp_stop_f: } + \s__stop \q_stop + } +\cs_new:Npn \__sort_quick_cleanup:w #1 \s__stop \q_stop {#1} +\cs_new:Npn \__sort_quick_split:NnNn #1#2#3#4 + { + #3 {#2} {#4} \__sort_quick_only_ii:NnnnnNn \__sort_quick_only_i:NnnnnNn + \__sort_quick_single_end:nnnwnw + { #3 {#4} } { } { } {#2} + } +\cs_new:Npn \__sort_quick_only_i:NnnnnNn #1#2#3#4#5#6#7 + { + #6 {#5} {#7} \__sort_quick_split_ii:NnnnnNn \__sort_quick_only_i:NnnnnNn + \__sort_quick_only_i_end:nnnwnw + { #6 {#7} } { #3 #2 } { } {#5} + } +\cs_new:Npn \__sort_quick_only_ii:NnnnnNn #1#2#3#4#5#6#7 + { + #6 {#5} {#7} \__sort_quick_only_ii:NnnnnNn \__sort_quick_split_i:NnnnnNn + \__sort_quick_only_ii_end:nnnwnw + { #6 {#7} } { } { #4 #2 } {#5} + } +\cs_new:Npn \__sort_quick_split_i:NnnnnNn #1#2#3#4#5#6#7 + { + #6 {#5} {#7} \__sort_quick_split_ii:NnnnnNn \__sort_quick_split_i:NnnnnNn + \__sort_quick_split_end:nnnwnw + { #6 {#7} } { #3 #2 } {#4} {#5} + } +\cs_new:Npn \__sort_quick_split_ii:NnnnnNn #1#2#3#4#5#6#7 + { + #6 {#5} {#7} \__sort_quick_split_ii:NnnnnNn \__sort_quick_split_i:NnnnnNn + \__sort_quick_split_end:nnnwnw + { #6 {#7} } {#3} { #4 #2 } {#5} + } +\cs_new:Npn \__sort_quick_end:nnTFNn #1#2#3#4#5#6 {#5} +\cs_new:Npn \__sort_quick_single_end:nnnwnw #1#2#3#4 \q_mark #5#6 \q_stop + { #5 {#3} #6 \q_stop } +\cs_new:Npn \__sort_quick_only_i_end:nnnwnw #1#2#3#4 \q_mark #5#6 \q_stop + { + \__sort_quick_split:NnNn #1 + \__sort_quick_end:nnTFNn { } \q_mark {#5} + {#3} + #6 \q_stop + } +\cs_new:Npn \__sort_quick_only_ii_end:nnnwnw #1#2#3#4 \q_mark #5#6 \q_stop + { + \__sort_quick_split:NnNn #2 + \__sort_quick_end:nnTFNn { } \q_mark { #5 {#3} } + #6 \q_stop + } +\cs_new:Npn \__sort_quick_split_end:nnnwnw #1#2#3#4 \q_mark #5#6 \q_stop + { + \__sort_quick_split:NnNn #2 \__sort_quick_end:nnTFNn { } \q_mark + { + \__sort_quick_split:NnNn #1 + \__sort_quick_end:nnTFNn { } \q_mark {#5} + {#3} + } + #6 \q_stop + } \cs_new_protected:Npn \__sort_too_long_error:NNw #1#2 \fi: { \fi: diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex-trace.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex-trace.sty index 91a6eab725f..a06c2d882db 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex-trace.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex-trace.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{expl3} -\GetIdInfo$Id: l3regex.dtx 4455 2013-01-22 20:38:19Z bruno $ +\GetIdInfo$Id: l3regex.dtx 4482 2013-04-24 21:05:12Z joseph $ {L3 Experimental regular expressions} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty index 89f631f7e0b..f3438ed74f6 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{expl3} -\GetIdInfo$Id: l3regex.dtx 4455 2013-01-22 20:38:19Z bruno $ +\GetIdInfo$Id: l3regex.dtx 4482 2013-04-24 21:05:12Z joseph $ {L3 Experimental regular expressions} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty index 5291a394382..122f0341a8e 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty @@ -484,6 +484,23 @@ } } \group_end: +\cs_new_protected_nopar:Npn \__str_convert_decode_clist: + { + \clist_set:No \g__str_result_tl \g__str_result_tl + \tl_gset:Nx \g__str_result_tl + { + \exp_args:No \clist_map_function:nN + \g__str_result_tl \__str_decode_clist_char:n + } + } +\cs_new:Npn \__str_decode_clist_char:n #1 + { #1 \s__tl \int_eval:n {#1} \s__tl } +\cs_new_protected_nopar:Npn \__str_convert_encode_clist: + { + \__str_convert_gmap_internal:N \__str_encode_clist_char:n + \tl_gset:Nx \g__str_result_tl { \tl_tail:N \g__str_result_tl } + } +\cs_new:Npn \__str_encode_clist_char:n #1 { , #1 } \cs_new_protected:Npn \__str_declare_eight_bit_encoding:nnn #1#2#3 { \tl_set:Nn \l__str_internal_tl {#1} diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str.sty index 15d29def3e8..40b503280e3 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{expl3} -\GetIdInfo$Id: l3str.dtx 4452 2013-01-20 10:18:32Z joseph $ +\GetIdInfo$Id: l3str.dtx 4482 2013-04-24 21:05:12Z joseph $ {L3 Experimental strings} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty index a05256b4f44..ec016098bdd 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty @@ -14,7 +14,7 @@ %% Do not distribute a modified version of this file. %% %% File: l3galley.dtx Copyright (C) 1999-2001, 2004-2009 Frank Mittelbach -%% (C) 2010-2012 The LaTeX3 Project +%% (C) 2010-2013 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -48,7 +48,7 @@ %% ----------------------------------------------------------------------- %% \RequirePackage{xparse} -\GetIdInfo$Id: l3galley.dtx 4402 2013-01-08 08:59:44Z bruno $ +\GetIdInfo$Id: l3galley.dtx 4494 2013-05-24 06:27:01Z joseph $ {L3 Experimental galley code} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -486,7 +486,7 @@ { \__galley_parshape_measure: } } { - \prg_replicate:nn \g__galley_previous_par_lines_int + \prg_replicate:nn \g_galley_previous_par_lines_int { \seq_gpop:NN \g__galley_cutout_left_seq \l__galley_tmp_tl \seq_gpop:NN \g__galley_cutout_right_seq \l__galley_tmp_tl @@ -611,7 +611,7 @@ \int_compare:nNnTF \tex_parshape:D = \c_zero { \tl_put_right:Nn \l__galley_tmp_tl - { \l__galley_total_left_margin_dim \l__galley_text_width_dim } + { \l__galley_total_left_margin_dim \l_galley_text_width_dim } } { \tl_put_right:Nx \l__galley_tmp_tl @@ -636,7 +636,7 @@ { \dim_eval:n { \l__galley_total_left_margin_dim + ( #1 ) } \c_space_tl - \dim_eval:n { \l__galley_text_width_dim - ( #1 ) } + \dim_eval:n { \l_galley_text_width_dim - ( #1 ) } \c_space_tl } { @@ -652,10 +652,19 @@ \int_incr:N \l__galley_tmp_int \tl_put_right:Nx \l__galley_tmp_tl { - \dim_eval:n { \etex_parshapeindent:D \l__galley_tmp_int } - \c_space_tl - \dim_eval:n { \etex_parshapelength:D \l__galley_tmp_int - ( #1 ) } - \c_space_tl + \int_compare:nNnTF \l__galley_tmp_int > \tex_parshape:D + { + \dim_use:N \l__galley_total_left_margin_dim + \c_space_tl + \dim_eval:n { \l_galley_text_width_dim - ( #1 ) } + \c_space_tl + } + { + \dim_eval:n { \etex_parshapeindent:D \l__galley_tmp_int } + \c_space_tl + \dim_eval:n { \etex_parshapelength:D \l__galley_tmp_int - ( #1 ) } + \c_space_tl + } } } \cs_new_protected:Npn \__galley_cutout_end:n #1 |