diff options
author | Karl Berry <karl@freefriends.org> | 2018-11-20 22:02:39 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-11-20 22:02:39 +0000 |
commit | b6f9a8150be60baacc19b5035f1e344d14d1582c (patch) | |
tree | 02b435f7462e170e5f491c222bb7523c377a6629 /Master/texmf-dist/tex | |
parent | 2b465ca87794c05f1793552a8608392027a2e100 (diff) |
l3 (20nov18)
git-svn-id: svn://tug.org/texlive/trunk@49205 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
18 files changed, 186 insertions, 149 deletions
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty b/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty index f9ed7d0c25c..87c8790e3d3 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty @@ -20,7 +20,7 @@ %% %% File: l3benchmark.dtx Copyright (C) 2011,2012,2014-2018 The LaTeX3 Project \RequirePackage{expl3} -\ProvidesExplPackage{l3benchmark}{2018-10-31}{} +\ProvidesExplPackage{l3benchmark}{2018-11-19}{} {L3 Experimental benchmarking} \sys_if_engine_luatex:TF { @@ -62,57 +62,22 @@ \c_zero_int } } -\fp_new:N \g_benchmark_time_fp -\fp_new:N \g_benchmark_ops_fp -\cs_new_protected:Npn \benchmark_display: - { \iow_term:x { \fp_to_tl:N \g_benchmark_time_fp \c_space_tl seconds } } -\cs_new_protected:Npn \benchmark_display_in_ops: - { - \iow_term:x - { - \fp_compare:nTF { \g_benchmark_ops_fp > 1e9 } - { \fp_to_tl:n { \g_benchmark_ops_fp * 1e-9 } ~ G~ops } - { - \fp_compare:nTF { \g_benchmark_ops_fp > 1e6 } - { \fp_to_tl:n { \g_benchmark_ops_fp * 1e-6 } ~ M~ops } - { - \fp_compare:nTF { \g_benchmark_ops_fp > 1e3 } - { \fp_to_tl:n { \g_benchmark_ops_fp * 1e-3 } ~ K~ops } - { \fp_to_tl:n { \g_benchmark_ops_fp } ~ ops } - } - } - } - } +\fp_new:N \g_benchmark_duration_target_fp +\fp_gset:Nn \g_benchmark_duration_target_fp { 1 } \sys_if_timer_exist:F { - \msg_new:nnnn { benchmark } { no-time } - { The~l3benchmark~package~failed~to~access~a~clock. } - { The~current~engine~provides~no~way~to~access~the~system~time. } + \fp_gset:Nn \g_benchmark_duration_target_fp { nan } \cs_new_protected:Npn \benchmark_once:n #1 { \msg_error:nn { benchmark } { no-time } } - \cs_new_protected:Npn \benchmark_once_in_ops:n #1 - { \msg_error:nn { benchmark } { no-time } } - \cs_new_protected:Npn \benchmark_once_silent:n #1 - { \msg_error:nn { benchmark } { no-time } } - \cs_new_protected:Npn \benchmark:n #1 - { \msg_error:nn { benchmark } { no-time } } - \cs_new_protected:Npn \benchmark_in_ops:n #1 + \cs_new_eq:NN \benchmark:n \benchmark_once:n + \cs_new_protected:Npn \benchmark_tic: { \msg_error:nn { benchmark } { no-time } } - \cs_new_protected:Npn \benchmark_silent:n #1 - { \msg_error:nn { benchmark } { no-time } } - \fp_gset:Nn \g_benchmark_time_fp { nan } - \fp_gset:Nn \g_benchmark_ops_fp { nan } + \cs_new_eq:NN \benchmark_toc: \benchmark_tic: + \msg_new:nnnn { benchmark } { no-time } + { The~l3benchmark~package~failed~to~access~a~clock. } + { The~current~engine~provides~no~way~to~access~the~system~time. } \msg_critical:nn { benchmark } { no-time } } -\fp_new:N \g_benchmark_duration_target_fp -\fp_gset:Nn \g_benchmark_duration_target_fp { 1 } -\int_new:N \g__benchmark_duration_int -\int_new:N \g__benchmark_time_int -\int_new:N \g__benchmark_time_a_int -\int_new:N \g__benchmark_time_b_int -\int_new:N \g__benchmark_time_c_int -\int_new:N \g__benchmark_time_d_int -\int_new:N \g__benchmark_repeat_int \int_new:N \g__benchmark_nesting_int \cs_new_protected:Npn \__benchmark_raw:nN #1 { @@ -163,63 +128,52 @@ \int_gset:Nn #3 { #1 - \g__benchmark_time_int } \cs_set_eq:NN \__benchmark_tmp:w \prg_do_nothing: } -\fp_new:N \g__benchmark_one_op_fp +\fp_new:N \g__benchmark_time_fp +\fp_new:N \g__benchmark_ops_fp +\int_new:N \g__benchmark_duration_int +\int_new:N \g__benchmark_time_int +\int_new:N \g__benchmark_time_a_int +\int_new:N \g__benchmark_time_b_int +\int_new:N \g__benchmark_time_c_int +\int_new:N \g__benchmark_time_d_int +\int_new:N \g__benchmark_repeat_int \tl_new:N \g__benchmark_code_tl -\cs_new_protected:Npn \benchmark:n #1 - { \benchmark_silent:n {#1} \benchmark_display: } -\cs_new_protected:Npn \benchmark_in_ops:n #1 - { \benchmark_silent:n {#1} \benchmark_display_in_ops: } -\cs_new_protected:Npn \__benchmark_measure_op: +\cs_new_protected:Npn \benchmark_once:n #1 { - \int_gset:Nn \g__benchmark_duration_int { 256 } - \tl_gset:Nn \g__benchmark_code_tl - { \int_gset:Nn \g__benchmark_duration_int { 256 } } % arbitrary single operation - \__benchmark_aux: - \fp_gset_eq:NN \g__benchmark_one_op_fp \g_benchmark_time_fp - \fp_compare:nNnT \g__benchmark_one_op_fp < { 1e-6 } - { \fp_gset:Nn \g__benchmark_one_op_fp { 1e-6 } } + \__benchmark_measure_op: + \__benchmark_raw:nN {#1} \g__benchmark_time_int + \fp_gset:Nn \g__benchmark_time_fp { \g__benchmark_time_int / 65536 } + \__benchmark_display: } -\cs_new_protected:Npn \benchmark_silent:n #1 +\cs_new_protected:Npn \benchmark:n #1 { \__benchmark_measure_op: - \int_gset:Nn \g__benchmark_duration_int - { \fp_to_int:n { 65536 * \g_benchmark_duration_target_fp } } \tl_gset:Nn \g__benchmark_code_tl {#1} \__benchmark_aux: - \fp_gset:Nn \g_benchmark_ops_fp - { \g_benchmark_time_fp / \g__benchmark_one_op_fp } + \__benchmark_display: } \cs_new_protected:Npn \__benchmark_aux: { \int_gset:Nn \g__benchmark_repeat_int { 1 } \__benchmark_raw:nN { \g__benchmark_code_tl } \g__benchmark_time_int \int_compare:nNnF \g__benchmark_time_int < { \g__benchmark_duration_int / 2 } + { \prg_break: } + \bool_until_do:nn { - \int_gset_eq:NN \g__benchmark_time_a_int \g__benchmark_time_int - \int_gset_eq:NN \g__benchmark_time_b_int \g__benchmark_time_int - \int_gset_eq:NN \g__benchmark_time_c_int \g__benchmark_time_int - \int_gset_eq:NN \g__benchmark_time_d_int \g__benchmark_time_int - \prg_break: + \int_compare_p:nNn \g__benchmark_time_int > { \g__benchmark_duration_int / 32 } + || \int_compare_p:nNn \g__benchmark_repeat_int > { \c_max_int / 4 } } - \int_while_do:nNnn \g__benchmark_time_int < { \g__benchmark_duration_int / 100 } { - \int_compare:nNnT \g__benchmark_repeat_int > { \c_max_int / 4 } - { - \int_gzero:N \g__benchmark_time_a_int - \int_gzero:N \g__benchmark_time_b_int - \int_gzero:N \g__benchmark_time_c_int - \int_gzero:N \g__benchmark_time_d_int - \prg_break: - } \int_gset:Nn \g__benchmark_repeat_int { 4 * \g__benchmark_repeat_int } \__benchmark_run:N \g__benchmark_time_int } \int_gset:Nn \g__benchmark_repeat_int { - \int_max:nn { 1 } + \fp_to_int:n { - \g__benchmark_duration_int * \g__benchmark_repeat_int - / ( \g__benchmark_time_int * 4 ) + max ( 1 , min ( \c_max_int , + \g__benchmark_duration_int * \g__benchmark_repeat_int / + \int_eval:n { 4 * \g__benchmark_time_int } ) ) } } \int_compare:nNnTF \g__benchmark_repeat_int = 1 @@ -228,76 +182,87 @@ \__benchmark_run:N \g__benchmark_time_b_int \__benchmark_run:N \g__benchmark_time_c_int \__benchmark_run:N \g__benchmark_time_d_int - \prg_break_point: - \fp_gset:Nn \g_benchmark_time_fp + \int_gset:Nn \g__benchmark_time_int { \int_min:nn { \int_min:nn \g__benchmark_time_a_int \g__benchmark_time_b_int } { \int_min:nn \g__benchmark_time_c_int \g__benchmark_time_d_int } - / \g__benchmark_repeat_int / 65536 } + \prg_break_point: + \int_compare:nNnT \g__benchmark_time_int < 3 { \int_gzero:N \g__benchmark_time_int } + \fp_gset:Nn \g__benchmark_time_fp + { \g__benchmark_time_int / \g__benchmark_repeat_int / 65536 } } \cs_new_protected:Npn \__benchmark_run:N { \exp_args:NNo \__benchmark_raw_replicate:nnN \g__benchmark_repeat_int { \g__benchmark_code_tl } } -\cs_new_protected:Npn \benchmark_once:n #1 - { \benchmark_once_silent:n {#1} \benchmark_display: } -\cs_new_protected:Npn \benchmark_once_in_ops:n #1 - { \benchmark_once_silent:n {#1} \benchmark_display_in_ops: } -\cs_new_protected:Npn \benchmark_once_silent:n #1 +\fp_new:N \g__benchmark_one_op_fp +\cs_new_protected:Npn \__benchmark_measure_op: { - \__benchmark_measure_op: - \__benchmark_raw:nN {#1} \g__benchmark_time_int - \fp_gset:Nn \g_benchmark_time_fp { \g__benchmark_time_int / 65536 } - \fp_gset:Nn \g_benchmark_ops_fp - { \g_benchmark_time_fp / \g__benchmark_one_op_fp } + \int_gset:Nn \g__benchmark_duration_int + { \fp_to_int:n { 65536 * \g_benchmark_duration_target_fp } / 4 } + \tl_gset:Nn \g__benchmark_code_tl + { \int_gadd:Nn \g__benchmark_duration_int { 0 } } + \__benchmark_aux: + \fp_gset:Nn \g__benchmark_one_op_fp { max(\g__benchmark_time_fp, 1e-16) } + \int_gset:Nn \g__benchmark_duration_int + { \fp_to_int:n { 65536 * \g_benchmark_duration_target_fp } } } -\int_new:N \g__benchmark_tictoc_int -\seq_new:N \g__benchmark_tictoc_seq -\cs_new_protected:Npn \benchmark_tic: +\cs_new:Npn \__benchmark_fp_to_tl:N #1 { - \int_compare:nTF { \g__benchmark_tictoc_int == 0 } + \fp_compare:nTF { abs(#1) < 1000 } + { \fp_to_tl:n { round(#1, 2 - logb(#1)) } } { - \sys_gzero_timer: - \__benchmark_tic: + \exp_args:Nf \__benchmark_fp_to_tl_aux:nN + { \fp_to_int:n { logb(#1) } } #1 } - { \__benchmark_tic: } } -\cs_new_protected:Npn \__benchmark_tic: +\cs_new:Npn \__benchmark_fp_to_tl_aux:nN #1#2 + { \fp_to_tl:n { round(#2 * 1e-#1, 2) } e#1 } +\cs_new_protected:Npn \__benchmark_display: { - \exp_args:NNf \seq_put_right:Nn \g__benchmark_tictoc_seq { \sys_timer: } - \int_gincr:N \g__benchmark_tictoc_int + \fp_gset:Nn \g__benchmark_ops_fp { \g__benchmark_time_fp / \g__benchmark_one_op_fp } \iow_term:x { - \prg_replicate:nn {\g__benchmark_tictoc_int} {---+} \space - TIC + \__benchmark_fp_to_tl:N \g__benchmark_time_fp \c_space_tl seconds \c_space_tl + ( \__benchmark_fp_to_tl:N \g__benchmark_ops_fp \c_space_tl ops) } } +\int_new:N \g__benchmark_tictoc_int +\seq_new:N \g__benchmark_tictoc_seq +\tl_new:N \l__benchmark_tictoc_pop_tl +\cs_new:Npn \__benchmark_tictoc_prefix: + { + (l3benchmark) \c_space_tl + + \prg_replicate:nn { \g__benchmark_tictoc_int } { -+ } \c_space_tl + } +\cs_new_protected:Npn \benchmark_tic: + { + \iow_term:x { \__benchmark_tictoc_prefix: TIC } + \exp_args:NNf \seq_gput_right:Nn \g__benchmark_tictoc_seq { \sys_timer: } + \int_gincr:N \g__benchmark_tictoc_int + } \cs_new:Npn \benchmark_toc: { - \int_compare:nT { \g__benchmark_tictoc_int == 0 } - { \msg_error:nn {benchmark} {toc-first} } - \seq_pop_right:NN \g__benchmark_tictoc_seq \l__benchmark_tictoc_pop_tl - \__benchmark_toc: + \seq_gpop_right:NNTF \g__benchmark_tictoc_seq \l__benchmark_tictoc_pop_tl + { \__benchmark_toc: } + { \msg_error:nn { benchmark } { toc-first } } } \cs_new_protected:Npn \__benchmark_toc: { - \tl_set:Nx \l__benchmark_tictoc_tl - { - \fp_to_decimal:n - { round( ( \sys_timer: - \l__benchmark_tictoc_pop_tl) / 65536 , 3 ) } - } + \int_gdecr:N \g__benchmark_tictoc_int + \fp_gset:Nn \g__benchmark_time_fp + { ( \sys_timer: - \l__benchmark_tictoc_pop_tl ) / 65536 } \iow_term:x { - \prg_replicate:nn {\g__benchmark_tictoc_int} {---+} \c_space_tl + \__benchmark_tictoc_prefix: TOC: \c_space_tl - \l__benchmark_tictoc_tl \c_space_tl s + \__benchmark_fp_to_tl:N \g__benchmark_time_fp \c_space_tl s } - \int_gdecr:N \g__benchmark_tictoc_int } -\msg_new:nnn {benchmark} {toc-first} +\msg_new:nnn { benchmark } { toc-first } { - \token_to_str:N \benchmark_toc: \space without~ - \token_to_str:N \benchmark_tic: \space ! + \token_to_str:N \benchmark_toc: \c_space_tl without~ + \token_to_str:N \benchmark_tic: \c_space_tl ! } %% %% diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty b/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty index a673ae3beeb..b94484a9d1a 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty @@ -20,8 +20,10 @@ %% %% File: l3cctab.dtx Copyright (C) 2018 The LaTeX3 Project \RequirePackage{expl3} -\ProvidesExplPackage{l3cctab}{2018-10-31}{} +\ProvidesExplPackage{l3cctab}{2018-11-19}{} {L3 Experimental category code tables} +\int_new:N \g__cctab_allocate_int +\int_gset:Nn \g__cctab_allocate_int { -1 } \int_new:N \g__cctab_stack_int \seq_new:N \g__cctab_stack_seq \tl_new:N \l__cctab_tmp_tl @@ -31,7 +33,6 @@ { \__kernel_chk_if_free_cs:N #1 \newcatcodetable #1 - \tex_initcatcodetable:D #1 } \cs_new_protected:Npn \cctab_begin:N #1 { @@ -61,18 +62,26 @@ } { \cs_new_protected:Npn \__cctab_gstore:Nnn #1#2#3 - { \intarray_gset:Nnn #1 { #2 + 1 } {#3} } + { + \intarray_gset:cnn + { g__cctab_ \int_use:N #1 _cctab } { #2 + 1 } {#3} + } \cs_new_protected:Npn \cctab_new:N #1 { - \intarray_new:Nn #1 { 256 } + \int_gadd:Nn \g__cctab_allocate_int { 1 } + \int_const:Nn #1 { \g__cctab_allocate_int } + \intarray_new:cn { g__cctab_ \int_use:N #1 _cctab } { 256 } \int_step_inline:nn { 256 } - { \intarray_gset:Nnn #1 {##1} { 12 } } + { + \intarray_gset:cnn + { g__cctab_ \int_use:N #1 _cctab } {##1} { 12 } + } \__cctab_gstore:Nnn #1 { 0 } { 9 } \__cctab_gstore:Nnn #1 { 13 } { 5 } \__cctab_gstore:Nnn #1 { 32 } { 10 } \__cctab_gstore:Nnn #1 { 37 } { 14 } - \int_step_inline:nnn { 65 } { 90 } - { \intarray_gset:Nnn #1 {##1} { 11 } } + \int_step_inline:nnn { 64 } { 89 } + { \__cctab_gstore:Nnn #1 {##1} { 11 } } \__cctab_gstore:Nnn #1 { 92 } { 0 } \int_step_inline:nnn { 97 } { 122 } { \__cctab_gstore:Nnn #1 {##1} { 11 } } @@ -99,7 +108,10 @@ \int_step_inline:nn { 256 } { \char_set_catcode:nn { ##1 - 1 } - { \intarray_item:Nn #1 {##1} } + { + \intarray_item:cn + { g__cctab_ \int_use:N #1 _cctab } {##1} + } } } \cs_generate_variant:Nn \intarray_new:Nn { c } @@ -124,17 +136,16 @@ #2 \int_step_inline:nn { 256 } { - \intarray_gset:Nnn #1 {##1} + \intarray_gset:cnn { g__cctab_ \int_use:N #1 _cctab } {##1} { \char_value_catcode:n { ##1 - 1 } } } \group_end: } } -\cctab_new:N \g__cctab_tmp_cctab \cs_new_protected:Npn \cctab_const:Nn #1#2 { - \cctab_gset:Nn \g__cctab_tmp_cctab {#2} - \cs_new_eq:NN #1 \g__cctab_tmp_cctab + \cctab_new:N #1 + \cctab_gset:Nn #1 {#2} } \cctab_const:Nn \c_code_cctab { } \cctab_const:Nn \c_document_cctab diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty index 16e910101db..5caa1a16b60 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty @@ -20,7 +20,7 @@ %% %% File: l3color.dtx Copyright(C) 2017-2018 The LaTeX3 Project \RequirePackage{expl3} -\ProvidesExplPackage{l3color}{2018-10-31}{} +\ProvidesExplPackage{l3color}{2018-11-19}{} {L3 Experimental color support} \tl_new:N \l__color_tmp_tl \prg_new_conditional:Npnn \__color_if_defined:n #1 { T, F, TF } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty index ff825b3402e..7568542ba7c 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty @@ -27,7 +27,7 @@ %% %% File: l3draw.dtx Copyright(C) 2018 The LaTeX3 Project \RequirePackage{expl3} -\ProvidesExplPackage{l3draw}{2018-10-31}{} +\ProvidesExplPackage{l3draw}{2018-11-19}{} {L3 Experimental core drawing support} \RequirePackage { l3color } %% File: l3draw-boxes.dtx Copyright(C) 2018 The LaTeX3 Project 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 aa696ec5941..bba4a7b3ffa 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty @@ -20,7 +20,7 @@ %% %% File: l3str-convert.dtx Copyright (C) 2013-2018 The LaTeX3 Project \RequirePackage{expl3} -\ProvidesExplPackage{l3str-convert}{2018-10-31}{} +\ProvidesExplPackage{l3str-convert}{2018-11-19}{} {L3 Experimental string encoding conversions} \cs_if_exist:NF \use_ii_i:nn { \cs_new:Npn \use_ii_i:nn #1#2 { #2 #1 } } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty index b224455020d..83aff2b089a 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty @@ -20,7 +20,7 @@ %% %% File: l3str-format.dtx Copyright (C) 2012-2018 The LaTeX3 Project \RequirePackage{expl3} -\ProvidesExplPackage{l3str-format}{2018-10-31}{} +\ProvidesExplPackage{l3str-format}{2018-11-19}{} {L3 Experimental string formatting} \cs_generate_variant:Nn \use:nn { nf } \cs_generate_variant:Nn \use:nnn { fnf } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty b/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty index f572fb006c7..87b1b13a41c 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty @@ -20,7 +20,7 @@ %% %% File: l3sys-shell.dtx Copyright(C) 2018 The LaTeX3 Project \RequirePackage{expl3} -\ProvidesExplPackage{l3sys-shell}{2018-10-31}{} +\ProvidesExplPackage{l3sys-shell}{2018-11-19}{} {L3 Experimental system shell functions} \cs_new:Npn \__sys_path_to_win:n #1 { diff --git a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty index 49be85fa7e4..dc2c8b88d66 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty @@ -20,7 +20,7 @@ %% %% File: xcoffins.dtx Copyright(C) 2010-2012,2014,2016-2018 The LaTeX3 Project \RequirePackage{xparse} -\ProvidesExplPackage{xcoffins}{2018-10-31}{} +\ProvidesExplPackage{xcoffins}{2018-11-19}{} {L3 Experimental design level coffins} \keys_define:nn { coffin } { diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty index abe51eda60e..cc75515bc8f 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty @@ -33,7 +33,7 @@ }% \endinput } -\ProvidesExplPackage{l3galley}{2018-10-31}{} +\ProvidesExplPackage{l3galley}{2018-11-19}{} {L3 Experimental galley code} \int_new:N \l__galley_tmp_int \seq_new:N \g__galley_tmpa_seq diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty index 43ced539cf6..7fb3391310f 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty @@ -21,7 +21,7 @@ %% File: xgalley.dtx Copyright (C) 1999-2001, 2004-2009 Frank Mittelbach %% (C) 2010-2012,2014,2016-2018 The LaTeX3 Project \RequirePackage{xparse} -\ProvidesExplPackage{xgalley}{2018-10-31}{} +\ProvidesExplPackage{xgalley}{2018-11-19}{} {L3 Experimental galley} \RequirePackage{xparse,xtemplate,l3galley} \clist_new:N \l__galley_tmpa_clist diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex index 6a96cdf65f2..8bf3a432a01 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex @@ -63,7 +63,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx Copyright (C) 1990-2018 The LaTeX3 Project -\def\ExplFileDate{2018-10-31}% +\def\ExplFileDate{2018-11-19}% \begingroup \def\next{\endgroup}% \expandafter\ifx\csname PackageError\endcsname\relax @@ -837,6 +837,7 @@ \__kernel_primitive:NN \pdfeachlinedepth \tex_eachlinedepth:D \__kernel_primitive:NN \pdfeachlineheight \tex_eachlineheight:D \__kernel_primitive:NN \pdfelapsedtime \tex_elapsedtime:D + \__kernel_primitive:NN \pdffiledump \tex_filedump:D \__kernel_primitive:NN \pdffilemoddate \tex_filemoddate:D \__kernel_primitive:NN \pdffilesize \tex_filesize:D \__kernel_primitive:NN \pdffirstlineheight \tex_firstlineheight:D @@ -949,7 +950,11 @@ \__kernel_primitive:NN \XeTeXvariationmin \tex_XeTeXvariationmin:D \__kernel_primitive:NN \XeTeXvariationname \tex_XeTeXvariationname:D \__kernel_primitive:NN \XeTeXversion \tex_XeTeXversion:D + \__kernel_primitive:NN \creationdate \tex_creationdate:D \__kernel_primitive:NN \elapsedtime \tex_elapsedtime:D + \__kernel_primitive:NN \filedump \tex_filedump:D + \__kernel_primitive:NN \filemoddate \tex_filemoddate:D + \__kernel_primitive:NN \filesize \tex_filesize:D \__kernel_primitive:NN \mdfivesum \tex_mdfivesum:D \__kernel_primitive:NN \ifprimitive \tex_ifprimitive:D \__kernel_primitive:NN \primitive \tex_primitive:D @@ -15557,6 +15562,8 @@ %% File: l3fp-basics.dtx Copyright (C) 2011-2014,2016-2018 The LaTeX3 Project \cs_new:Npn \__fp_parse_word_abs:N { \__fp_parse_unary_function:NNN \__fp_set_sign_o:w 0 } +\cs_new:Npn \__fp_parse_word_logb:N + { \__fp_parse_unary_function:NNN \__fp_logb_o:w ? } \cs_new:Npn \__fp_parse_word_sign:N { \__fp_parse_unary_function:NNN \__fp_sign_o:w ? } \cs_new:Npn \__fp_parse_word_sqrt:N @@ -16298,6 +16305,22 @@ \int_value:w \__fp_int_eval:w #6 + 19999 - #1 ; \exp_after:wN ; } +\cs_new:Npn \__fp_logb_o:w ? \s__fp \__fp_chk:w #1#2; @ + { + \if_case:w #1 \exp_stop_f: + \__fp_case_use:nw + { \__fp_division_by_zero_o:Nnw \c_minus_inf_fp { logb } } + \or: \exp_after:wN \__fp_logb_aux_o:w + \or: \__fp_case_return_o:Nw \c_inf_fp + \else: \__fp_case_return_same_o:w + \fi: + \s__fp \__fp_chk:w #1 #2; + } +\cs_new:Npn \__fp_logb_aux_o:w \s__fp \__fp_chk:w #1 #2 #3 #4 ; + { + \exp_after:wN \__fp_parse:n \exp_after:wN + { \int_value:w \int_eval:w #3 - 1 \exp_after:wN } + } \cs_new:Npn \__fp_sign_o:w ? \s__fp \__fp_chk:w #1#2; @ { \if_case:w #1 \exp_stop_f: @@ -24089,7 +24112,7 @@ { l__coffin_poles_ \__coffin_to_value:N #1 _prop } {#2} #3 { \__kernel_msg_error:nnxx { kernel } { unknown-coffin-pole } - {#2} { \token_to_str:N #1 } + { \exp_not:n {#2} } { \token_to_str:N #1 } \tl_set:Nn #3 { { 0pt } { 0pt } { 0pt } { 0pt } } } } @@ -25261,6 +25284,8 @@ {#5} {#6} } } +\cs_new:Npn \fp_sign:n #1 + { \fp_to_decimal:n { sign \__fp_parse:n {#1} } } \cs_new_protected:Npn \file_get_mdfive_hash:nN #1#2 { \__file_get_details:nnN {#1} { mdfivesum } {#2} } \cs_new_protected:Npn \file_get_size:nN #1#2 @@ -25340,6 +25365,22 @@ \cs:w flag~#1 \cs_end: 0 ; \fi: } +\__kernel_patch_args:nNNpn + { { \__kernel_chk_expr:nNnN {#1} \__int_eval:w { } \int_sign:n } } +\cs_new:Npn \int_sign:n #1 + { + \int_value:w \exp_after:wN \__int_sign:Nw + \int_value:w \__int_eval:w #1 \__int_eval_end: ; + \exp_stop_f: + } +\cs_new:Npn \__int_sign:Nw #1#2 ; + { + \if_meaning:w 0 #1 + 0 + \else: + \if_meaning:w - #1 - \fi: 1 + \fi: + } \cs_new:Npn \msg_expandable_error:nnnnnn #1#2#3#4#5#6 { \exp_args:Nf \__msg_expandable_error_module:nn @@ -25598,6 +25639,26 @@ \exp_after:wN #1 \int_value:w \int_eval:w 1 + #2 ; } +\__kernel_patch_args:nNNpn + { { \__kernel_chk_expr:nNnN {#1} \__dim_eval:w { } \dim_sign:n } } +\cs_new:Npn \dim_sign:n #1 + { + \int_value:w \exp_after:wN \__dim_sign:Nw + \dim_use:N \__dim_eval:w #1 \__dim_eval_end: ; + \exp_stop_f: + } +\cs_new:Npn \__dim_sign:Nw #1#2 ; + { + \if_dim:w #1#2 > \c_zero_dim + 1 + \else: + \if_meaning:w - #1 + -1 + \else: + 0 + \fi: + \fi: + } \cs_new:Npn \skip_split_finite_else_action:nnNN #1#2#3#4 { \skip_if_finite:nTF {#1} diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex index 4a637b830c5..8ce266d05a8 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx Copyright (C) 1990-2018 The LaTeX3 Project -\def\ExplFileDate{2018-10-31}% +\def\ExplFileDate{2018-11-19}% \let\ExplLoaderFileDate\ExplFileDate \begingroup \def\tempa{LaTeX2e}% diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty index ab9906724e1..a774f4a9048 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx Copyright (C) 1990-2018 The LaTeX3 Project -\def\ExplFileDate{2018-10-31}% +\def\ExplFileDate{2018-11-19}% \let\ExplLoaderFileDate\ExplFileDate \ProvidesPackage{expl3} [% diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def index ed50851dbd4..a242b6eea3c 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def @@ -20,7 +20,7 @@ %% %% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project \ProvidesExplFile - {l3dvidpfmx.def}{2018-10-31}{} + {l3dvidpfmx.def}{2018-11-19}{} {L3 Experimental driver: dvipdfmx} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def index b8f3670e7e1..a2d5fd5ab52 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def @@ -20,7 +20,7 @@ %% %% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project \ProvidesExplFile - {l3dvips.def}{2018-10-31}{} + {l3dvips.def}{2018-11-19}{} {L3 Experimental driver: dvips} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def index c3d8fe8c5c9..39ee76c2b9f 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def @@ -20,7 +20,7 @@ %% %% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project \ProvidesExplFile - {l3dvisvgm.def}{2018-10-31}{} + {l3dvisvgm.def}{2018-11-19}{} {L3 Experimental driver: dvisvgm} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def index 07b01ffd13f..afac364e67f 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def @@ -20,7 +20,7 @@ %% %% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project \ProvidesExplFile - {l3pdfmode.def}{2018-10-31}{} + {l3pdfmode.def}{2018-11-19}{} {L3 Experimental driver: PDF mode} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def index f7796bc13b3..69e0bb4e3da 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def @@ -20,7 +20,7 @@ %% %% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project \ProvidesExplFile - {l3xdvidpfmx.def}{2018-10-31}{} + {l3xdvidpfmx.def}{2018-11-19}{} {L3 Experimental driver: xdvipdfmx} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 |