texlive[48997] Master/texmf-dist: l3 (26oct18)

commits+karl at tug.org commits+karl at tug.org
Fri Oct 26 22:51:50 CEST 2018


Revision: 48997
          http://tug.org/svn/texlive?view=revision&revision=48997
Author:   karl
Date:     2018-10-26 22:51:49 +0200 (Fri, 26 Oct 2018)
Log Message:
-----------
l3 (26oct18)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
    trunk/Master/texmf-dist/doc/latex/l3experimental/README.md
    trunk/Master/texmf-dist/doc/latex/l3experimental/l3color/l3color.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-convert.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
    trunk/Master/texmf-dist/doc/latex/l3kernel/README.md
    trunk/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
    trunk/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/source3.tex
    trunk/Master/texmf-dist/source/latex/l3experimental/l3color/l3color.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3drivers.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3final.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3oldmodules.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
    trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
    trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
    trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.lua
    trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
    trunk/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
    trunk/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
    trunk/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def
    trunk/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
    trunk/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/
    trunk/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
    trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/
    trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.ins
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md	2018-10-26 20:51:49 UTC (rev 48997)
@@ -7,8 +7,12 @@
 
 ## [Unreleased]
 
-## [2018-10-17]
+## [2018-10-26]
 
+### Added
+
+- New module `l3benchmark`
+
 ## [2018-08-24]
 
 ### Fixed
@@ -42,7 +46,8 @@
 - New `l3color` module using `xcolor`-like expression syntax
 - New `l3draw` module, based on `pgf` layer of the TikZ system
 
-[Unreleased]: https://github.com/latex3/latex3/compare/2018-10-17...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2018-10-26...HEAD
+[2018-10-26]: https://github.com/latex3/latex3/compare/2018-10-17...2018-10-26
 [2018-10-17]: https://github.com/latex3/latex3/compare/2018-08-24...2018-10-17
 [2018-08-24]: https://github.com/latex3/latex3/compare/2018-08-23...2018-08-24
 [2018-08-23]: https://github.com/latex3/latex3/compare/2018-05-12...2018-08-23

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3experimental/README.md	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/doc/latex/l3experimental/README.md	2018-10-26 20:51:49 UTC (rev 48997)
@@ -1,7 +1,7 @@
 Experimental LaTeX3 Concepts
 ============================
 
-Release 2018-10-17
+Release 2018-10-26
 
 Overview
 --------
@@ -21,6 +21,7 @@
 
 Currently included in the CTAN release of l3experimental are the following
 bundles:
+* `l3benchmark`
 * `l3color`
 * `l3draw`
 * `l3str`
@@ -29,6 +30,11 @@
 * `xgalley`
 * `xmarks`
 
+`l3benchmark`
+-------------
+
+This module provides support for benchmarking the performance of code.
+
 `l3color`
 ---------
 

Added: trunk/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf	2018-10-26 20:51:49 UTC (rev 48997)

Property changes on: trunk/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3color/l3color.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-convert.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md	2018-10-26 20:51:49 UTC (rev 48997)
@@ -7,6 +7,8 @@
 
 ## [Unreleased]
 
+## [2018-10-26]
+
 ## [2018-10-19]
 
 ### Fixed
@@ -157,7 +159,8 @@
 - Step func­tions have been added for dim vari­ables,
   e.g. `\dim_step_in­line:nnnn`
 
-[Unreleased]: https://github.com/latex3/latex3/compare/2018-10-19...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2018-10-26...HEAD
+[2018-10-26]: https://github.com/latex3/latex3/compare/2018-10-19...2018-10-26
 [2018-10-19]: https://github.com/latex3/latex3/compare/2018-10-17...2018-10-19
 [2018-10-17]: https://github.com/latex3/latex3/compare/2018-09-24...2018-10-17
 [2018-09-24]: https://github.com/latex3/latex3/compare/2018-08-23...2018-09-24

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/README.md	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/README.md	2018-10-26 20:51:49 UTC (rev 48997)
@@ -1,7 +1,7 @@
 LaTeX3 Programming Conventions
 ==============================
 
-Release 2018-10-19
+Release 2018-10-26
 
 Overview
 --------

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.tex	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.tex	2018-10-26 20:51:49 UTC (rev 48997)
@@ -52,7 +52,7 @@
          {latex-team at latex-project.org}%
    }%
 }
-\date{Released 2018-10-19}
+\date{Released 2018-10-26}
 
 \pagenumbering{roman}
 \maketitle

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex	2018-10-26 20:51:49 UTC (rev 48997)
@@ -30,7 +30,7 @@
         {latex-team at latex-project.org}%
     }%
 }
-\date{Released 2018-10-19}
+\date{Released 2018-10-26}
 
 \begin{document}
 

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex	2018-10-26 20:51:49 UTC (rev 48997)
@@ -30,7 +30,7 @@
         {latex-team at latex-project.org}%
     }%
 }
-\date{Released 2018-10-19}
+\date{Released 2018-10-26}
 
 \newcommand{\TF}{\textit{(TF)}}
 

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex	2018-10-26 20:51:49 UTC (rev 48997)
@@ -30,7 +30,7 @@
         {latex-team at latex-project.org}%
     }%
 }
-\date{Released 2018-10-19}
+\date{Released 2018-10-26}
 
 \newcommand{\TF}{\textit{(TF)}}
 

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/source3.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/source3.tex	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/source3.tex	2018-10-26 20:51:49 UTC (rev 48997)
@@ -51,7 +51,7 @@
          {latex-team at latex-project.org}%
    }%
 }
-\date{Released 2018-10-19}
+\date{Released 2018-10-26}
 
 \pagenumbering{roman}
 \maketitle

Added: trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -0,0 +1,583 @@
+% \iffalse meta-comment
+%
+%% File: l3benchmark.dtx Copyright (C) 2011,2012,2014-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.
+%
+% -----------------------------------------------------------------------
+%
+% The development version of the bundle can be found at
+%
+%    https://github.com/latex3/latex3
+%
+% for those people who are interested.
+%
+%<*driver|package>
+\RequirePackage{expl3}
+%</driver|package>
+%<*driver>
+\documentclass[full]{l3doc}
+\begin{document}
+  \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \title{^^A
+%   The \pkg{l3benchmark} package\\ Experimental benchmarking^^A
+% }
+%
+% \author{^^A
+%  The \LaTeX3 Project\thanks
+%    {^^A
+%      E-mail:
+%        \href{mailto:latex-team at latex-project.org}
+%          {latex-team at latex-project.org}^^A
+%    }^^A
+% }
+%
+% \date{Released 2018-10-26}
+%
+% \maketitle
+%
+% \begin{documentation}
+%
+% \section{Additions to \pkg{l3sys}: elapsed time}
+%
+% \begin{function}{\sys_gzero_timer:}
+%   \begin{syntax}
+%     \cs{sys_gzero_timer:}
+%   \end{syntax}
+%   Resets the timer to zero.
+% \end{function}
+%
+% \begin{function}[EXP]{\sys_timer:}
+%   \begin{syntax}
+%     \cs{sys_timer:}
+%   \end{syntax}
+%   Expands to the current value of the engine's timer clock, a
+%   non-negative integer.  In engines without clock support this
+%   expands to $0$.
+% \end{function}
+%
+% \section{Benchmark}
+%
+% \begin{variable}{\g_benchmark_duration_target_fp}
+%   This variable controls roughly for how long \cs{benchmark:n} will
+%   repeat code to more accurately benchmark it.  The actual duration of
+%   one call to \cs{benchmark:n} typically lasts between half and twice
+%   \cs{g_benchmark_duration_target_fp} seconds, unless of course
+%   running the code only once already lasts longer than this.
+% \end{variable}
+%
+% \begin{variable}{\g_benchmark_time_fp, \g_benchmark_ops_fp}
+%   Functions such as \cs{benchmark:n} store the measured time in
+%   \cs{g_benchmark_time_fp} (in seconds).  Functions such as
+%   \cs{benchmark_normalized:n} store the estimated number of operations
+%   in \cs{g_benchmark_ops_fp}.
+% \end{variable}
+%
+% \begin{function}{\benchmark_display:, \benchmark_display_in_ops:}
+%   \begin{syntax}
+%     \cs{benchmark_display:}
+%   \end{syntax}
+%   Prints the time \cs{g_benchmark_time_fp} (in seconds) or the
+%   estimated number of operations \cs{g_benchmark_ops_fp} to the
+%   terminal.  These functions are called by functions such as
+%   \cs{benchmark:n} and can be redefined by the user.
+% \end{function}
+%
+% \begin{function}{\benchmark_once:n, \benchmark_once_in_ops:n, \benchmark_once_silent:n}
+%   \begin{syntax}
+%     \cs{benchmark_once:n} \Arg{code}
+%   \end{syntax}
+%   Measures the time taken by \TeX{} to run the \meta{code} once, sets
+%   \cs{g_benchmark_time_fp} and \cs{g_benchmark_ops_fp}, and calls
+%   \cs{benchmark_display:}.  The \meta{code} is run only once so the
+%   time may be quite inaccurate for fast code.  The
+%   \cs{benchmark_once_silent:n} function omits the call to
+%   \cs{benchmark_display:}, while \cs{benchmark_once_in_ops:n} calls
+%   \cs{benchmark_display_in_ops:} instead.
+% \end{function}
+%
+% \begin{function}{\benchmark:n, \benchmark_in_ops:n, \benchmark_silent:n}
+%   \begin{syntax}
+%     \cs{benchmark:n} \Arg{code}
+%   \end{syntax}
+%   Measures the time taken by \TeX{} to run the \meta{code}, sets
+%   \cs{g_benchmark_time_fp} and \cs{g_benchmark_ops_fp}, and calls
+%   \cs{benchmark_display:}.  The \meta{code} may be run many times and
+%   not within a group, thus code with side-effects may cause problems.
+%   The \cs{benchmark_silent:n} function omits the call to
+%   \cs{benchmark_display:}, while \cs{benchmark_in_ops:n} calls
+%   \cs{benchmark_display_in_ops:} instead.
+% \end{function}
+%
+% \begin{function}{\benchmark_tic:, \benchmark_toc:}
+%   \begin{syntax}
+%     \cs{benchmark_tic:} \meta{slow code} \cs{benchmark_toc:}
+%   \end{syntax}
+%   When it is not possible to run \cs{benchmark:n} (e.g., the code is
+%   part of the execution of a package which cannot be looped) the
+%   tic/toc commands can be used instead to time between two points in
+%   the code.  When executed, \cs{benchmark_tic:} will print a line to the
+%   terminal, and \cs{benchmark_toc:} will print a matching line with a
+%   time to indicate the duration between them in seconds.  Note that
+%   these commands can be nested.
+% \end{function}
+%
+% \end{documentation}
+%
+% \begin{implementation}
+%
+% \section{\pkg{l3benchmark} implementation}
+%
+% Our working unit is the scaled second, namely $2^{-16}$ seconds.
+%
+%    \begin{macrocode}
+%<*initex|package>
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%<*package>
+\ProvidesExplPackage{l3benchmark}{2018-10-26}{}
+  {L3 Experimental benchmarking}
+%</package>
+%    \end{macrocode}
+%
+% \subsection{Additions to \pkg{l3sys}: elapsed time}
+%
+%    \begin{macrocode}
+%<@@=sys>
+%    \end{macrocode}
+%
+% \begin{macro}[EXP]{\sys_timer:}
+% \begin{macro}[EXP,pTF]{\sys_if_timer_exist:}
+%   In \LuaTeX{}, use emulation (see \pkg{l3luatex}),
+%   otherwise try to locate the primitive.  The
+%   elapsed time will be available if this succeeds or if unrestricted
+%   shell escape is available.
+%    \begin{macrocode}
+\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 }
+      }
+  }
+\@@_const:nn { sys_if_timer_exist }
+  { \cs_if_exist_p:N \sys_timer: }
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\sys_gzero_timer:, \@@_timer_fp:}
+% \begin{variable}{\g_@@_timer_base_fp}
+%   Three case, and in each case we define \cs{sys_gzero_timer:}.
+%    \begin{macrocode}
+\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 } }
+  }
+%    \end{macrocode}
+%   If the elapsed time cannot be accessed then we define user
+%   commands to produce errors.
+%    \begin{macrocode}
+  {
+    \__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
+      }
+  }
+%    \end{macrocode}
+% \end{variable}
+% \end{macro}
+%
+% \subsection{Benchmarking code}
+%
+%    \begin{macrocode}
+%<@@=benchmark>
+%    \end{macrocode}
+%
+% \begin{variable}{\g_benchmark_time_fp, \g_benchmark_ops_fp}
+%   Functions such as \cs{benchmark:n} store the measured time in
+%   \cs{g_benchmark_time_fp} (in seconds) and the estimated number of
+%   operations in \cs{g_benchmark_ops_fp}.
+%    \begin{macrocode}
+\fp_new:N \g_benchmark_time_fp
+\fp_new:N \g_benchmark_ops_fp
+%    \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\benchmark_display:, \benchmark_display_in_ops:}
+%   Function to display the time that was measured or the estimated
+%   number of operations.  This can be redefined by the user.
+%    \begin{macrocode}
+\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 }
+              }
+          }
+      }
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+%    \begin{macrocode}
+\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 }
+  }
+%    \end{macrocode}
+%
+% \begin{variable}{\g_benchmark_duration_target_fp, \g_@@_duration_int}
+%   The benchmark is constrained to take roughly (from half to twice)
+%   \cs{g_benchmark_duration_target_fp} seconds, more precisely
+%   \cs{g_@@_duration_int} scaled seconds, unless one iteration of the
+%   code takes longer.
+%    \begin{macrocode}
+\fp_new:N \g_benchmark_duration_target_fp
+\fp_gset:Nn \g_benchmark_duration_target_fp { 1 }
+\int_new:N \g_@@_duration_int
+%    \end{macrocode}
+% \end{variable}
+% 
+% \begin{variable}{\g_@@_time_int, \g_@@_time_a_int, \g_@@_time_b_int, \g_@@_time_c_int, \g_@@_time_d_int}
+%   These variables hold the time for running a piece of code, as an
+%   integer in scaled seconds.
+%    \begin{macrocode}
+\int_new:N \g_@@_time_int
+\int_new:N \g_@@_time_a_int
+\int_new:N \g_@@_time_b_int
+\int_new:N \g_@@_time_c_int
+\int_new:N \g_@@_time_d_int
+%    \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\g_@@_repeat_int}
+%   Holds the number of times that the piece of code was
+%   repeated when timing.
+%    \begin{macrocode}
+\int_new:N \g_@@_repeat_int
+%    \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\g_@@_nesting_int}
+% \begin{macro}{\@@_raw:nN, \@@_raw_aux:N, \@@_raw_end:N}
+%   Store in the given integer variable the time it took to perform a given
+%   piece of code, in scaled seconds.  We call \cs{sys_timer:} as
+%   close before and after the code as possible.  We store the
+%   intermediate result in a new integer when \cs{@@_raw:nN} is
+%   nested.
+%    \begin{macrocode}
+\int_new:N \g_@@_nesting_int
+\cs_new_protected:Npn \@@_raw:nN #1
+  {
+    \int_gincr:N \g_@@_nesting_int
+    \exp_args:Nc \@@_raw_aux:N
+      { g_@@_ \int_use:N \g_@@_nesting_int _int }
+    \@@_raw_aux:
+    #1
+    \@@_raw_end:N
+  }
+\cs_new_protected:Npn \@@_raw_aux:N #1
+  {
+    \int_gzero_new:N #1
+    \cs_gset_protected:Npn \@@_raw_aux: { \int_gset:Nn #1 { \sys_timer: } }
+  }
+\cs_new_protected:Npn \@@_raw_end:N #1
+  {
+    \int_gset:Nn #1
+      {
+        \sys_timer: -
+        \int_use:c { g_@@_ \int_use:N \g_@@_nesting_int _int }
+      }
+    \int_gdecr:N \g_@@_nesting_int
+  }
+%    \end{macrocode}
+% \end{macro}
+% \end{variable}
+%
+% \begin{macro}{\@@_raw_replicate:nnN, \@@_tmp:w}
+%   Here, we wish to measure the time it takes for the piece of code
+%   |#2| to be run |#1| times, and store the result in the
+%   integer~|#3|.
+%
+%   If the number of copies required is large, defining \cs{@@_tmp:w}
+%   would exhaust \TeX{}'s main memory. In that case, we replicate
+%   $|#1|/5000$ times the given code before passing it to the main call
+%   to \cs{@@_tmp:w}.  Of course the division rounds to an integer, so
+%   that step introduces a relative error of order at most
+%   $5000/500000$, less than many other sources of variability.
+%
+%   We subtract the time for another call to \cs{@@_tmp:w}, with the
+%   same arguments (to capture the time it takes to read the argument)
+%   but empty expansion.
+%    \begin{macrocode}
+\cs_new_eq:NN \@@_tmp:w ?
+\cs_new_protected:Npn \@@_raw_replicate:nnN #1
+  {
+    \int_compare:nNnTF {#1} > { 500000 }
+      { \@@_raw_replicate_large:nnN {#1} }
+      { \@@_raw_replicate_small:nnN {#1} }
+  }
+\cs_new_protected:Npn \@@_raw_replicate_large:nnN #1#2
+  {
+    \cs_set:Npx \@@_tmp:w ##1 { \prg_replicate:nn { 5000 } {##1} }
+    \exp_args:Nno \@@_raw_replicate:nnN { #1 / 5000 }
+      { \@@_tmp:w {#2} }
+  }
+\cs_new_protected:Npn \@@_raw_replicate_small:nnN #1#2
+  {
+    \cs_set:Npx \@@_tmp:w ##1##2 { \prg_replicate:nn {#1} {##1} }
+    \@@_raw:nN { \@@_tmp:w {#2} { } } \g_@@_time_int
+    \exp_args:No \@@_raw_replicate_aux:nnN
+      { \int_use:N \g_@@_time_int } {#2}
+  }
+\cs_new_protected:Npn \@@_raw_replicate_aux:nnN #1#2#3
+  {
+    \@@_raw:nN { \@@_tmp:w { } {#2} } \g_@@_time_int
+    \int_gset:Nn #3 { #1 - \g_@@_time_int }
+    \cs_set_eq:NN \@@_tmp:w \prg_do_nothing:
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\benchmark:n, \benchmark_silent:n}
+%   The main timing function. First time the user code once.  If that
+%   took more than a third of a second we're done.  If that took much
+%   less than a second, quadruple the number of copies until it takes a
+%   reasonable amount of time (this is to avoid division by a possibly
+%   zero time).  Once we reach a reasonable time, compute a number of
+%   times that can fit in one quarter of a second and measure that four
+%   times.  To save time we reuse the result of the first pass if
+%   \cs{g_@@_repeat_int} is one.  Once we have four results, find the smallest,
+%   divided by $65536$ and by the number of repetitions, and display that.
+%    \begin{macrocode}
+\fp_new:N \g_@@_one_op_fp
+\tl_new:N \g_@@_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 \@@_measure_op:
+  {
+    \int_gset:Nn \g_@@_duration_int { 256 }
+    \tl_gset:Nn \g_@@_code_tl
+      { \int_gset:Nn \g_@@_duration_int { 256 } } % arbitrary single operation
+    \@@_aux:
+    \fp_gset_eq:NN \g_@@_one_op_fp \g_benchmark_time_fp
+    \fp_compare:nNnT \g_@@_one_op_fp < { 1e-6 }
+      { \fp_gset:Nn \g_@@_one_op_fp { 1e-6 } }
+  }
+\cs_new_protected:Npn \benchmark_silent:n #1
+  {
+    \@@_measure_op:
+    \int_gset:Nn \g_@@_duration_int
+      { \fp_to_int:n { 65536 * \g_benchmark_duration_target_fp } }
+    \tl_gset:Nn \g_@@_code_tl {#1}
+    \@@_aux:
+    \fp_gset:Nn \g_benchmark_ops_fp
+      { \g_benchmark_time_fp / \g_@@_one_op_fp }
+  }
+\cs_new_protected:Npn \@@_aux:
+  {
+    \int_gset:Nn \g_@@_repeat_int { 1 }
+    \@@_raw:nN { \g_@@_code_tl } \g_@@_time_int
+    \int_compare:nNnF \g_@@_time_int < { \g_@@_duration_int / 2 }
+      {
+        \int_gset_eq:NN \g_@@_time_a_int \g_@@_time_int
+        \int_gset_eq:NN \g_@@_time_b_int \g_@@_time_int
+        \int_gset_eq:NN \g_@@_time_c_int \g_@@_time_int
+        \int_gset_eq:NN \g_@@_time_d_int \g_@@_time_int
+        \prg_break:
+      }
+    \int_while_do:nNnn \g_@@_time_int < { \g_@@_duration_int / 100 }
+      {
+        \int_compare:nNnT \g_@@_repeat_int > { \c_max_int / 4 }
+          {
+            \int_gzero:N \g_@@_time_a_int
+            \int_gzero:N \g_@@_time_b_int
+            \int_gzero:N \g_@@_time_c_int
+            \int_gzero:N \g_@@_time_d_int
+            \prg_break:
+          }
+        \int_gset:Nn \g_@@_repeat_int { 4 * \g_@@_repeat_int }
+        \@@_run:N \g_@@_time_int
+      }
+    \int_gset:Nn \g_@@_repeat_int
+      {
+        \int_max:nn { 1 }
+          {
+            \g_@@_duration_int * \g_@@_repeat_int
+            / ( \g_@@_time_int * 4 )
+          }
+      }
+    \int_compare:nNnTF \g_@@_repeat_int = 1
+      { \int_gset_eq:NN \g_@@_time_a_int \g_@@_time_int }
+      { \@@_run:N \g_@@_time_a_int }
+    \@@_run:N \g_@@_time_b_int
+    \@@_run:N \g_@@_time_c_int
+    \@@_run:N \g_@@_time_d_int
+    \prg_break_point:
+    \fp_gset:Nn \g_benchmark_time_fp
+      {
+        \int_min:nn
+          { \int_min:nn \g_@@_time_a_int \g_@@_time_b_int }
+          { \int_min:nn \g_@@_time_c_int \g_@@_time_d_int }
+          / \g_@@_repeat_int / 65536
+      }
+  }
+\cs_new_protected:Npn \@@_run:N
+  { \exp_args:NNo \@@_raw_replicate:nnN \g_@@_repeat_int { \g_@@_code_tl } }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\benchmark_once:n, \benchmark_once_in_ops:n, \benchmark_once_silent:n}
+%   Convert from scaled seconds to seconds.
+%    \begin{macrocode}
+\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
+  {
+    \@@_measure_op:
+    \@@_raw:nN {#1} \g_@@_time_int
+    \fp_gset:Nn \g_benchmark_time_fp { \g_@@_time_int / 65536 }
+    \fp_gset:Nn \g_benchmark_ops_fp
+      { \g_benchmark_time_fp / \g_@@_one_op_fp }
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsection{Benchmark tic toc}
+%
+% \begin{variable}{\g_@@_tictoc_int, \g_@@_tictoc_seq}
+%    \begin{macrocode}
+\int_new:N \g_@@_tictoc_int
+\seq_new:N \g_@@_tictoc_seq
+%    \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\benchmark_tic:, \@@_tic:}
+%    \begin{macrocode}
+\cs_new_protected:Npn \benchmark_tic:
+  {
+    \int_compare:nTF { \g_@@_tictoc_int == 0 }
+      {
+        \sys_gzero_timer:
+        \@@_tic:n { 0 }
+      }
+      { \@@_tic: }
+  }
+\cs_new_protected:Npn \@@_tic:
+  {
+    \exp_args:NNf \seq_put_right:Nn \g_@@_tictoc_seq { \sys_timer: }
+    \int_gincr:N \g_@@_tictoc_int
+    \iow_term:x
+      {
+        \prg_replicate:nn {\g_@@_tictoc_int} {---+} \space
+        TIC
+      }
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\benchmark_toc:, \@@_toc:}
+%    \begin{macrocode}
+\cs_new:Npn \benchmark_toc:
+  {
+    \int_compare:nT { \g_@@_tictoc_int == 0 }
+      { \msg_error:nn {benchmark} {toc-first} }
+    \seq_pop_right:NN \g_@@_tictoc_seq \l_@@_tictoc_pop_tl
+    \@@_toc:
+  }
+\cs_new_protected:Npn \@@_toc:
+  {
+    \tl_set:Nx \l_@@_tictoc_tl
+      {
+        \fp_to_decimal:n
+          { round( ( \sys_timer: - \l_@@_tictoc_pop_tl) / 65536 , 3 ) }
+      }
+    \iow_term:x
+      {
+        \prg_replicate:nn {\g_@@_tictoc_int} {---+} \c_space_tl
+        TOC: \c_space_tl
+        \l_@@_tictoc_tl \c_space_tl s
+      }
+    \int_gdecr:N \g_@@_tictoc_int
+  }
+\msg_new:nnn {benchmark} {toc-first}
+  {
+    \token_to_str:N \benchmark_toc: \space without~
+    \token_to_str:N \benchmark_tic: \space !
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+%    \begin{macrocode}
+%</initex|package>
+%    \end{macrocode}
+%
+% \end{implementation}
+%
+% \PrintIndex


Property changes on: trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.ins	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.ins	2018-10-26 20:51:49 UTC (rev 48997)
@@ -0,0 +1,56 @@
+\iffalse meta-comment
+
+File l3benchmark.ins Copyright (C) 2011,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.
+
+-----------------------------------------------------------------------
+
+The development version of the bundle can be found at
+
+   https://github.com/latex3/latex3
+
+for those people who are interested.
+
+-----------------------------------------------------------------------
+
+Any modification of this file should ensure that the copyright and
+license information is placed in the derived files.
+
+\fi
+
+\input l3docstrip.tex
+\askforoverwritefalse
+
+\preamble
+
+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.
+
+\endpreamble
+% stop docstrip adding \endinput
+\postamble
+\endpostamble
+
+\keepsilent
+
+\generate{\file{l3benchmark.sty}{\from{l3benchmark.dtx}{package}}}
+
+\endbatchfile

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3color/l3color.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3color/l3color.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3color/l3color.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-17}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %
@@ -263,7 +263,7 @@
 %
 %    \begin{macrocode}
 %<*package>
-\ProvidesExplPackage{l3color}{2018-10-17}{}
+\ProvidesExplPackage{l3color}{2018-10-26}{}
   {L3 Experimental color support}
 %</package>
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-17}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-17}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-17}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-17}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-17}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-17}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-17}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -109,7 +109,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-17}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %
@@ -1106,7 +1106,7 @@
 %
 %    \begin{macrocode}
 %<*package>
-\ProvidesExplPackage{l3draw}{2018-10-17}{}
+\ProvidesExplPackage{l3draw}{2018-10-26}{}
   {L3 Experimental core drawing support}
 %</package>
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -46,7 +46,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-17}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %
@@ -234,7 +234,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{l3str-convert}{2018-10-17}{}
+\ProvidesExplPackage{l3str-convert}{2018-10-26}{}
   {L3 Experimental string encoding conversions}
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -46,7 +46,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-17}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %
@@ -162,7 +162,7 @@
 %
 %    \begin{macrocode}
 %<*package>
-\ProvidesExplPackage{l3str-format}{2018-10-17}{}
+\ProvidesExplPackage{l3str-format}{2018-10-26}{}
   {L3 Experimental string formatting}
 %</package>
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-17}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %
@@ -134,7 +134,7 @@
 %
 %    \begin{macrocode}
 %<*package>
-\ProvidesExplPackage{l3sys-shell}{2018-10-17}{}
+\ProvidesExplPackage{l3sys-shell}{2018-10-26}{}
   {L3 Experimental system shell functions}
 %</package>
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -54,7 +54,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-17}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %
@@ -673,7 +673,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{xcoffins}{2018-10-17}{}
+\ProvidesExplPackage{xcoffins}{2018-10-26}{}
   {L3 Experimental design level coffins}
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -59,7 +59,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-17}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %
@@ -685,7 +685,7 @@
 %
 %    \begin{macrocode}
 %<*package>
-\ProvidesExplPackage{l3galley}{2018-10-17}{}
+\ProvidesExplPackage{l3galley}{2018-10-26}{}
   {L3 Experimental galley code}
 %</package>
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -45,7 +45,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-17}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %
@@ -732,7 +732,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{xgalley}{2018-10-17}{}
+\ProvidesExplPackage{xgalley}{2018-10-26}{}
   {L3 Experimental galley}
 \RequirePackage{xparse,xtemplate,l3galley}
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/expl3.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/expl3.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -21,7 +21,7 @@
 % for those people who are interested.
 %
 %<*driver|generic|package>
-\def\ExplFileDate{2018-10-19}%
+\def\ExplFileDate{2018-10-26}%
 %</driver|generic|package>
 %<*driver>
 \documentclass[full]{l3doc}
@@ -49,7 +49,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -138,7 +138,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3box.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3box.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -77,7 +77,7 @@
 %
 % \title{The \cls{l3doc} class}
 % \author{\Team}
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 % \maketitle
 % \tableofcontents
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -61,7 +61,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3drivers.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3drivers.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3drivers.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %
@@ -554,23 +554,23 @@
 %<*package>
 \ProvidesExplFile
 %<*dvipdfmx>
-  {l3dvidpfmx.def}{2018-10-19}{}
+  {l3dvidpfmx.def}{2018-10-26}{}
   {L3 Experimental driver: dvipdfmx}
 %</dvipdfmx>
 %<*dvips>
-  {l3dvips.def}{2018-10-19}{}
+  {l3dvips.def}{2018-10-26}{}
   {L3 Experimental driver: dvips}
 %</dvips>
 %<*dvisvgm>
-  {l3dvisvgm.def}{2018-10-19}{}
+  {l3dvisvgm.def}{2018-10-26}{}
   {L3 Experimental driver: dvisvgm}
 %</dvisvgm>
 %<*pdfmode>
-  {l3pdfmode.def}{2018-10-19}{}
+  {l3pdfmode.def}{2018-10-26}{}
   {L3 Experimental driver: PDF mode}
 %</pdfmode>
 %<*xdvipdfmx>
-  {l3xdvidpfmx.def}{2018-10-19}{}
+  {l3xdvidpfmx.def}{2018-10-26}{}
   {L3 Experimental driver: xdvipdfmx}
 %</xdvipdfmx>
 %</package>

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3file.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3file.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %
@@ -1500,6 +1500,15 @@
       \int_set:Nn \l_@@_line_target_int
         { \l_iow_line_count_int - \str_count:N \l_@@_newline_tl + 1 }
 %    \end{macrocode}
+%   Sanity check.
+%    \begin{macrocode}
+       \int_compare:nNnT { \l_@@_line_target_int } < 0
+         {
+           \tl_set:Nn \l_@@_newline_tl { \iow_newline: }
+           \int_set:Nn \l_@@_line_target_int
+             { \l_iow_line_count_int + 1 }
+         }
+%    \end{macrocode}
 %   There is then a loop over the input, which stores the wrapped
 %   result in \cs{l_@@_wrap_tl}.  After the loop, the resulting text is
 %   passed on to the function which has been given as a post-processor.

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3final.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3final.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3final.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -38,7 +38,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 % \maketitle
 %
 % \begin{documentation}

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -38,7 +38,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -38,7 +38,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -38,7 +38,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -38,7 +38,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -38,7 +38,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -38,7 +38,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -38,7 +38,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 % \maketitle
 %
 % \begin{documentation}

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -38,7 +38,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -47,7 +47,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3int.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3int.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %
@@ -125,15 +125,23 @@
 %
 % \begin{function}{l3kernel.charcat}
 %   \begin{syntax}
-%     |l3kernel.charcat||(|\meta{charcode}, \meta{catcode}|)|
+%     |l3kernel.charcat(|\meta{charcode}, \meta{catcode}|)|
 %   \end{syntax}
 %   Constructs a character of \meta{charcode} and \meta{catcode} and returns
 %   the result to \TeX{}.
 % \end{function}
 %
+% \begin{function}{l3kernel.elapsedtime}
+%   \begin{syntax}
+%     |l3kernel.elapsedtime()|
+%   \end{syntax}
+%  Returns the time in \meta{scaled seconds} since the start of the \TeX{} run
+%  or since |l3kernel.resettimer| was issued.
+% \end{function}
+%
 % \begin{function}{l3kernel.filemdfivesum}
 %   \begin{syntax}
-%     |l3kernel.filemdfivesum||(|\meta{file}|)|
+%     |l3kernel.filemdfivesum(|\meta{file}|)|
 %   \end{syntax}
 %   Returns the of the MD5 sum of the file contents read as bytes; note that
 %   the result will depend on the nature of the line endings used in the file,
@@ -143,7 +151,7 @@
 %
 % \begin{function}{l3kernel.filemoddate}
 %   \begin{syntax}
-%     |l3kernel.filemoddate||(|\meta{file}|)|
+%     |l3kernel.filemoddate(|\meta{file}|)|
 %   \end{syntax}
 %   Returns the of the date/time of last modification of the \meta{file} in the
 %   format
@@ -158,15 +166,22 @@
 %
 % \begin{function}{l3kernel.filesize}
 %   \begin{syntax}
-%     |l3kernel.filesize||(|\meta{file}|)|
+%     |l3kernel.filesize(|\meta{file}|)|
 %   \end{syntax}
 %   Returns the size of the \meta{file} in bytes. If the \meta{file} is not
 %   found, nothing is returned with \emph{no error raised}.
 % \end{function}
 %
+% \begin{function}{l3kernel.resettimer}
+%   \begin{syntax}
+%     |l3kernel.resettimer()|
+%   \end{syntax}
+%  Resets the timer used by |l3kernel.elapsetime|.
+% \end{function}
+%
 % \begin{function}{l3kernel.strcmp}
 %   \begin{syntax}
-%     |l3kernel.strcmp||(|\meta{str one}, \meta{str two}|)|
+%     |l3kernel.strcmp(|\meta{str one}, \meta{str two}|)|
 %   \end{syntax}
 %   Compares the two strings and returns |0| to \TeX{}
 %   if the two are identical.
@@ -322,6 +337,7 @@
 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
@@ -357,6 +373,26 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{l3kernel.elapsedtime, l3kernel.resettimer}
+%   Simple timing set up: give the result from the system clock in scaled
+%   seconds.
+%    \begin{macrocode}
+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
+%    \end{macrocode}
+% \end{macro}
+%
 % \begin{macro}{l3kernel.filemdfivesum}
 %   Read an entire file and hash it: the hash function itself is a built-in.
 %   As Lua is byte-based there is no work needed here in terms of UTF-8

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3names.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3names.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %
@@ -614,6 +614,7 @@
   \@@_primitive:NN \pdfdraftmode          \tex_draftmode:D
   \@@_primitive:NN \pdfeachlinedepth      \tex_eachlinedepth:D
   \@@_primitive:NN \pdfeachlineheight     \tex_eachlineheight:D
+  \@@_primitive:NN \pdfelapsedtime        \tex_elapsedtime:D
   \@@_primitive:NN \pdffilemoddate        \tex_filemoddate:D
   \@@_primitive:NN \pdffilesize           \tex_filesize:D
   \@@_primitive:NN \pdffirstlineheight    \tex_firstlineheight:D
@@ -637,6 +638,7 @@
   \@@_primitive:NN \pdfprotrudechars      \tex_protrudechars:D
   \@@_primitive:NN \pdfpxdimen            \tex_pxdimen:D
   \@@_primitive:NN \pdfrandomseed         \tex_randomseed:D
+  \@@_primitive:NN \pdfresettimer         \tex_resettimer:D
   \@@_primitive:NN \pdfsavepos            \tex_savepos:D
   \@@_primitive:NN \pdfstrcmp             \tex_strcmp:D
   \@@_primitive:NN \pdfsetrandomseed      \tex_setrandomseed:D
@@ -756,9 +758,11 @@
 % Primitives from \pdfTeX{} that \XeTeX{} renames: also helps with
 % \LuaTeX{}.
 %    \begin{macrocode}
+  \@@_primitive:NN \elapsedtime           \tex_elapsedtime:D
   \@@_primitive:NN \mdfivesum             \tex_mdfivesum:D
   \@@_primitive:NN \ifprimitive           \tex_ifprimitive:D
   \@@_primitive:NN \primitive             \tex_primitive:D
+  \@@_primitive:NN \resettimer            \tex_resettimer:D
   \@@_primitive:NN \shellescape           \tex_shellescape:D
 %    \end{macrocode}
 % Primitives from \LuaTeX{}, some of which have been ported back to

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3oldmodules.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3oldmodules.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3oldmodules.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -42,7 +42,7 @@
 % }
 %
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3str.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3str.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3token.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3token.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx	2018-10-26 20:51:49 UTC (rev 48997)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-10-19}
+% \date{Released 2018-10-26}
 %
 % \maketitle
 %

Added: trunk/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty	2018-10-26 20:51:49 UTC (rev 48997)
@@ -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'.


Property changes on: trunk/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty	2018-10-26 20:51:49 UTC (rev 48997)
@@ -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 }

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty	2018-10-26 20:51:49 UTC (rev 48997)
@@ -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

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty	2018-10-26 20:51:49 UTC (rev 48997)
@@ -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 } }

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty	2018-10-26 20:51:49 UTC (rev 48997)
@@ -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 }

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty	2018-10-26 20:51:49 UTC (rev 48997)
@@ -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
   {

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty	2018-10-26 20:51:49 UTC (rev 48997)
@@ -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 }
   {

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty	2018-10-26 20:51:49 UTC (rev 48997)
@@ -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

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty	2018-10-26 20:51:49 UTC (rev 48997)
@@ -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

Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex	2018-10-26 20:51:49 UTC (rev 48997)
@@ -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 }

Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex	2018-10-26 20:51:49 UTC (rev 48997)
@@ -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}%

Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.lua	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.lua	2018-10-26 20:51:49 UTC (rev 48997)
@@ -38,6 +38,7 @@
 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 @@
   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

Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.sty	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.sty	2018-10-26 20:51:49 UTC (rev 48997)
@@ -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}
   [%

Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def	2018-10-26 20:51:49 UTC (rev 48997)
@@ -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

Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def	2018-10-26 20:51:49 UTC (rev 48997)
@@ -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

Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def	2018-10-26 20:51:49 UTC (rev 48997)
@@ -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

Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def	2018-10-26 20:51:49 UTC (rev 48997)
@@ -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

Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def	2018-10-26 20:49:27 UTC (rev 48996)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def	2018-10-26 20:51:49 UTC (rev 48997)
@@ -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



More information about the tex-live-commits mailing list