diff options
author | Karl Berry <karl@freefriends.org> | 2018-10-26 20:51:49 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-10-26 20:51:49 +0000 |
commit | f19fcbb4940b9c3173f5b3528723e1b4291c55db (patch) | |
tree | 63162bd1132dcba4e26f5a5d74fe9085a9827711 /Master/texmf-dist/tex/latex | |
parent | 2415f1f4bd02c45f670cecdbcfbbe7cb2b1ef488 (diff) |
l3 (26oct18)
git-svn-id: svn://tug.org/texlive/trunk@48997 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
18 files changed, 344 insertions, 16 deletions
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty b/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty new file mode 100644 index 00000000000..b761f3c948d --- /dev/null +++ b/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty @@ -0,0 +1,304 @@ +%% +%% This is file `l3benchmark.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% l3benchmark.dtx (with options: `package') +%% +%% Copyright (C) 2018 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 license or (at your option) any later version. The latest +%% version of this license is in the file: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% This file is part of the "l3experimental bundle" (The Work in LPPL) +%% and all files in that bundle must be distributed together. +%% +%% File: l3benchmark.dtx Copyright (C) 2011,2012,2014-2018 The LaTeX3 Project +\RequirePackage{expl3} +\ProvidesExplPackage{l3benchmark}{2018-10-26}{} + {L3 Experimental benchmarking} +\sys_if_engine_luatex:TF + { + \cs_new:Npn \sys_timer: + { \int_eval:w \lua_now:n { l3kernel.elapsedtime() } \scan_stop: } + } + { + \cs_if_exist:NT \tex_elapsedtime:D + { + \cs_new:Npn \sys_timer: + { \int_eval:w \tex_elapsedtime:D } + } + } +\__sys_const:nn { sys_if_timer_exist } + { \cs_if_exist_p:N \sys_timer: } +\cs_if_exist:NTF \sys_timer: + { + \sys_if_engine_luatex:TF + { + \cs_new_protected:Npn \sys_gzero_timer: + { \lua_now:n { l3kernel.resettimer() } } + } + { \cs_new_protected:Npn \sys_gzero_timer: { \tex_resettimer:D } } + } + { + \__kernel_msg_new:nnnn { kernel } { no-elapsed-time } + { No~clock~detected~for~#1. } + { The~current~engine~provides~no~way~to~access~the~system~time. } + \cs_new_protected:Npn \sys_gzero_timer: + { + \__kernel_msg_error:nnn { kernel } { no-elapsed-time } + { \sys_gzero_timer: } + } + \cs_new:Npn \sys_timer: + { + \int_value:w + \__kernel_msg_expandable_error:nnn { kernel } { no-elapsed-time } + { \sys_timer: } + \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 } + } + } + } + } +\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. } + \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 + { \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 } + \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 + { + \int_gincr:N \g__benchmark_nesting_int + \exp_args:Nc \__benchmark_raw_aux:N + { g__benchmark_ \int_use:N \g__benchmark_nesting_int _int } + \__benchmark_raw_aux: + #1 + \__benchmark_raw_end:N + } +\cs_new_protected:Npn \__benchmark_raw_aux:N #1 + { + \int_gzero_new:N #1 + \cs_gset_protected:Npn \__benchmark_raw_aux: { \int_gset:Nn #1 { \sys_timer: } } + } +\cs_new_protected:Npn \__benchmark_raw_end:N #1 + { + \int_gset:Nn #1 + { + \sys_timer: - + \int_use:c { g__benchmark_ \int_use:N \g__benchmark_nesting_int _int } + } + \int_gdecr:N \g__benchmark_nesting_int + } +\cs_new_eq:NN \__benchmark_tmp:w ? +\cs_new_protected:Npn \__benchmark_raw_replicate:nnN #1 + { + \int_compare:nNnTF {#1} > { 500000 } + { \__benchmark_raw_replicate_large:nnN {#1} } + { \__benchmark_raw_replicate_small:nnN {#1} } + } +\cs_new_protected:Npn \__benchmark_raw_replicate_large:nnN #1#2 + { + \cs_set:Npx \__benchmark_tmp:w ##1 { \prg_replicate:nn { 5000 } {##1} } + \exp_args:Nno \__benchmark_raw_replicate:nnN { #1 / 5000 } + { \__benchmark_tmp:w {#2} } + } +\cs_new_protected:Npn \__benchmark_raw_replicate_small:nnN #1#2 + { + \cs_set:Npx \__benchmark_tmp:w ##1##2 { \prg_replicate:nn {#1} {##1} } + \__benchmark_raw:nN { \__benchmark_tmp:w {#2} { } } \g__benchmark_time_int + \exp_args:No \__benchmark_raw_replicate_aux:nnN + { \int_use:N \g__benchmark_time_int } {#2} + } +\cs_new_protected:Npn \__benchmark_raw_replicate_aux:nnN #1#2#3 + { + \__benchmark_raw:nN { \__benchmark_tmp:w { } {#2} } \g__benchmark_time_int + \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 +\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: + { + \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 } } + } +\cs_new_protected:Npn \benchmark_silent: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 } + } +\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 } + { + \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_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 } + { + \g__benchmark_duration_int * \g__benchmark_repeat_int + / ( \g__benchmark_time_int * 4 ) + } + } + \int_compare:nNnTF \g__benchmark_repeat_int = 1 + { \int_gset_eq:NN \g__benchmark_time_a_int \g__benchmark_time_int } + { \__benchmark_run:N \g__benchmark_time_a_int } + \__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_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 + } + } +\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 + { + \__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_new:N \g__benchmark_tictoc_int +\seq_new:N \g__benchmark_tictoc_seq +\cs_new_protected:Npn \benchmark_tic: + { + \int_compare:nTF { \g__benchmark_tictoc_int == 0 } + { + \sys_gzero_timer: + \__benchmark_tic:n { 0 } + } + { \__benchmark_tic: } + } +\cs_new_protected:Npn \__benchmark_tic: + { + \exp_args:NNf \seq_put_right:Nn \g__benchmark_tictoc_seq { \sys_timer: } + \int_gincr:N \g__benchmark_tictoc_int + \iow_term:x + { + \prg_replicate:nn {\g__benchmark_tictoc_int} {---+} \space + TIC + } + } +\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: + } +\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 ) } + } + \iow_term:x + { + \prg_replicate:nn {\g__benchmark_tictoc_int} {---+} \c_space_tl + TOC: \c_space_tl + \l__benchmark_tictoc_tl \c_space_tl s + } + \int_gdecr:N \g__benchmark_tictoc_int + } +\msg_new:nnn {benchmark} {toc-first} + { + \token_to_str:N \benchmark_toc: \space without~ + \token_to_str:N \benchmark_tic: \space ! + } +%% +%% +%% End of file `l3benchmark.sty'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty index 4754353e190..55ef24e9eaf 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-17}{} +\ProvidesExplPackage{l3color}{2018-10-26}{} {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 259c3b24cb9..82cab92359a 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-17}{} +\ProvidesExplPackage{l3draw}{2018-10-26}{} {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 d726025fd56..a100d834ab6 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-17}{} +\ProvidesExplPackage{l3str-convert}{2018-10-26}{} {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 6ef7b439c39..a88088e155e 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-17}{} +\ProvidesExplPackage{l3str-format}{2018-10-26}{} {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 2e6fd685666..73b6bae02cd 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-17}{} +\ProvidesExplPackage{l3sys-shell}{2018-10-26}{} {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 ec312d9174f..bdce6ad2aea 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-17}{} +\ProvidesExplPackage{xcoffins}{2018-10-26}{} {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 9addf19a18d..6cbcab46f2b 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-17}{} +\ProvidesExplPackage{l3galley}{2018-10-26}{} {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 79e2bc7cfe2..6c15f5a8548 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-17}{} +\ProvidesExplPackage{xgalley}{2018-10-26}{} {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 4e6662a5f8c..cb01bd88271 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-19}% +\def\ExplFileDate{2018-10-26}% \begingroup \def\next{\endgroup}% \expandafter\ifx\csname PackageError\endcsname\relax @@ -836,6 +836,7 @@ \__kernel_primitive:NN \pdfdraftmode \tex_draftmode:D \__kernel_primitive:NN \pdfeachlinedepth \tex_eachlinedepth:D \__kernel_primitive:NN \pdfeachlineheight \tex_eachlineheight:D + \__kernel_primitive:NN \pdfelapsedtime \tex_elapsedtime:D \__kernel_primitive:NN \pdffilemoddate \tex_filemoddate:D \__kernel_primitive:NN \pdffilesize \tex_filesize:D \__kernel_primitive:NN \pdffirstlineheight \tex_firstlineheight:D @@ -859,6 +860,7 @@ \__kernel_primitive:NN \pdfprotrudechars \tex_protrudechars:D \__kernel_primitive:NN \pdfpxdimen \tex_pxdimen:D \__kernel_primitive:NN \pdfrandomseed \tex_randomseed:D + \__kernel_primitive:NN \pdfresettimer \tex_resettimer:D \__kernel_primitive:NN \pdfsavepos \tex_savepos:D \__kernel_primitive:NN \pdfstrcmp \tex_strcmp:D \__kernel_primitive:NN \pdfsetrandomseed \tex_setrandomseed:D @@ -947,9 +949,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 \elapsedtime \tex_elapsedtime:D \__kernel_primitive:NN \mdfivesum \tex_mdfivesum:D \__kernel_primitive:NN \ifprimitive \tex_ifprimitive:D \__kernel_primitive:NN \primitive \tex_primitive:D + \__kernel_primitive:NN \resettimer \tex_resettimer:D \__kernel_primitive:NN \shellescape \tex_shellescape:D \__kernel_primitive:NN \alignmark \tex_alignmark:D \__kernel_primitive:NN \aligntab \tex_aligntab:D @@ -10568,6 +10572,12 @@ \tl_set:Nx \l__iow_newline_tl { \tl_to_str:N \l__iow_newline_tl } \int_set:Nn \l__iow_line_target_int { \l_iow_line_count_int - \str_count:N \l__iow_newline_tl + 1 } + \int_compare:nNnT { \l__iow_line_target_int } < 0 + { + \tl_set:Nn \l__iow_newline_tl { \iow_newline: } + \int_set:Nn \l__iow_line_target_int + { \l_iow_line_count_int + 1 } + } \__iow_wrap_do: \exp_args:NNf \group_end: #4 { \tl_to_str:N \l__iow_wrap_tl } diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex index b7b8cc854a9..2121732fb75 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-19}% +\def\ExplFileDate{2018-10-26}% \let\ExplLoaderFileDate\ExplFileDate \begingroup \def\tempa{LaTeX2e}% diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.lua b/Master/texmf-dist/tex/latex/l3kernel/expl3.lua index 279f3c276ad..640889bf12a 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3.lua +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.lua @@ -38,6 +38,7 @@ local kpse_find = kpse.find_file local lfs_attr = lfs.attributes local md5_sum = md5.sum local open = io.open +local os_clock = os.clock local os_date = os.date local setcatcode = tex.setcatcode local str_format = string.format @@ -54,6 +55,19 @@ local function charcat(charcode, catcode) sprint(charcat_table, utf8_char(charcode)) end l3kernel.charcat = charcat +local base_time = 0 +local function elapsedtime() + local val = (os_clock() - base_time) * 65536 + 0.5 + if val > 2147483647 then + val = 2147483647 + end + write(format("%d",val)) +end +l3kernel.elapsedtime = elapsedtime +local function resettimer() + base_time = 0 +end +l3kernel.resettimer = resettimer local function filemdfivesum(name) local file = kpse_find(name, "tex", true) if file then diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty index 81b874b883d..d1675372af1 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-19}% +\def\ExplFileDate{2018-10-26}% \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 bd2206bb9b9..67e35f6f09b 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-19}{} + {l3dvidpfmx.def}{2018-10-26}{} {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 a6b17ee604b..7947cf5f5c2 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-19}{} + {l3dvips.def}{2018-10-26}{} {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 60613eafbb5..c4d86ecc97a 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-19}{} + {l3dvisvgm.def}{2018-10-26}{} {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 67b0dae7db4..b797fbf8230 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-19}{} + {l3pdfmode.def}{2018-10-26}{} {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 ab918b7aaf6..718a499bb9d 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-19}{} + {l3xdvidpfmx.def}{2018-10-26}{} {L3 Experimental driver: xdvipdfmx} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 |