texlive[48935] Master/texmf-dist: l3 (18oct18)

commits+karl at tug.org commits+karl at tug.org
Thu Oct 18 22:31:59 CEST 2018


Revision: 48935
          http://tug.org/svn/texlive?view=revision&revision=48935
Author:   karl
Date:     2018-10-18 22:31:59 +0200 (Thu, 18 Oct 2018)
Log Message:
-----------
l3 (18oct18)

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/l3obsolete.txt
    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/source3.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/source3.tex
    trunk/Master/texmf-dist/doc/latex/l3packages/CHANGELOG.md
    trunk/Master/texmf-dist/doc/latex/l3packages/README.md
    trunk/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf
    trunk/Master/texmf-dist/doc/latex/l3packages/xfp/xfp.pdf
    trunk/Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdf
    trunk/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf
    trunk/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf
    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/source/latex/l3packages/l3keys2e/l3keys2e.dtx
    trunk/Master/texmf-dist/source/latex/l3packages/xfp/xfp.dtx
    trunk/Master/texmf-dist/source/latex/l3packages/xfrac/xfrac.dtx
    trunk/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
    trunk/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.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.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
    trunk/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
    trunk/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty
    trunk/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty
    trunk/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
    trunk/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md	2018-10-18 20:31:59 UTC (rev 48935)
@@ -7,6 +7,8 @@
 
 ## [Unreleased]
 
+## [2018-10-17]
+
 ## [2018-08-24]
 
 ### Fixed
@@ -40,7 +42,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-08-24...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2018-10-17...HEAD
+[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
 [2018-05-12]: https://github.com/latex3/latex3/compare/2018-04-30...2018-05-12

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3experimental/README.md	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/doc/latex/l3experimental/README.md	2018-10-18 20:31:59 UTC (rev 48935)
@@ -1,7 +1,7 @@
 Experimental LaTeX3 Concepts
 ============================
 
-Release 2018-09-24
+Release 2018-10-17
 
 Overview
 --------

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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md	2018-10-18 20:31:59 UTC (rev 48935)
@@ -7,6 +7,25 @@
 
 ## [Unreleased]
 
+## [2018-10-17]
+
+### Added
+
+- `\g_msg_module_documentation_prop` (see #471)
+- `\peek_remove_spaces:n`
+
+### Changed
+
+- Formatting of messages: now follows LaTeX2e closely
+
+### Deprecated
+
+- `\mg_interrupt:nn`, `\msg_log:n` and `\msg_term:n`
+
+### Fixed
+
+- Handling of inheritance for choice keys (fixes #483)
+
 ## [2018-09-24]
 
 ### Added
@@ -132,7 +151,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-09-24...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2018-10-17...HEAD
+[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
 [2018-08-23]: https://github.com/latex3/latex3/compare/2018-06-14...2018-08-23
 [2018-06-14]: https://github.com/latex3/latex3/compare/2018-06-01...2018-06-14

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/README.md	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/README.md	2018-10-18 20:31:59 UTC (rev 48935)
@@ -1,7 +1,7 @@
 LaTeX3 Programming Conventions
 ==============================
 
-Release 2018-09-24
+Release 2018-10-17
 
 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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.tex	2018-10-18 20:31:59 UTC (rev 48935)
@@ -52,7 +52,7 @@
          {latex-team at latex-project.org}%
    }%
 }
-\date{Released 2018-09-24}
+\date{Released 2018-10-17}
 
 \pagenumbering{roman}
 \maketitle

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

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt	2018-10-18 20:31:59 UTC (rev 48935)
@@ -57,6 +57,9 @@
 \lua_now_x:n                      2019
 \lua_shipout_x:n                  2019
 \luatex_...:D                     2019
+\msg_interrupt:nn                 2019
+\msg_log:n                        2019
+\msg_term:n                       2019
 \pdftex_...:D                     2019
 \ptex_...:D                       2019
 \sort_ordered:                    2018

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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex	2018-10-18 20:31:59 UTC (rev 48935)
@@ -30,7 +30,7 @@
         {latex-team at latex-project.org}%
     }%
 }
-\date{Released 2018-09-24}
+\date{Released 2018-10-17}
 
 \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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex	2018-10-18 20:31:59 UTC (rev 48935)
@@ -30,7 +30,7 @@
         {latex-team at latex-project.org}%
     }%
 }
-\date{Released 2018-09-24}
+\date{Released 2018-10-17}
 
 \newcommand{\TF}{\textit{(TF)}}
 

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

Index: trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf	2018-10-18 20:31:59 UTC (rev 48935)

Property changes on: trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex	2018-10-18 20:31:59 UTC (rev 48935)
@@ -0,0 +1,66 @@
+\iffalse meta-comment
+
+File l3term-glossary.tex 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
+
+   https://www.latex-project.org/lppl.txt
+
+This file is part of the "l3kernel bundle" (The Work in LPPL)
+and all files in that bundle must be distributed together.
+
+The released version of this bundle is available from CTAN.
+
+\fi
+
+\documentclass{l3doc}
+
+
+\title{%
+  Glossary of \TeX{} terms used to describe \LaTeX3 functions%
+}
+\author{%
+  The \LaTeX3 Project\thanks
+    {%
+      E-mail:
+      \href{mailto:latex-team at latex-project.org}%
+        {latex-team at latex-project.org}%
+    }%
+}
+\date{Released 2018-10-17}
+
+\newcommand{\TF}{\textit{(TF)}}
+
+\begin{document}
+
+\maketitle
+
+This file describes aspects of \TeX{} programming that are relevant in a
+\LaTeX3 context.
+
+\section{Reading a file}
+
+Tokenization.
+
+Treatment of spaces, such as the trap that \verb|\~~a| is equivalent to
+\verb|\~a| in expl syntax, or that \verb|~| fails to give a space at the
+beginning of a line.
+
+\section{Structure of tokens}
+
+Copy there the section ``Description of all possible tokens'' from \texttt{l3token}.
+
+\section{Quantities and expressions}
+
+Integer denotations, dimensions, glue (including \texttt{fill} and \texttt{true pt} and the like).
+
+Syntax of integer expressions (including the trap that \verb|-(1+2)| is invalid).
+
+\section{\LaTeX3 terms}
+
+Terms like ``intexpr'' or ``seq var'' used in syntax blocks.
+
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/source3.tex	2018-10-18 20:31:59 UTC (rev 48935)
@@ -51,7 +51,7 @@
          {latex-team at latex-project.org}%
    }%
 }
-\date{Released 2018-09-24}
+\date{Released 2018-10-17}
 
 \pagenumbering{roman}
 \maketitle

Modified: trunk/Master/texmf-dist/doc/latex/l3packages/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3packages/CHANGELOG.md	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/doc/latex/l3packages/CHANGELOG.md	2018-10-18 20:31:59 UTC (rev 48935)
@@ -7,6 +7,8 @@
 
 ## [Unreleased]
 
+## [2018-10-17]
+
 ## [2018-09-24]
 
 ### Changed
@@ -30,7 +32,8 @@
 - Switch to ISO date format
 - Improve cross-module use of internal functions
 
-[Unreleased]: https://github.com/latex3/latex3/compare/2018-09-24...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2018-10-17...HEAD
+[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
 [2018-08-23]: https://github.com/latex3/latex3/compare/2018-05-12...2018-08-23
 [2018-05-12]: https://github.com/latex3/latex3/compare/2018-04-30...2018-05-12

Modified: trunk/Master/texmf-dist/doc/latex/l3packages/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3packages/README.md	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/doc/latex/l3packages/README.md	2018-10-18 20:31:59 UTC (rev 48935)
@@ -1,7 +1,7 @@
 LaTeX3 High-Level Concepts
 ==========================
 
-Release 2018-09-24
+Release 2018-10-17
 
 Overview
 --------

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

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

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

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

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

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3color/l3color.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3color/l3color.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3color/l3color.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %
@@ -263,7 +263,7 @@
 %
 %    \begin{macrocode}
 %<*package>
-\ProvidesExplPackage{l3color}{2018-09-24}{}
+\ProvidesExplPackage{l3color}{2018-10-17}{}
   {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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -109,7 +109,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %
@@ -1106,7 +1106,7 @@
 %
 %    \begin{macrocode}
 %<*package>
-\ProvidesExplPackage{l3draw}{2018-09-24}{}
+\ProvidesExplPackage{l3draw}{2018-10-17}{}
   {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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -46,7 +46,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %
@@ -234,7 +234,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{l3str-convert}{2018-09-24}{}
+\ProvidesExplPackage{l3str-convert}{2018-10-17}{}
   {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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -46,7 +46,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %
@@ -162,7 +162,7 @@
 %
 %    \begin{macrocode}
 %<*package>
-\ProvidesExplPackage{l3str-format}{2018-09-24}{}
+\ProvidesExplPackage{l3str-format}{2018-10-17}{}
   {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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %
@@ -134,7 +134,7 @@
 %
 %    \begin{macrocode}
 %<*package>
-\ProvidesExplPackage{l3sys-shell}{2018-09-24}{}
+\ProvidesExplPackage{l3sys-shell}{2018-10-17}{}
   {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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -54,7 +54,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %
@@ -673,7 +673,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{xcoffins}{2018-09-24}{}
+\ProvidesExplPackage{xcoffins}{2018-10-17}{}
   {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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -59,7 +59,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %
@@ -685,7 +685,7 @@
 %
 %    \begin{macrocode}
 %<*package>
-\ProvidesExplPackage{l3galley}{2018-09-24}{}
+\ProvidesExplPackage{l3galley}{2018-10-17}{}
   {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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -45,7 +45,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %
@@ -138,7 +138,7 @@
 %       the area for typeset material. A negative value will cause the
 %       typeset material to extend beyond the edge of the galley.^^A
 %     }
-%     {0 pt}
+%     {0pt}
 %   \TemplateKey{right-margin}{length}
 %     {^^A
 %       The distance from the right edge of the galley to the right edge of
@@ -145,7 +145,7 @@
 %       the area for typeset material. A negative value will cause the
 %       typeset material to extend beyond the edge of the galley.^^A
 %     }
-%     {0 pt}
+%     {0pt}
 %   \TemplateSemantics
 %   This template sets up the typesetting area such that typeset material
 %   runs from |left-margin| away from the left edge of the galley to
@@ -165,7 +165,7 @@
 %       previous one, and \emph{may} cause the typeset material to
 %       protrude outside of the edge of the galley.
 %     }
-%     {0 pt}
+%     {0pt}
 %   \TemplateKey{right-margin}{length}
 %     {^^A
 %       The distance from the previous right margin of the typeset material
@@ -174,7 +174,7 @@
 %       previous one, and \emph{may} cause the typeset material to
 %       protrude outside of the edge of the galley.
 %     }
-%     {0 pt}
+%     {0pt}
 %   \TemplateSemantics
 %   This template sets up the typesetting area such that it has margins
 %   |left-margin| and |right-margin| within those previously set. For a
@@ -212,7 +212,7 @@
 %       The hanging indent from either the left- or right-hand margin
 %       (as determined by \texttt{on-left-side}).^^A
 %     }
-%     {0 pt}
+%     {0pt}
 %   \TemplateKey{on-left-side}{boolean}
 %     {^^A
 %       If \texttt{true}, causes the hanging indent to be on the left-hand
@@ -238,7 +238,7 @@
 %       The indent for the initial lines from either the left- or right-hand
 %       margin (as determined by \texttt{on-left-side}).^^A
 %     }
-%     {0 pt}
+%     {0pt}
 %   \TemplateKey{on-left-side}{boolean}
 %     {^^A
 %       If \texttt{true}, causes the indent to be on the left-hand
@@ -312,7 +312,7 @@
 % \begin{TemplateDescription}{justification}{std}
 %   \TemplateKey{end-skip}{skip}
 %     {The skip inserted to fill the last line of a paragraph.}
-%     {0 pt plus 1 fil}
+%     {0pt plus 1fil}
 %   \TemplateKey{fixed-word-spacing}{boolean}
 %     {^^A
 %       Determines whether inter-word spacing has a stretch component (for
@@ -330,19 +330,19 @@
 %       The skip between the left margin of the galley and the left edge of a
 %       paragraph.^^A
 %     }
-%     {0 pt}
+%     {0pt}
 %   \TemplateKey{right-skip}{skip}
 %     {^^A
 %       The skip between the right margin of the galley and the right edge of a
 %       paragraph.^^A
 %     }
-%     {0 pt}
+%     {0pt}
 %   \TemplateKey{start-skip}{skip}
 %     {^^A
 %       The skip inserted in addition to |indent-width| at the start of a
 %       paragraph.^^A
 %     }
-%     {0 pt}
+%     {0pt}
 %   \TemplateSemantics
 %   The |std| template for justification provides rubber lengths
 %   at the start and end of the paragraph and at each side of the paragraph.
@@ -352,15 +352,15 @@
 % \end{TemplateDescription}
 %
 % \begin{InstanceDescription}{justification}{justified}{std}
-%   \InstanceKey{indent-width}{15 pt}
+%   \InstanceKey{indent-width}{15pt}
 %   \InstanceSemantics
 %   Sets paragraphs fully-justified with the first line indented by
-%   |15 pt|.
+%   |15pt|.
 % \end{InstanceDescription}
 %
 % \begin{InstanceDescription}{justification}{noindent}{std}
-%   \InstanceKey{end-skip}{15 pt plus 1 fil}
-%   \InstanceKey{indent-width}{0 pt}
+%   \InstanceKey{end-skip}{15pt plus 1fil}
+%   \InstanceKey{indent-width}{0pt}
 %   \InstanceSemantics
 %   Sets paragraphs fully-justified with no indent for the first line. To
 %   ensure that paragraphs have some visual distinction, the |end-skip| is
@@ -370,7 +370,7 @@
 % \begin{TemplateDescription}{justification}{single}
 %   \TemplateKey{end-skip}{skip}
 %     {The skip inserted to fill the last line of a paragraph.}
-%     {0 pt plus 1 fil}
+%     {0pt plus 1fil}
 %   \TemplateKey{fixed-word-spacing}{boolean}
 %     {^^A
 %       Determines whether inter-word spacing has a stretch component (for
@@ -388,19 +388,19 @@
 %       The skip between the left margin of the galley and the left edge of a
 %       paragraph.^^A
 %     }
-%     {0 pt}
+%     {0pt}
 %   \TemplateKey{right-skip}{skip}
 %     {^^A
 %       The skip between the right margin of the galley and the right edge of a
 %       paragraph.^^A
 %     }
-%     {0 pt}
+%     {0pt}
 %   \TemplateKey{start-skip}{skip}
 %     {^^A
 %       The skip inserted in addition to |indent-width| at the start of a
 %       paragraph.^^A
 %     }
-%     {0 pt}
+%     {0pt}
 %   \TemplateKey{stretch-last-line}{boolean}
 %     {
 %       Determines whether inter-word spacing in the last line is stretched.
@@ -417,12 +417,12 @@
 %   paragraph.
 % \end{TemplateDescription}
 %
-% \begin{InstanceDescription}{justification}{ragged-left}{std}
-%   \InstanceKey{end-skip}{0 pt}
+% \begin{InstanceDescription}[fixed-word-spacing-xxx]{justification}{ragged-left}{std}
+%   \InstanceKey{end-skip}{0pt}
 %   \InstanceKey{fixed-word-spacing}{true}
-%   \InstanceKey{indent-width}{0 pt}
-%   \InstanceKey{left-skip}{0 pt plus 2 em}
-%   \InstanceKey{right-skip}{0 pt}
+%   \InstanceKey{indent-width}{0pt}
+%   \InstanceKey{left-skip}{0pt plus 2em}
+%   \InstanceKey{right-skip}{0pt}
 %   \InstanceSemantics
 %   Typesets material with a ragged left margin such that hyphenation will
 %   still occur and such that very short lines are discouraged. This is
@@ -429,12 +429,12 @@
 %   similar to the \LaTeXe{} \pkg{ragged2e} \env{RaggedLeft} environment.
 % \end{InstanceDescription}
 %
-% \begin{InstanceDescription}{justification}{ragged-right}{std}
-%   \InstanceKey{end-skip}{0 pt}
+% \begin{InstanceDescription}[fixed-word-spacing-xxx]{justification}{ragged-right}{std}
+%   \InstanceKey{end-skip}{0pt}
 %   \InstanceKey{fixed-word-spacing}{true}
-%   \InstanceKey{indent-width}{0 pt}
-%   \InstanceKey{left-skip}{0 pt}
-%   \InstanceKey{right-skip}{0 pt plus 2 em}
+%   \InstanceKey{indent-width}{0pt}
+%   \InstanceKey{left-skip}{0pt}
+%   \InstanceKey{right-skip}{0pt plus 2em}
 %   \InstanceSemantics
 %   Typesets material with a ragged right margin such that hyphenation will
 %   still occur and such that very short lines are discouraged. This is
@@ -441,12 +441,12 @@
 %   similar to the \LaTeXe{} \pkg{ragged2e} \env{RaggedLeft} environment.
 % \end{InstanceDescription}
 %
-% \begin{InstanceDescription}{justification}{center}{std}
-%   \InstanceKey{end-skip}{0 pt}
+% \begin{InstanceDescription}[fixed-word-spacing-xxx]{justification}{center}{std}
+%   \InstanceKey{end-skip}{0pt}
 %   \InstanceKey{fixed-word-spacing}{true}
-%   \InstanceKey{indent-width}{0 pt}
-%   \InstanceKey{left-skip}{0 pt plus 1 fil}
-%   \InstanceKey{right-skip}{0 pt plus 1 fil}
+%   \InstanceKey{indent-width}{0pt}
+%   \InstanceKey{left-skip}{0pt plus 1fil}
+%   \InstanceKey{right-skip}{0pt plus 1fil}
 %   \InstanceSemantics
 %   Centres typeset material such that hyphenation is discouraged and short
 %   lines are allowed.
@@ -493,7 +493,7 @@
 %        Extra demerit charge of two (or more) lines in succession end
 %        in a hyphen.^^A
 %      }
-%      {10 000}
+%      {10000}
 %   \TemplateKey{emergency-stretch}{skip}
 %      {^^A
 %        Additional stretch assumed for each line if no better line breaking
@@ -500,13 +500,13 @@
 %        can be found without it. This stretch is not actually added to lines,
 %        so its use may result in underfull box warnings.^^A
 %      }
-%      {0 pt}
+%      {0pt}
 %   \TemplateKey{final-hyphen-demerits}{integer}
 %      {Extra demerit charge if the second last line is hyphenated.}
 %      {5000}
 %   \TemplateKey{fuzz}{length}
 %      {Boundary below overfull lines are not reported.}
-%      {0.1 pt}
+%      {0.1pt}
 %   \TemplateKey{mismatch-demerits}{integer}
 %      {^^A
 %        Extra demerit charge if two visually incompatible lines follow
@@ -582,13 +582,13 @@
 %      {150}
 %   \TemplateKey{fuzz}{length}
 %      {Boundary below which overfull vertical boxes are not reported.}
-%      {0.1 pt}
+%      {0.1pt}
 %   \TemplateKey{interline-penalty}{integer}
 %      {Penalty for breaking between lines in a paragraph.}
 %      {0}
 %   \TemplateKey{pre-display-penalty}{integer}
 %      {Penalty for breaking between immediately before display math material.}
-%      {10 000}
+%      {10000}
 %   \TemplateKey{post-display-penalty}{integer}
 %      {Penalty for breaking between immediately after display math material.}
 %      {0}
@@ -608,18 +608,18 @@
 %   material but no immediately before it.
 % \end{InstanceDescription}
 %
-% \begin{InstanceDescription}{paragraph-breaking}{nobreak}{std}
-%   \InstanceKey{interline-penalty}{10 000}
-%   \InstanceKey{post-display-penalty}{10 000}
+% \begin{InstanceDescription}[post-display-penalty-xxxx]{paragraph-breaking}{nobreak}{std}
+%   \InstanceKey{interline-penalty}{10000}
+%   \InstanceKey{post-display-penalty}{10000}
 %   \InstanceSemantics
 %   Sets paragraphs such that they cannot be broken at all (as far as is
 %   possible in \TeX{}).
 % \end{InstanceDescription}
 %
-% \begin{InstanceDescription}{paragraph-breaking}{nolone}{std}
-%   \InstanceKey{club-penalty}{10 000}
-%   \InstanceKey{display-widow-penalty}{10 000}
-%   \InstanceKey{widow-penalty}{10 000}
+% \begin{InstanceDescription}[post-display-penalty-xxxx]{paragraph-breaking}{nolone}{std}
+%   \InstanceKey{club-penalty}{10000}
+%   \InstanceKey{display-widow-penalty}{10000}
+%   \InstanceKey{widow-penalty}{10000}
 %   \InstanceSemantics
 %   Sets paragraphs such that they cannot be broken to leave a club or
 %   widow line (as far as is possible in \TeX{}).
@@ -678,35 +678,35 @@
 %   material but no immediately before it.
 % \end{InstanceDescription}
 %
-% \begin{InstanceDescription}{paragraph-breaking}{single-nobreak}{single}
-%   \InstanceKey{interline-penalty}{10 000}
-%   \InstanceKey{post-display-penalty}{10 000}
+% \begin{InstanceDescription}[post-display-penalty-xxx]{paragraph-breaking}{single-nobreak}{single}
+%   \InstanceKey{interline-penalty}{10000}
+%   \InstanceKey{post-display-penalty}{10000}
 %   \InstanceSemantics
 %   Sets the next paragraph such that it cannot be broken at all (as far as is
 %   possible in \TeX{}).
 % \end{InstanceDescription}
 %
-% \begin{InstanceDescription}{paragraph-breaking}{single-noclub}{single}
-%   \InstanceKey{club-penalty}{10 000}
-%   \InstanceKey{display-club-penalty}{10 000}
+% \begin{InstanceDescription}[display-club-penalty-xxx]{paragraph-breaking}{single-noclub}{single}
+%   \InstanceKey{club-penalty}{10000}
+%   \InstanceKey{display-club-penalty}{10000}
 %   \InstanceSemantics
 %   Sets the next paragraph such that it cannot be broken to leave a club
 %   line (as far as is possible in \TeX{}).
 % \end{InstanceDescription}
 %
-% \begin{InstanceDescription}{paragraph-breaking}{single-nolone}{single}
-%   \InstanceKey{club-penalty}{10 000}
-%   \InstanceKey{display-club-penalty}{10 000}
-%   \InstanceKey{display-widow-penalty}{10 000}
-%   \InstanceKey{widow-penalty}{10 000}
+% \begin{InstanceDescription}[display-widow-penalty-xxx]{paragraph-breaking}{single-nolone}{single}
+%   \InstanceKey{club-penalty}{10000}
+%   \InstanceKey{display-club-penalty}{10000}
+%   \InstanceKey{display-widow-penalty}{10000}
+%   \InstanceKey{widow-penalty}{10000}
 %   \InstanceSemantics
 %   Sets the next paragraph such that it cannot be broken to leave a club or
 %   widow line (as far as is possible in \TeX{}).
 % \end{InstanceDescription}
 %
-% \begin{InstanceDescription}{paragraph-breaking}{single-nowidow}{single}
-%   \InstanceKey{display-widow-penalty}{10 000}
-%   \InstanceKey{widow-penalty}{10 000}
+% \begin{InstanceDescription}[display-widow-penalty-xxx]{paragraph-breaking}{single-nowidow}{single}
+%   \InstanceKey{display-widow-penalty}{10000}
+%   \InstanceKey{widow-penalty}{10000}
 %   \InstanceSemantics
 %   Sets the next paragraph such that it cannot be broken to leave a
 %   widow line (as far as is possible in \TeX{}).
@@ -732,7 +732,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{xgalley}{2018-09-24}{}
+\ProvidesExplPackage{xgalley}{2018-10-17}{}
   {L3 Experimental galley}
 \RequirePackage{xparse,xtemplate,l3galley}
 %    \end{macrocode}
@@ -761,13 +761,13 @@
 %    \begin{macrocode}
 \DeclareTemplateInterface { measure } { absolute } { 0 }
   {
-    left-margin  : length = 0 pt ,
-    right-margin : length = 0 pt
+    left-margin  : length = 0pt ,
+    right-margin : length = 0pt
   }
 \DeclareTemplateInterface { measure } { relative } { 0 }
   {
-    left-margin  : length = 0 pt ,
-    right-margin : length = 0 pt
+    left-margin  : length = 0pt ,
+    right-margin : length = 0pt
   }
 %    \end{macrocode}
 %
@@ -827,13 +827,13 @@
 %    \begin{macrocode}
 \DeclareTemplateInterface { parshape } { hang } { 0 }
   {
-    indent       : length  = 0 pt ,
+    indent       : length  = 0pt  ,
     on-left-side : boolean = true ,
     lines        : integer = 1
   }
 \DeclareTemplateInterface { parshape } { initial } { 0 }
  {
-    indent       : length  = 0 pt ,
+    indent       : length  = 0pt  ,
     on-left-side : boolean = true ,
     lines        : integer = 2
   }
@@ -1004,22 +1004,22 @@
 %    \begin{macrocode}
 \DeclareTemplateInterface { justification } { std } { 0 }
   {
-    end-skip           : skip    = 0 pt plus 1 fil ,
-    fixed-word-spacing : boolean = false           ,
-    indent-width       : length                    ,
-    left-skip          : skip    = 0 pt            ,
-    right-skip         : skip    = 0 pt            ,
-    start-skip         : skip    = 0 pt            ,
+    end-skip           : skip    = 0pt plus 1fil ,
+    fixed-word-spacing : boolean = false         ,
+    indent-width       : length                  ,
+    left-skip          : skip    = 0pt           ,
+    right-skip         : skip    = 0pt           ,
+    start-skip         : skip    = 0pt           ,
     stretch-last-line  : boolean = false
   }
 \DeclareTemplateInterface { justification } { single } { 0 }
   {
-    end-skip           : skip    = 0 pt plus 1 fil ,
-    fixed-word-spacing : boolean = false           ,
-    indent-width       : length                    ,
-    left-skip          : skip    = 0 pt            ,
-    right-skip         : skip    = 0 pt            ,
-    start-skip         : skip    = 0 pt            ,
+    end-skip           : skip    = 0pt plus 1fil ,
+    fixed-word-spacing : boolean = false         ,
+    indent-width       : length                  ,
+    left-skip          : skip    = 0pt           ,
+    right-skip         : skip    = 0pt           ,
+    start-skip         : skip    = 0pt           ,
     stretch-last-line  : boolean = false
   }
 %    \end{macrocode}
@@ -1103,7 +1103,7 @@
 % the standard template for all \LaTeX3 documents, it is applied here.
 %    \begin{macrocode}
 \DeclareInstance { justification } { justified } { std }
-  { indent-width = 15 pt }
+  { indent-width = 15pt }
 \UseInstance { justification } { justified }
 %    \end{macrocode}
 % The instance for no indentation at all but with justified text is
@@ -1113,8 +1113,8 @@
 %    \begin{macrocode}
 \DeclareInstance { justification } { noindent } { std }
   {
-    end-skip     = 15 pt plus 1 fil ,
-    indent-width = 0 pt
+    end-skip     = 15pt plus 1fil ,
+    indent-width = 0pt
   }
 %    \end{macrocode}
 % The other standard justification schemes are for text which ragged.
@@ -1126,19 +1126,19 @@
 %    \begin{macrocode}
 \DeclareInstance { justification } { ragged-left } { std }
   {
-    end-skip           = 0 pt            ,
-    fixed-word-spacing = true            ,
-    indent-width       = 0 pt            ,
-    left-skip          = 0 pt plus 2 em  ,
-    right-skip         = 0 pt
+    end-skip           = 0pt           ,
+    fixed-word-spacing = true          ,
+    indent-width       = 0pt           ,
+    left-skip          = 0pt plus 2em  ,
+    right-skip         = 0pt
   }
 \DeclareInstance { justification } { ragged-right } { std }
   {
-    end-skip           = 0 pt plus 1 fil ,
-    fixed-word-spacing = true            ,
-    indent-width       = 0 pt            ,
-    left-skip          = 0 pt            ,
-    right-skip         = 0 pt plus 2 em
+    end-skip           = 0pt plus 1fil ,
+    fixed-word-spacing = true          ,
+    indent-width       = 0pt           ,
+    left-skip          = 0pt           ,
+    right-skip         = 0pt plus 2em
   }
 %    \end{macrocode}
 % The \texttt{center} instance is used to center material with minimal
@@ -1146,11 +1146,11 @@
 %    \begin{macrocode}
 \DeclareInstance { justification } { center } { std }
   {
-    end-skip           = 0 pt            ,
-    fixed-word-spacing = true            ,
-    indent-width       = 0 pt            ,
-    left-skip          = 0 pt plus 1 fil ,
-    right-skip         = 0 pt plus 1 fil
+    end-skip           = 0pt           ,
+    fixed-word-spacing = true          ,
+    indent-width       = 0pt           ,
+    left-skip          = 0pt plus 1fil ,
+    right-skip         = 0pt plus 1fil
   }
 %    \end{macrocode}
 %
@@ -1199,16 +1199,16 @@
 %    \begin{macrocode}
 \DeclareTemplateInterface { line-breaking } { std } { 0 }
   {
-    badness                : integer = 1000   ,
-    binop-penalty          : integer = 700    ,
-    double-hyphen-demerits : integer = 10 000 ,
-    emergency-stretch      : skip    = 0 pt   ,
-    final-hyphen-demerits  : integer = 5000   ,
-    fuzz                   : length  = 0.1 pt ,
-    line-penalty           : integer = 10     ,
-    mismatch-demerits      : integer = 10 000 ,
-    pretolerance           : integer = 100    ,
-    relation-penalty       : integer = 500    ,
+    badness                : integer = 1000  ,
+    binop-penalty          : integer = 700   ,
+    double-hyphen-demerits : integer = 10000 ,
+    emergency-stretch      : skip    = 0pt   ,
+    final-hyphen-demerits  : integer = 5000  ,
+    fuzz                   : length  = 0.1pt ,
+    line-penalty           : integer = 10    ,
+    mismatch-demerits      : integer = 10000 ,
+    pretolerance           : integer = 100   ,
+    relation-penalty       : integer = 500   ,
     tolerance              : integer = 200
   }
 \DeclareTemplateCode{ line-breaking } { std } { 0 }
@@ -1256,15 +1256,15 @@
 \DeclareObjectType { paragraph-breaking } { 0 }
 \DeclareTemplateInterface { paragraph-breaking } { std } { 0 }
   {
-    badness               : integer = 1000   ,
-    broken-penalty        : integer = 100    ,
-    club-penalty          : integer = 150    ,
-    display-club-penalty  : integer = 150    ,
-    display-widow-penalty : integer = 150    ,
-    fuzz                  : length  = 0.1 pt ,
-    interline-penalty     : integer = 0      ,
-    post-display-penalty  : integer = 0      ,
-    pre-display-penalty   : integer = 10 000 ,
+    badness               : integer = 1000  ,
+    broken-penalty        : integer = 100   ,
+    club-penalty          : integer = 150   ,
+    display-club-penalty  : integer = 150   ,
+    display-widow-penalty : integer = 150   ,
+    fuzz                  : length  = 0.1pt ,
+    interline-penalty     : integer = 0     ,
+    post-display-penalty  : integer = 0     ,
+    pre-display-penalty   : integer = 10000 ,
     widow-penalty         : integer = 150
   }
 \DeclareTemplateCode { paragraph-breaking } { std } { 0 }

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/expl3.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/expl3.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -21,7 +21,7 @@
 % for those people who are interested.
 %
 %<*driver|generic|package>
-\def\ExplFileDate{2018-09-24}%
+\def\ExplFileDate{2018-10-17}%
 %</driver|generic|package>
 %<*driver>
 \documentclass[full]{l3doc}
@@ -49,7 +49,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -138,7 +138,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3box.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3box.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %
@@ -1500,6 +1500,14 @@
 % \end{verbatim}
 % \end{function}
 %
+% \begin{function}[added = 2018-10-01]{\peek_remove_spaces:n}
+%   \begin{syntax}
+%     \cs{peek_remove_spaces:n} \Arg{code}
+%   \end{syntax}
+%   Removes explicit and implicit space tokens (category code~$10$ and
+%   character code~$32$) from the input stream, then inserts \meta{code}.
+% \end{function}
+%
 % \end{documentation}
 %
 % \begin{implementation}

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -77,7 +77,7 @@
 %
 % \title{The \cls{l3doc} class}
 % \author{\Team}
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 % \maketitle
 % \tableofcontents
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -61,7 +61,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3drivers.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3drivers.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3drivers.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %
@@ -554,23 +554,23 @@
 %<*package>
 \ProvidesExplFile
 %<*dvipdfmx>
-  {l3dvidpfmx.def}{2018-09-24}{}
+  {l3dvidpfmx.def}{2018-10-17}{}
   {L3 Experimental driver: dvipdfmx}
 %</dvipdfmx>
 %<*dvips>
-  {l3dvips.def}{2018-09-24}{}
+  {l3dvips.def}{2018-10-17}{}
   {L3 Experimental driver: dvips}
 %</dvips>
 %<*dvisvgm>
-  {l3dvisvgm.def}{2018-09-24}{}
+  {l3dvisvgm.def}{2018-10-17}{}
   {L3 Experimental driver: dvisvgm}
 %</dvisvgm>
 %<*pdfmode>
-  {l3pdfmode.def}{2018-09-24}{}
+  {l3pdfmode.def}{2018-10-17}{}
   {L3 Experimental driver: PDF mode}
 %</pdfmode>
 %<*xdvipdfmx>
-  {l3xdvidpfmx.def}{2018-09-24}{}
+  {l3xdvidpfmx.def}{2018-10-17}{}
   {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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3file.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3file.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %
@@ -427,7 +427,8 @@
 %
 % \subsection{Wrapping lines in output}
 %
-% \begin{function}[added = 2012-06-28, updated = 2017-12-04]{\iow_wrap:nnnN}
+% \begin{function}[added = 2012-06-28, updated = 2017-12-04]
+%   {\iow_wrap:nnnN \iow_wrap:nxnN}
 %   \begin{syntax}
 %     \cs{iow_wrap:nnnN} \Arg{text} \Arg{run-on text} \Arg{set up} \meta{function}
 %   \end{syntax}
@@ -1452,7 +1453,7 @@
 % \end{macro}
 % \end{macro}
 %
-% \begin{macro}{\iow_wrap:nnnN}
+% \begin{macro}{\iow_wrap:nnnN, \iow_wrap:nxnN}
 %   The main wrapping function works as follows.  First give |\\|,
 %   \verb*|\ | and other formatting commands the correct definition for
 %   messages and perform the given setup~|#3|.  The definition of
@@ -1510,6 +1511,7 @@
     \exp_args:NNf \group_end:
     #4 { \tl_to_str:N \l_@@_wrap_tl }
   }
+\cs_generate_variant:Nn \iow_wrap:nnnN { nx }
 %    \end{macrocode}
 % \end{macro}
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3final.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3final.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3final.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -38,7 +38,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 % \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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -38,7 +38,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -38,7 +38,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -38,7 +38,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -38,7 +38,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -38,7 +38,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -38,7 +38,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -38,7 +38,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 % \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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -38,7 +38,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -47,7 +47,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3int.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3int.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %
@@ -94,7 +94,7 @@
 %
 % \begin{function}[EXP, added = 2018-03-30]{\int_eval:w}
 %   \begin{syntax}
-%     \cs{int_eval:w} \Arg{integer expression}
+%     \cs{int_eval:w} \meta{integer expression}
 %   \end{syntax}
 %   Evaluates the \meta{integer expression} as described for
 %   \cs{int_eval:n}. The end of the expression is the first token
@@ -885,7 +885,7 @@
 %   space it is removed as in \texttt{f}-expansion, and so \cs{exp_stop_f:}
 %   may be employed as an end marker. Note that protected functions
 %   \emph{are} expanded by this process.
-%   
+%
 %   This function requires exactly one expansion to produce a value, and so
 %   is suitable for use in cases where a number is required \enquote{directly}.
 %   In general, \cs{int_eval:n} is the preferred approach to generating

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %
@@ -1207,6 +1207,12 @@
 %    \end{macrocode}
 % \end{variable}
 %
+% \begin{variable}{\l_@@_inherit_tl}
+%    \begin{macrocode}
+\tl_new:N \l_@@_inherit_tl
+%    \end{macrocode}
+% \end{variable}
+%
 % \begin{variable}{\l_@@_property_tl}
 %   The \enquote{property} begin set for a key at definition time is
 %   stored here.
@@ -2339,6 +2345,7 @@
         \cs_if_exist:cT
           { \c_@@_code_root_tl ##1 / \l_keys_key_tl }
           {
+            \tl_set:Nn \l_@@_inherit_tl {##1}
             \cs:w \c_@@_code_root_tl ##1 / \l_keys_key_tl
               \exp_after:wN \cs_end: \exp_after:wN
               { \l_keys_value_tl }
@@ -2384,6 +2391,7 @@
 % \end{macro}
 %
 % \begin{macro}[EXP]{\@@_choice_find:n}
+% \begin{macro}[EXP]{\@@_choice_find:nn}
 % \begin{macro}[EXP]{\@@_multichoice_find:n}
 %   Executing a choice has two parts. First, try the choice given, then
 %   if that fails call the unknown key. That always exists, as it is created
@@ -2392,14 +2400,25 @@
 %    \begin{macrocode}
 \cs_new:Npn \@@_choice_find:n #1
   {
-    \@@_execute:nn { \l_keys_path_tl / \@@_remove_spaces:n {#1} }
-      { \@@_execute:nn { \l_keys_path_tl / unknown } { } }
+    \tl_if_empty:NTF \l_@@_inherit_tl
+      { \@@_choice_find:nn { \l_keys_path_tl } {#1} }
+      {
+        \@@_choice_find:nn
+          { \l_@@_inherit_tl / \l_keys_key_tl } {#1}
+      }
   }
+\cs_new:Npn \@@_choice_find:nn #1#2
+  {
+    \cs_if_exist:cTF { \c_@@_code_root_tl #1 / \@@_remove_spaces:n {#2} }
+      { \use:c { \c_@@_code_root_tl #1 / \@@_remove_spaces:n {#2} } {#2} }
+      { \use:c { \c_@@_code_root_tl #1 / unknown } {#2} }
+  }
 \cs_new:Npn \@@_multichoice_find:n #1
   { \clist_map_function:nN {#1} \@@_choice_find:n }
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
+% \end{macro}
 %
 % \subsection{Utilities}
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %
@@ -148,7 +148,7 @@
 %   Produces the standard text
 %   \begin{quote}
 %     \ttfamily
-%     Fatal \meta{module} error
+%     Fatal Package \meta{module} Error
 %   \end{quote}
 %   This function can be redefined to alter the language in which the
 %   message is given, using |#1| as the name of the \meta{module} to
@@ -162,7 +162,7 @@
 %   Produces the standard text
 %   \begin{quote}
 %     \ttfamily
-%     Critical \meta{module} error
+%     Critical Package \meta{module} Error
 %   \end{quote}
 %   This function can be redefined to alter the language in which the
 %   message is given, using |#1| as the name of the \meta{module} to
@@ -176,7 +176,7 @@
 %   Produces the standard text
 %   \begin{quote}
 %     \ttfamily
-%     \meta{module} error
+%     Package \meta{module} Error
 %   \end{quote}
 %   This function can be redefined to alter the language in which the
 %   message is given, using |#1| as the name of the \meta{module} to
@@ -190,11 +190,12 @@
 %   Produces the standard text
 %   \begin{quote}
 %     \ttfamily
-%     \meta{module} warning
+%     Package \meta{module} Warning
 %   \end{quote}
 %   This function can be redefined to alter the language in which the
 %   message is given, using |#1| as the name of the \meta{module} to
-%   be included.
+%   be included.  The \meta{type} of \meta{module} may be adjusted:
+%   |Package| is the standard outcome: see \cs{msg_module_type:n}.
 % \end{function}
 %
 % \begin{function}[EXP]{\msg_info_text:n}
@@ -204,15 +205,35 @@
 %   Produces the standard text:
 %   \begin{quote}
 %     \ttfamily
-%     \meta{module} info
+%     Package \meta{module} Info
 %   \end{quote}
 %   This function can be redefined to alter the language in which the
 %   message is given, using |#1| as the name of the \meta{module} to
-%   be included.
+%   be included. The \meta{type} of \meta{module} may be adjusted:
+%   |Package| is the standard outcome: see \cs{msg_module_type:n}.
 % \end{function}
 %
-% \begin{function}[EXP]{\msg_see_documentation_text:n}
+% \begin{function}[EXP, added = 2019-10-10]{\msg_module_name:n}
 %   \begin{syntax}
+%     \cs{msg_module_name:n} \Arg{module}
+%   \end{syntax}
+%   Expands to the public name of the \meta{module} as defined by
+%   \cs{g_msg_module_name_prop} (or otherwise leaves the \meta{module}
+%   unchanged).
+% \end{function}
+%
+% \begin{function}[EXP, added = 2019-10-10]{\msg_module_type:n}
+%   \begin{syntax}
+%     \cs{msg_module_type:n} \Arg{module}
+%   \end{syntax}
+%   Expands to the description which applies to the \meta{module},
+%   for example a |Package| or |Class|. The information here is defined
+%   in \cs{g_msg_module_type_prop}, and will default to |Package| if an
+%   entry is not present.
+% \end{function}
+%
+% \begin{function}[EXP,updated = 2018-09-30]{\msg_see_documentation_text:n}
+%   \begin{syntax}
 %     \cs{msg_see_documentation_text:n} \Arg{module}
 %   \end{syntax}
 %   Produces the standard text
@@ -223,9 +244,23 @@
 %   \end{quote}
 %   This function can be redefined to alter the language in which the
 %   message is given, using |#1| as the name of the \meta{module} to
-%   be included.
+%   be included. The name of the \meta{module} may be altered by use of
+%   \cs{g_msg_module_documentation_prop}
 % \end{function}
 %
+% \begin{variable}[added = 2018-10-10]{\g_msg_module_name_prop}
+%   Provides a mapping between the module name used for messages, and that
+%   for documentation. For example, \LaTeX{}3 core messages are stored in
+%   the reserved |LaTeX| tree, but are printed as |LaTeX3|.
+% \end{variable}
+%
+% \begin{variable}[added = 2018-10-10]{\g_msg_module_type_prop}
+%   Provides a mapping between the module name used for messages, and that
+%   type of module. For example, for \LaTeX{}3 core messages, an empty entry
+%   is set here meaning that they are not described using the standard
+%   |Package| text.
+% \end{variable}
+%
 % \section{Issuing messages}
 %
 % Messages behave differently depending on the message class. In all cases,
@@ -458,72 +493,6 @@
 %   \end{verbatim}
 % \end{function}
 %
-% \section{Low-level message functions}
-%
-% The lower-level message functions should usually be accessed from the
-% higher-level system. However, there are occasions where direct
-% access to these functions is desirable.
-%
-% \begin{function}[added = 2012-06-28]{\msg_interrupt:nnn}
-%   \begin{syntax}
-%     \cs{msg_interrupt:nnn} \Arg{first line} \Arg{text} \Arg{extra text}
-%   \end{syntax}
-%   Interrupts the \TeX{} run, issuing a formatted message comprising
-%   \meta{first line} and \meta{text} laid out in the format
-%   \begin{verbatim}
-%     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-%     !
-%     ! <first line>
-%     !
-%     ! <text>
-%     !...............................................
-%   \end{verbatim}
-%   where the \meta{text} is wrapped to fit within the current
-%   line length. The user may then request more information, at which
-%   stage the \meta{extra text} is shown in the terminal in the
-%   format
-%   \begin{verbatim}
-%     |'''''''''''''''''''''''''''''''''''''''''''''''
-%     |  <extra text>
-%     |...............................................
-%   \end{verbatim}
-%   where the \meta{extra text} is wrapped within the current
-%   line length. Wrapping of both \meta{text} and \meta{more text} takes place
-%   using \cs{iow_wrap:nnnN}; the documentation for the latter should be
-%   consulted for full details.
-% \end{function}
-%
-% \begin{function}[added = 2012-06-28]{\msg_log:n}
-%   \begin{syntax}
-%     \cs{msg_log:n} \Arg{text}
-%   \end{syntax}
-%   Writes to the log file with the \meta{text} laid out in the format
-%   \begin{verbatim}
-%     .................................................
-%     . <text>
-%     .................................................
-%   \end{verbatim}
-%   where the \meta{text} is wrapped to fit within the current
-%   line length.  Wrapping takes place using \cs{iow_wrap:nnnN}; the
-%   documentation for the latter should be consulted for full details.
-% \end{function}
-%
-% \begin{function}[added = 2012-06-28]{\msg_term:n}
-%   \begin{syntax}
-%     \cs{msg_term:n} \Arg{text}
-%   \end{syntax}
-%   Writes to the terminal and log file with the \meta{text} laid out in the
-%   format
-%   \begin{verbatim}
-%     *************************************************
-%     * <text>
-%     *************************************************
-%   \end{verbatim}
-%   where the \meta{text} is wrapped to fit within the current
-%   line length. Wrapping takes place using \cs{iow_wrap:nnnN}; the
-%   documentation for the latter should be consulted for full details.
-% \end{function}
-%
 % \end{documentation}
 %
 % \begin{implementation}
@@ -538,18 +507,18 @@
 %<@@=msg>
 %    \end{macrocode}
 %
-% \begin{variable}{\l_@@_internal_tl}
+% \begin{variable}{\l_@@_tmp_tl}
 %   A general scratch for the module.
 %    \begin{macrocode}
-\tl_new:N \l_@@_internal_tl
+\tl_new:N \l_@@_tmp_tl
 %    \end{macrocode}
 % \end{variable}
 %
-% \begin{variable}{\l_@@_line_context_bool}
-%   Controls whether the line context is shown as part of the decoration
-%   of all (non-expandable) messages.
+% \begin{variable}{\l_@@_name_str, \l_@@_text_str}
+%   Used to save module info when creating messages.
 %    \begin{macrocode}
-\bool_new:N \l_@@_line_context_bool
+\str_new:N \l_@@_name_str
+\str_new:N \l_@@_text_str
 %    \end{macrocode}
 % \end{variable}
 %
@@ -702,7 +671,7 @@
 %
 % \subsection{Showing messages: low level mechanism}
 %
-% \begin{macro}{\msg_interrupt:nnn}
+% \begin{macro}{\@@_interrupt:Nnnn}
 %   The low-level interruption macro is rather opaque, unfortunately.
 %   Depending on the availability of more information there is a choice
 %   of how to set up the further help.  We feed the extra help text and
@@ -710,23 +679,27 @@
 %   must first setup \TeX{}'s \tn{errhelp} register before issuing an
 %   \tn{errmessage}.
 %    \begin{macrocode}
-\cs_new_protected:Npn \msg_interrupt:nnn #1#2#3
+\cs_new_protected:Npn \@@_interrupt:Nnnn #1#2#3#4
   {
-    \tl_if_empty:nTF {#3}
+    \str_set:Nx \l_@@_text_str { #1 {#2} }
+    \str_set:Nx \l_@@_name_str { \msg_module_name:n {#2} }
+    \tl_if_empty:nTF {#4}
       {
-        \@@_interrupt_wrap:nn { \\ \c_@@_no_info_text_tl }
-          {#1 \\\\ #2 \\\\ \c_@@_continue_text_tl }
+        \@@_interrupt_wrap:nnn {#3}
+          { \c_@@_continue_text_tl }
+          { \c_@@_no_info_text_tl }
       }
       {
-        \@@_interrupt_wrap:nn { \\ #3 }
-          {#1 \\\\ #2 \\\\ \c_@@_help_text_tl }
+        \@@_interrupt_wrap:nnn {#3}
+          { \c_@@_help_text_tl }
+          {#4}
       }
   }
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{\@@_interrupt_wrap:nn}
-% \begin{macro}{\@@_interrupt_more_text:n}
+% \begin{macro}{\@@_interrupt_wrap:nnn}
+% \begin{macro}{\@@_interrupt_text:n, \@@_interrupt_more_text:n}
 %   First setup \TeX{}'s \tn{errhelp} register with the extra help |#1|,
 %   then build a nice-looking error message with |#2|.  Everything is
 %   done using \texttt{x}-type expansion as the new line markers are
@@ -733,26 +706,43 @@
 %   different for the two type of text and need to be correctly set up.
 %   The auxiliary \cs{@@_interrupt_more_text:n} receives its argument
 %   as a line-wrapped string, which is thus unaffected by expansion.
+%   We ave to split the main text into two parts as only the \enquote{message}
+%   itself is wrapped with a leader: the generic help is wrapped at full
+%   width. We also have to allow for the two characters used by \tn{errmessage}
+%   itself.
 %    \begin{macrocode}
-\cs_new_protected:Npn \@@_interrupt_wrap:nn #1#2
+\cs_new_protected:Npn \@@_interrupt_wrap:nnn #1#2#3
   {
-    \iow_wrap:nnnN {#1} { | ~ } { } \@@_interrupt_more_text:n
-    \iow_wrap:nnnN {#2} { ! ~ } { } \@@_interrupt_text:n
+    \iow_wrap:nnnN { \\ #3 } { } { } \@@_interrupt_more_text:n
+    \group_begin:
+      \int_sub:Nn \l_iow_line_count_int { 2 }
+      \iow_wrap:nxnN { \l_@@_text_str : ~ #1 }
+        {
+          ( \l_@@_name_str )
+          \prg_replicate:nn
+            {
+                \str_count:N \l_@@_text_str
+              - \str_count:N \l_@@_name_str
+              + 2
+            }
+            { ~ }
+        }
+        { } \@@_interrupt_text:n
+    \iow_wrap:nnnN { \l_@@_tmp_tl \\ \\ #2 } { } { }
+      \@@_interrupt:n
   }
-\cs_new_protected:Npn \@@_interrupt_more_text:n #1
+\cs_new_protected:Npn \@@_interrupt_text:n #1
   {
-    \exp_args:Nx \tex_errhelp:D
-      {
-        |'''''''''''''''''''''''''''''''''''''''''''''''
-        #1 \iow_newline:
-        |...............................................
-      }
+    \group_end:
+    \tl_set:Nn \l_@@_tmp_tl {#1}
   }
+\cs_new_protected:Npn \@@_interrupt_more_text:n #1
+  { \exp_args:Nx \tex_errhelp:D { #1 \iow_newline: } }
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
 %
-% \begin{macro}{\@@_interrupt_text:n}
+% \begin{macro}{\@@_interrupt:n}
 %   The business end of the process starts by producing some visual
 %   separation of the message from the main part of the log.  The error
 %   message needs to be printed with everything made
@@ -760,7 +750,7 @@
 %   which \tn{errmessage} is called, and the end of the argument of the
 %   \tn{errmessage}, including the closing brace.  We use an active |!|
 %   to call the \tn{errmessage} primitive, and end its argument with
-%   \cs{use_none:n} \Arg{dots} which fills the output with dots.  Two
+%   \cs{use_none:n} \Arg{spaces} which fills the output with spaces.  Two
 %   trailing closing braces are turned into spaces to hide them as well.
 %   The group in which we alter the definition of the active |!| is
 %   closed before producing the message: this ensures that tokens
@@ -780,22 +770,17 @@
 %   inserted by the user.  This is unavoidable.
 %    \begin{macrocode}
 \group_begin:
-  \char_set_lccode:nn {`\{} {`\ }
-  \char_set_lccode:nn {`\}} {`\ }
-  \char_set_lccode:nn {`\&} {`\!}
+  \char_set_lccode:nn { 38 } { 32 } % &
+  \char_set_lccode:nn { 46 } { 32 } % .
+  \char_set_lccode:nn { 123 } { 32 } % {
+  \char_set_lccode:nn { 125 } { 32 } % }
   \char_set_catcode_active:N \&
 \tex_lowercase:D
   {
     \group_end:
-    \cs_new_protected:Npn \@@_interrupt_text:n #1
+    \cs_new_protected:Npn \@@_interrupt:n #1
       {
-        \iow_term:x
-          {
-            \iow_newline:
-            !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-            \iow_newline:
-            !
-          }
+        \iow_term:n { }
         \__kernel_iow_with:Nnn \tex_newlinechar:D { `\^^J }
           {
             \__kernel_iow_with:Nnn \tex_errorcontextlines:D { -1 }
@@ -820,27 +805,6 @@
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{\msg_log:n}
-% \begin{macro}{\msg_term:n}
-%   Printing to the log or terminal without a stop is rather easier.
-%   A bit of simple visual work sets things off nicely.
-%    \begin{macrocode}
-\cs_new_protected:Npn \msg_log:n #1
-  {
-    \iow_log:n { ................................................. }
-    \iow_wrap:nnnN { . ~ #1} { . ~ } { } \iow_log:n
-    \iow_log:n { ................................................. }
-  }
-\cs_new_protected:Npn \msg_term:n #1
-  {
-    \iow_term:n { ************************************************* }
-    \iow_wrap:nnnN { * ~ #1} { * ~ } { } \iow_term:n
-    \iow_term:n { ************************************************* }
-  }
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
 % \subsection{Displaying messages}
 %
 % \LaTeX{} is handling error messages and so the \TeX{} ones are disabled.
@@ -852,7 +816,7 @@
 %</initex>
 %    \end{macrocode}
 %
-% \begin{macro}
+% \begin{macro}[EXP]
 %   {
 %     \msg_fatal_text:n    ,
 %     \msg_critical_text:n ,
@@ -860,46 +824,86 @@
 %     \msg_warning_text:n  ,
 %     \msg_info_text:n
 %   }
+% \begin{macro}[EXP]{\@@_text:nn}
+% \begin{macro}[EXP]{\@@_text:n}
 %   A function for issuing messages: both the text and order could
-%   in principle vary.
+%   in principle vary. The module name may be empty for kernel messages,
+%   hence the slightly contorted code path for a space.
 %    \begin{macrocode}
 \cs_new:Npn \msg_fatal_text:n #1
   {
-    Fatal~#1~error
-    \bool_if:NT \l_@@_line_context_bool { ~ \msg_line_context: }
+    Fatal ~
+    \msg_error_text:n {#1}
   }
 \cs_new:Npn \msg_critical_text:n #1
   {
-    Critical~#1~error
-    \bool_if:NT \l_@@_line_context_bool { ~ \msg_line_context: }
+    Critical ~
+    \msg_error_text:n {#1}
   }
 \cs_new:Npn \msg_error_text:n #1
+  { \@@_text:nn {#1} { Error } }
+\cs_new:Npn \msg_warning_text:n #1
+  { \@@_text:nn {#1} { Warning } }
+\cs_new:Npn \msg_info_text:n #1
+  { \@@_text:nn {#1} { Info } }
+\cs_new:Npn \@@_text:nn #1#2
   {
-    #1~error
-    \bool_if:NT \l_@@_line_context_bool { ~ \msg_line_context: }
+    \exp_args:Nf \@@_text:n { \msg_module_type:n {#1} }
+    \msg_module_name:n {#1} ~
+    #2
   }
-\cs_new:Npn \msg_warning_text:n #1
+\cs_new:Npn \@@_text:n #1
   {
-    #1~warning
-    \bool_if:NT \l_@@_line_context_bool { ~ \msg_line_context: }
+    \tl_if_blank:nF {#1}
+      { #1 ~ }
   }
-\cs_new:Npn \msg_info_text:n #1
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{variable}{\g_msg_module_name_prop, \g_msg_module_type_prop}
+%   For storing public module information: the kernel data is set up
+%   in advance.
+%    \begin{macrocode}
+\prop_new:N \g_msg_module_name_prop
+\prop_gput:Nnn \g_msg_module_name_prop { LaTeX } { LaTeX3 }
+\prop_new:N \g_msg_module_type_prop
+\prop_gput:Nnn \g_msg_module_type_prop { LaTeX } { }
+%    \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}[EXP]{\msg_module_type:n}
+%   Contextual footer information, with the potential to give modules an
+%   alternative name.
+%    \begin{macrocode}
+\cs_new:Npn \msg_module_type:n #1
   {
-    #1~info
-    \bool_if:NT \l_@@_line_context_bool { ~ \msg_line_context: }
+    \prop_if_in:NnTF \g_msg_module_type_prop {#1}
+      { \prop_item:Nn \g_msg_module_type_prop {#1} }
+%<*initex>
+      { Module }
+%</initex>
+%<*package>
+      { Package }
+%</package>
   }
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{\msg_see_documentation_text:n}
-%   Contextual footer information.  The \LaTeX{} module only comprises
-%   \LaTeX3 code, so we refer to the \LaTeX3 documentation rather than
-%   simply \enquote{\LaTeX{}}.
+% \begin{macro}[EXP]{\msg_moudle_name:n, \msg_see_documentation_text:n}
+%   Contextual footer information, with the potential to give modules an
+%   alternative name.
 %    \begin{macrocode}
+\cs_new:Npn \msg_module_name:n #1
+  {
+    \prop_if_in:NnTF \g_msg_module_name_prop {#1}
+      { \prop_item:Nn \g_msg_module_name_prop {#1} }
+      {#1}
+  }
 \cs_new:Npn \msg_see_documentation_text:n #1
   {
-    \\ \\ See~the~
-    \str_if_eq:nnTF {#1} { LaTeX } { LaTeX3 } {#1} ~
+    See~the~ \msg_module_name:n {#1} ~
     documentation~for~further~information.
   }
 %    \end{macrocode}
@@ -965,12 +969,10 @@
 %    \begin{macrocode}
   \@@_class_new:nn { fatal }
     {
-      \msg_interrupt:nnn
-        { \msg_fatal_text:n {#1} : ~ "#2" }
-        {
-          \use:c { \c_@@_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6}
-          \msg_see_documentation_text:n {#1}
-        }
+      \@@_interrupt:Nnnn
+        \msg_fatal_text:n
+        {#1}
+        { \use:c { \c_@@_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} }
         { \c_@@_fatal_text_tl }
       \tex_end:D
     }
@@ -993,12 +995,10 @@
 %    \begin{macrocode}
   \@@_class_new:nn { critical }
     {
-      \msg_interrupt:nnn
-        { \msg_critical_text:n {#1} : ~ "#2" }
-        {
-          \use:c { \c_@@_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6}
-          \msg_see_documentation_text:n {#1}
-        }
+      \@@_interrupt:Nnnn
+        \msg_critical_text:n
+        {#1}
+        { \use:c { \c_@@_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} }
         { \c_@@_critical_text_tl }
       \tex_endinput:D
     }
@@ -1028,12 +1028,10 @@
         { \c_@@_more_text_prefix_tl #1 / #2 }
         {#3} {#4} {#5} {#6}
         {
-          \msg_interrupt:nnn
-            { \msg_error_text:n {#1} : ~ "#2" }
-            {
-              \use:c { \c_@@_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6}
-              \msg_see_documentation_text:n {#1}
-            }
+          \@@_interrupt:Nnnn
+            \msg_error_text:n
+            {#1}
+            { \use:c { \c_@@_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} }
        }
     }
   \cs_new_protected:Npn \@@_error:cnnnnn #1#2#3#4#5#6
@@ -1063,11 +1061,25 @@
 %    \begin{macrocode}
   \@@_class_new:nn { warning }
     {
-      \msg_term:n
+      \str_set:Nx \l_@@_text_str { \msg_warning_text:n {#1} }
+      \str_set:Nx \l_@@_name_str { \msg_module_name:n {#1} }
+      \iow_term:n { }
+      \iow_wrap:nxnN
         {
-          \msg_warning_text:n {#1} : ~ "#2" \\ \\
+          \l_@@_text_str : ~
           \use:c { \c_@@_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6}
         }
+        {
+          ( \l_@@_name_str )
+          \prg_replicate:nn
+            {
+                \str_count:N \l_@@_text_str
+              - \str_count:N \l_@@_name_str
+            }
+            { ~ }
+        }
+        { } \iow_term:n
+      \iow_term:n { }
     }
 %    \end{macrocode}
 % \end{macro}
@@ -1088,11 +1100,25 @@
 %    \begin{macrocode}
   \@@_class_new:nn { info }
     {
-      \msg_log:n
+      \str_set:Nx \l_@@_text_str { \msg_info_text:n {#1} }
+      \str_set:Nx \l_@@_name_str { \msg_module_name:n {#1} }
+      \iow_log:n { }
+      \iow_wrap:nxnN
         {
-          \msg_info_text:n {#1} : ~ "#2" \\ \\
+          \l_@@_text_str : ~
           \use:c { \c_@@_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6}
         }
+        {
+          ( \l_@@_name_str )
+          \prg_replicate:nn
+             {
+                 \str_count:N \l_@@_text_str
+               - \str_count:N \l_@@_name_str
+             }
+            { ~ }
+         }
+         { } \iow_log:n
+      \iow_log:n { }
     }
 %    \end{macrocode}
 % \end{macro}
@@ -1187,13 +1213,13 @@
     {
       \tl_if_empty:nF {#1}
         { \exp_args:No \iow_term:n { \use_none:n #1 } }
-      \tl_set:Nn \l_@@_internal_tl {#2}
+      \tl_set:Nn \l_@@_tmp_tl {#2}
       \__kernel_iow_with:Nnn \tex_newlinechar:D { 10 }
         {
           \__kernel_iow_with:Nnn \tex_errorcontextlines:D { -1 }
             {
               \tex_showtokens:D \exp_after:wN \exp_after:wN \exp_after:wN
-                { \exp_after:wN \l_@@_internal_tl }
+                { \exp_after:wN \l_@@_tmp_tl }
             }
         }
     }
@@ -2044,7 +2070,96 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}[deprecated = 2019-12-31]{\msg_log:n, \msg_term:n}
 %    \begin{macrocode}
+\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \iow_log:n }
+\cs_new_protected:Npn \msg_log:n #1
+  {
+    \iow_log:n { ................................................. }
+    \iow_wrap:nnnN { . ~ #1} { . ~ } { } \iow_log:n
+    \iow_log:n { ................................................. }
+  }
+\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \iow_term:n }
+\cs_new_protected:Npn \msg_term:n #1
+  {
+    \iow_term:n { ************************************************* }
+    \iow_wrap:nnnN { * ~ #1} { * ~ } { } \iow_term:n
+    \iow_term:n { ************************************************* }
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[deprecated = 2019-12-31]{\msg_interrupt:nnn}
+%    \begin{macrocode}
+\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { [Defined~error~message] }
+\cs_new_protected:Npn \msg_interrupt:nnn #1#2#3
+  {
+    \tl_if_empty:nTF {#3}
+      {
+        \@@_old_interrupt_wrap:nn { \\ \c_@@_no_info_text_tl }
+          {#1 \\\\ #2 \\\\ \c_@@_continue_text_tl }
+      }
+      {
+        \@@_old_interrupt_wrap:nn { \\ #3 }
+          {#1 \\\\ #2 \\\\ \c_@@_help_text_tl }
+      }
+  }
+\cs_new_protected:Npn \@@_old_interrupt_wrap:nn #1#2
+  {
+    \iow_wrap:nnnN {#1} { | ~ } { } \@@_old_interrupt_more_text:n
+    \iow_wrap:nnnN {#2} { ! ~ } { } \@@_old_interrupt_text:n
+  }
+\cs_new_protected:Npn \@@_old_interrupt_more_text:n #1
+  {
+    \exp_args:Nx \tex_errhelp:D
+      {
+        |'''''''''''''''''''''''''''''''''''''''''''''''
+        #1 \iow_newline:
+        |...............................................
+      }
+  }
+\group_begin:
+  \char_set_lccode:nn {`\{} {`\ }
+  \char_set_lccode:nn {`\}} {`\ }
+  \char_set_lccode:nn {`\&} {`\!}
+  \char_set_catcode_active:N \&
+\tex_lowercase:D
+  {
+    \group_end:
+    \cs_new_protected:Npn \@@_old_interrupt_text:n #1
+      {
+        \iow_term:x
+          {
+            \iow_newline:
+            !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+            \iow_newline:
+            !
+          }
+        \__kernel_iow_with:Nnn \tex_newlinechar:D { `\^^J }
+          {
+            \__kernel_iow_with:Nnn \tex_errorcontextlines:D { -1 }
+              {
+                \group_begin:
+                  \cs_set_protected:Npn &
+                    {
+                      \tex_errmessage:D
+                        {
+                          #1
+                          \use_none:n
+                            { ............................................ }
+                        }
+                    }
+                  \exp_after:wN
+                \group_end:
+                &
+              }
+          }
+      }
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+%    \begin{macrocode}
 %</initex|package>
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3names.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3names.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3oldmodules.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3oldmodules.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3oldmodules.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -42,7 +42,7 @@
 % }
 %
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %
@@ -877,7 +877,7 @@
 %   \item \cs{g_@@_thread_state_intarray} maps each \meta{thread} (with
 %     $\texttt{min_active} \leq \meta{thread} < \texttt{max_active}$) to
 %     the \meta{state} in which the \meta{thread} currently is. The
-%     \meta{threads} or ordered starting from the best to the least
+%     \meta{threads} are ordered starting from the best to the least
 %     preferred.
 %   \item \tn{toks}\meta{thread} holds the submatch information for the
 %     \meta{thread}, as the contents of a property list.
@@ -899,9 +899,6 @@
 %     block corresponding to one match with all its submatches stored in
 %     consecutive entries.
 % \end{itemize}
-% \tn{count} registers are not abused, which means that we can safely
-% use named integers in this module. Note that \tn{box} registers are
-% not abused either; maybe we could leverage those for some purpose.
 %
 % The code is structured as follows. Variables are introduced in the
 % relevant section. First we present some generic helper functions. Then
@@ -1320,7 +1317,7 @@
           \@@_build_for_cs:n {#1}
           \bool_set_eq:NN \l_@@_saved_success_bool
             \g_@@_success_bool
-          \exp_args:NV \@@_match:n \l_@@_cs_name_tl
+          \exp_args:NV \@@_match_cs:n \l_@@_cs_name_tl
           \if_meaning:w \c_true_bool \g_@@_success_bool
             \group_insert_after:N \@@_break_true:w
           \fi:
@@ -3686,10 +3683,11 @@
 % \subsubsection{Variables used while building}
 %
 % \begin{variable}{\l_@@_min_state_int, \l_@@_max_state_int}
-%   The last state that was allocated is $\cs{l_@@_max_state_int}-1$,
-%   so that \cs{l_@@_max_state_int} always points to a free state.
-%   The \texttt{min_state} variable is $1$, but is included to
-%   avoid hard-coding this value everywhere.
+%   The last state that was allocated is
+%   $\cs{l_@@_max_state_int}-1$, so that \cs{l_@@_max_state_int} always
+%   points to a free state.  The \texttt{min_state} variable is
+%   $1$ to begin with, but gets shifted in nested calls to the matching
+%   code, namely in |\c{...}| constructions.
 %    \begin{macrocode}
 \int_new:N  \l_@@_min_state_int
 \int_set:Nn \l_@@_min_state_int { 1 }
@@ -3802,6 +3800,23 @@
 % \end{macro}
 %
 % \begin{macro}{\@@_build_for_cs:n}
+%   The matching code relies on some global intarray variables, but only
+%   uses a range of their entries.  Specifically,
+%   \begin{itemize}
+%     \item \cs{g_@@_state_active_intarray} from \cs{l_@@_min_state_int}
+%       to $\cs{l_@@_max_state_int}-1$;
+%     \item \cs{g_@@_thread_state_intarray} from \cs{l_@@_min_active_int}
+%       to $\cs{l_@@_max_active_int}-1$.
+%   \end{itemize}
+%   In fact, some data is stored in \tn{toks} registers (local) in the
+%   same ranges so these ranges mustn't overlap.  This is done by
+%   setting \cs{l_@@_min_active_int} to \cs{l_@@_max_state_int} after
+%   building the \textsc{nfa}.  Here, in this nested call to the
+%   matching code, we need the new versions of these ranges to involve
+%   completely new entries of the intarray variables, so we begin by
+%   setting (the new) \cs{l_@@_min_state_int} to (the old)
+%   \cs{l_@@_max_active_int} to use higher entries.
+%
 %   When using a regex to match a cs, we don't insert a wildcard, we
 %   anchor at the end, and since we ignore submatches, there is no need
 %   to surround the expression with a group. However, for branches to
@@ -3816,6 +3831,7 @@
   }
 \cs_new_protected:Npn \@@_build_for_cs:n #1
   {
+    \int_set_eq:NN \l_@@_min_state_int \l_@@_max_active_int
     \int_set_eq:NN \l_@@_max_state_int \l_@@_min_state_int
     \@@_build_new_state:
     \@@_build_new_state:
@@ -4618,7 +4634,7 @@
 %
 % \subsubsection{Matching: framework}
 %
-% \begin{macro}{\@@_match:n}
+% \begin{macro}{\@@_match:n, \@@_match_cs:n}
 % \begin{macro}{\@@_match_init:}
 %   First store the query into \tn{toks} registers and arrays (see
 %   \cs{@@_query_set:nnn}). Then initialize the variables that should
@@ -4650,6 +4666,34 @@
     \@@_match_once:
   }
 \__kernel_patch:nnNNpn
+  {
+    \@@_trace_push:nnN { regex } { 1 } \@@_match_cs:n
+    \@@_trace:nnx { regex } { 1 } { analyzing~query~token~list }
+  }
+  { \@@_trace_pop:nnN { regex } { 1 } \@@_match_cs:n }
+\cs_new_protected:Npn \@@_match_cs:n #1
+  {
+    \int_zero:N \l_@@_balance_int
+    \int_set:Nn \l_@@_curr_pos_int
+      {
+        \int_max:nn { 2 * \l_@@_max_state_int - \l_@@_min_state_int }
+        { \l_@@_max_pos_int }
+        + 1
+      }
+    \@@_query_set:nnn { } { -1 } { -2 }
+    \int_set_eq:NN \l_@@_min_pos_int \l_@@_curr_pos_int
+    \str_map_inline:nn {#1}
+      {
+        \@@_query_set:nnn { \exp_not:n {##1} }
+          { \tl_if_blank:nTF {##1} { 10 } { 12 } }
+          { `##1 }
+      }
+    \int_set_eq:NN \l_@@_max_pos_int \l_@@_curr_pos_int
+    \@@_query_set:nnn { } { -1 } { -2 }
+    \@@_match_init:
+    \@@_match_once:
+  }
+\__kernel_patch:nnNNpn
   { \@@_trace:nnx { regex } { 1 } { initializing } }
   { }
 \cs_new_protected:Npn \@@_match_init:
@@ -6415,7 +6459,8 @@
   { Invalid~nested~'\iow_char:N\\c'~escape~in~regular~expression. }
   {
     The~'\iow_char:N\\c'~escape~cannot~be~used~within~
-    a~control~sequence~test~'\iow_char:N\\c{...}'.~
+    a~control~sequence~test~'\iow_char:N\\c{...}'~
+    nor~another~category~test.~
     To~combine~several~category~tests,~use~'\iow_char:N\\c[...]'.
   }
 \__kernel_msg_new:nnnn { kernel } { c-C-invalid }

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %
@@ -746,7 +746,7 @@
 %   Recovers the content of a \meta{skip} and places it directly
 %   in the input stream. An error is raised if the variable does
 %   not exist or if it is invalid. Can be omitted in places where a
-%   \meta{dimension} is required (such as in the argument of
+%   \meta{dimension} or \meta{skip} is required (such as in the argument of
 %   \cs{skip_eval:n}).
 %   \begin{texnote}
 %     \cs{skip_use:N} is the \TeX{} primitive \tn{the}: this is one of
@@ -822,6 +822,7 @@
 %     \cs{skip_horizontal:n} \Arg{skipexpr}
 %   \end{syntax}
 %   Inserts a horizontal \meta{skip} into the current list.
+%   The argument can also be a \meta{dim}.
 %   \begin{texnote}
 %     \cs{skip_horizontal:N} is the \TeX{} primitive \tn{hskip} renamed.
 %   \end{texnote}
@@ -834,6 +835,7 @@
 %     \cs{skip_vertical:n} \Arg{skipexpr}
 %   \end{syntax}
 %   Inserts a vertical \meta{skip} into the current list.
+%   The argument can also be a \meta{dim}.
 %   \begin{texnote}
 %     \cs{skip_vertical:N} is the \TeX{} primitive \tn{vskip} renamed.
 %   \end{texnote}

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3str.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3str.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3token.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3token.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %
@@ -2234,6 +2234,29 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{\peek_remove_spaces:n, \@@_remove_spaces:}
+%   Repeatedly use \cs{@@_true_remove:w} to remove a space and call
+%   \cs{@@_true_aux:w}.
+%    \begin{macrocode}
+\cs_new_protected:Npn \peek_remove_spaces:n #1
+  {
+    \cs_set:Npx \@@_false:w { \exp_not:n {#1} }
+    \group_align_safe_begin:
+    \cs_set:Npn \@@_true_aux:w { \peek_after:Nw \@@_remove_spaces: }
+    \@@_true_aux:w
+  }
+\cs_new_protected:Npn \@@_remove_spaces:
+  {
+    \if_meaning:w \l_peek_token \c_space_token
+      \exp_after:wN \@@_true_remove:w
+    \else:
+      \group_align_safe_end:
+      \exp_after:wN \@@_false:w
+    \fi:
+  }
+%    \end{macrocode}
+% \end{macro}
+%
 % \begin{macro}{\@@_token_generic_aux:NNNTF}
 %   The generic functions store the test token in both implicit and
 %   explicit modes, and the \texttt{true} and \texttt{false} code as
@@ -2366,133 +2389,74 @@
 % \end{macro}
 % \end{macro}
 %
-% \begin{macro}{\@@_ignore_spaces_execute_branches:}
-%   This function removes one space token at a time, and calls
-%   \cs{@@_execute_branches:} when encountering the first non-space
-%   token.  We directly use the primitive meaning test rather than
-%   \cs{token_if_eq_meaning:NNTF} because \cs{l_peek_token} may be an
-%   outer macro (coming from non-\LaTeX3 packages).  Spaces are removed
-%   using a side-effect of \texttt{f}-expansion:
-%   |\exp:w \exp_end_continue_f:w| removes one space.
+% \begin{macro}[TF]
+%   {
+%     \peek_catcode:N,
+%     \peek_catcode_remove:N,
+%     \peek_charcode:N,
+%     \peek_charcode_remove:N,
+%     \peek_meaning:N,
+%     \peek_meaning_remove:N,
+%   }
+%   The public functions themselves cannot be defined using
+%   \cs{prg_new_conditional:Npnn}.  Instead, the |TF|, |T|, |F| variants
+%   are defined in terms of corresponding variants of
+%   \cs{@@_token_generic:NNTF} or \cs{@@_token_remove_generic:NNTF},
+%   with first argument one of \cs{@@_execute_branches_catcode:},
+%   \cs{@@_execute_branches_charcode:}, or
+%   \cs{@@_execute_branches_meaning:}.
 %    \begin{macrocode}
-\cs_new_protected:Npn \@@_ignore_spaces_execute_branches:
+\tl_map_inline:nn { { catcode } { charcode } { meaning } }
   {
-    \if_meaning:w \l_peek_token \c_space_token
-      \exp_after:wN \peek_after:Nw
-      \exp_after:wN \@@_ignore_spaces_execute_branches:
-      \exp:w \exp_end_continue_f:w
-    \else:
-      \exp_after:wN \@@_execute_branches:
-    \fi:
+    \tl_map_inline:nn { { } { _remove } }
+      {
+        \tl_map_inline:nn { { TF } { T } { F } }
+          {
+            \cs_new_protected:cpx { peek_ #1 ##1 :N ####1 }
+              {
+                \exp_not:c { @@_token ##1 _generic:NN ####1 }
+                \exp_not:c { @@_execute_branches_ #1 : }
+              }
+          }
+      }
   }
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{\@@_def:nnnn}
-% \begin{macro}{\@@_def:nnnnn}
-%   The public functions themselves cannot be defined using
-%   \cs{prg_new_conditional:Npnn} and so a couple of auxiliary functions
-%   are used. As a result, everything is done inside a group. As a result
-%   things are a bit complicated.
-%    \begin{macrocode}
-\group_begin:
-  \cs_set:Npn \@@_def:nnnn #1#2#3#4
-    {
-      \@@_def:nnnnn {#1} {#2} {#3} {#4} { TF }
-      \@@_def:nnnnn {#1} {#2} {#3} {#4} { T }
-      \@@_def:nnnnn {#1} {#2} {#3} {#4} { F }
-    }
-  \cs_set:Npn \@@_def:nnnnn #1#2#3#4#5
-    {
-      \cs_new_protected:cpx { #1 #5 }
-        {
-          \tl_if_empty:nF {#2}
-            { \exp_not:n { \cs_set_eq:NN \@@_execute_branches: #2 } }
-          \exp_not:c { #3 #5 }
-          \exp_not:n {#4}
-        }
-    }
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
 % \begin{macro}[TF]
 %   {
-%     \peek_catcode:N, \peek_catcode_ignore_spaces:N,
-%     \peek_catcode_remove:N, \peek_catcode_remove_ignore_spaces:N
+%     \peek_catcode_ignore_spaces:N, \peek_catcode_remove_ignore_spaces:N,
+%     \peek_charcode_ignore_spaces:N, \peek_charcode_remove_ignore_spaces:N,
+%     \peek_meaning_ignore_spaces:N, \peek_meaning_remove_ignore_spaces:N
 %   }
-%   With everything in place the definitions can take place. First for
-%   category codes.
+%   To ignore spaces, remove them using \cs{peek_remove_spaces:n}
+%   before running the tests.
 %    \begin{macrocode}
-  \@@_def:nnnn { peek_catcode:N }
-    { }
-    { @@_token_generic:NN }
-    { \@@_execute_branches_catcode: }
-  \@@_def:nnnn { peek_catcode_ignore_spaces:N }
-    { \@@_execute_branches_catcode: }
-    { @@_token_generic:NN }
-    { \@@_ignore_spaces_execute_branches: }
-  \@@_def:nnnn { peek_catcode_remove:N }
-    { }
-    { @@_token_remove_generic:NN }
-    { \@@_execute_branches_catcode: }
-  \@@_def:nnnn { peek_catcode_remove_ignore_spaces:N }
-    { \@@_execute_branches_catcode: }
-    { @@_token_remove_generic:NN }
-    { \@@_ignore_spaces_execute_branches: }
+\tl_map_inline:nn
+  {
+    { catcode } { catcode_remove }
+    { charcode } { charcode_remove }
+    { meaning } { meaning_remove }
+  }
+  {
+    \cs_new_protected:cpx { peek_#1_ignore_spaces:NTF } ##1##2##3
+      {
+        \peek_remove_spaces:n
+          { \exp_not:c { peek_#1:NTF } ##1 {##2} {##3} }
+      }
+    \cs_new_protected:cpx { peek_#1_ignore_spaces:NT } ##1##2
+      {
+        \peek_remove_spaces:n
+          { \exp_not:c { peek_#1:NT } ##1 {##2} }
+      }
+    \cs_new_protected:cpx { peek_#1_ignore_spaces:NF } ##1##2
+      {
+        \peek_remove_spaces:n
+          { \exp_not:c { peek_#1:NF } ##1 {##2} }
+      }
+  }
 %    \end{macrocode}
 % \end{macro}
-% \begin{macro}[TF]
-%   {
-%     \peek_charcode:N, \peek_charcode_ignore_spaces:N,
-%     \peek_charcode_remove:N, \peek_charcode_remove_ignore_spaces:N
-%   }
-%   Then for character codes.
-%    \begin{macrocode}
-  \@@_def:nnnn { peek_charcode:N }
-    { }
-    { @@_token_generic:NN }
-    { \@@_execute_branches_charcode: }
-  \@@_def:nnnn { peek_charcode_ignore_spaces:N }
-    { \@@_execute_branches_charcode: }
-    { @@_token_generic:NN }
-    { \@@_ignore_spaces_execute_branches: }
-  \@@_def:nnnn { peek_charcode_remove:N }
-    { }
-    { @@_token_remove_generic:NN }
-    { \@@_execute_branches_charcode: }
-  \@@_def:nnnn { peek_charcode_remove_ignore_spaces:N }
-    { \@@_execute_branches_charcode: }
-    { @@_token_remove_generic:NN }
-    { \@@_ignore_spaces_execute_branches: }
-%    \end{macrocode}
-% \end{macro}
-% \begin{macro}[TF]
-%   {
-%     \peek_meaning:N, \peek_meaning_ignore_spaces:N,
-%     \peek_meaning_remove:N, \peek_meaning_remove_ignore_spaces:N
-%   }
-%   Finally for meaning, with the group closed to remove the temporary
-%   definition functions.
-%    \begin{macrocode}
-  \@@_def:nnnn { peek_meaning:N }
-    { }
-    { @@_token_generic:NN }
-    { \@@_execute_branches_meaning: }
-  \@@_def:nnnn { peek_meaning_ignore_spaces:N }
-    { \@@_execute_branches_meaning: }
-    { @@_token_generic:NN }
-    { \@@_ignore_spaces_execute_branches: }
-  \@@_def:nnnn { peek_meaning_remove:N }
-    { }
-    { @@_token_remove_generic:NN }
-    { \@@_execute_branches_meaning: }
-  \@@_def:nnnn { peek_meaning_remove_ignore_spaces:N }
-    { \@@_execute_branches_meaning: }
-    { @@_token_remove_generic:NN }
-    { \@@_ignore_spaces_execute_branches: }
-\group_end:
-%    \end{macrocode}
-% \end{macro}
 %
 % \subsection{Decomposing a macro definition}
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -41,7 +41,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -60,7 +60,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %
@@ -131,7 +131,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{l3keys2e}{2018-09-24}{}
+\ProvidesExplPackage{l3keys2e}{2018-10-17}{}
   {LaTeX2e option processing using LaTeX3 keys}
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/source/latex/l3packages/xfp/xfp.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3packages/xfp/xfp.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3packages/xfp/xfp.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -62,7 +62,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %
@@ -161,7 +161,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{xfp}{2018-09-24}{}
+\ProvidesExplPackage{xfp}{2018-10-17}{}
   {L3 Floating point unit}
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/source/latex/l3packages/xfrac/xfrac.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3packages/xfrac/xfrac.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3packages/xfrac/xfrac.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -63,7 +63,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %
@@ -533,7 +533,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{xfrac}{2018-09-24}{}
+\ProvidesExplPackage{xfrac}{2018-10-17}{}
   {L3 Experimental split-level fractions}
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -67,7 +67,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %
@@ -818,7 +818,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{xparse}{2018-09-24}{}
+\ProvidesExplPackage{xparse}{2018-10-17}{}
   {L3 Experimental document command parser}
 %    \end{macrocode}
 %
@@ -3133,16 +3133,19 @@
       \group_align_safe_begin:
         \tex_escapechar:D = 92 \scan_stop:
         \tl_clear:N \l_@@_v_arg_tl
-        \peek_meaning_remove_ignore_spaces:NTF \c_group_begin_token
+        \peek_remove_spaces:n
           {
-            \group_align_safe_end:
-            \@@_grab_v_bgroup:
+            \peek_meaning_remove:NTF \c_group_begin_token
+              {
+                \group_align_safe_end:
+                \@@_grab_v_bgroup:
+              }
+              {
+                \peek_N_type:TF
+                  { \@@_grab_v_aux_test:N }
+                  { \@@_grab_v_aux_abort:n { } }
+              }
           }
-          {
-            \peek_N_type:TF
-              { \@@_grab_v_aux_test:N }
-              { \@@_grab_v_aux_abort:n { } }
-          }
   }
 \cs_new_protected:Npn \@@_grab_v_group_end:
   {
@@ -4601,7 +4604,7 @@
 \keys_define:nn { xparse }
   {
     log-declarations .bool_set:N = \l_@@_log_bool ,
-    log-declarations .initial:n  = true
+    log-declarations .initial:n  = false
   }
 \keys_set:nV { xparse } \l_@@_options_clist
 \bool_if:NF \l_@@_log_bool

Modified: trunk/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx	2018-10-18 20:31:59 UTC (rev 48935)
@@ -63,7 +63,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
 %
 % \maketitle
 %
@@ -682,7 +682,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{xtemplate}{2018-09-24}{}
+\ProvidesExplPackage{xtemplate}{2018-10-17}{}
   {L3 Experimental prototype document functions}
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty	2018-10-18 20:31:59 UTC (rev 48935)
@@ -20,7 +20,7 @@
 %% 
 %% File: l3color.dtx Copyright(C) 2017-2018 The LaTeX3 Project
 \RequirePackage{expl3}
-\ProvidesExplPackage{l3color}{2018-09-24}{}
+\ProvidesExplPackage{l3color}{2018-10-17}{}
   {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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty	2018-10-18 20:31:59 UTC (rev 48935)
@@ -27,7 +27,7 @@
 %% 
 %% File: l3draw.dtx Copyright(C) 2018 The LaTeX3 Project
 \RequirePackage{expl3}
-\ProvidesExplPackage{l3draw}{2018-09-24}{}
+\ProvidesExplPackage{l3draw}{2018-10-17}{}
   {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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty	2018-10-18 20:31:59 UTC (rev 48935)
@@ -20,7 +20,7 @@
 %% 
 %% File: l3str-convert.dtx Copyright (C) 2013-2018 The LaTeX3 Project
 \RequirePackage{expl3}
-\ProvidesExplPackage{l3str-convert}{2018-09-24}{}
+\ProvidesExplPackage{l3str-convert}{2018-10-17}{}
   {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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty	2018-10-18 20:31:59 UTC (rev 48935)
@@ -20,7 +20,7 @@
 %% 
 %% File: l3str-format.dtx Copyright (C) 2012-2018 The LaTeX3 Project
 \RequirePackage{expl3}
-\ProvidesExplPackage{l3str-format}{2018-09-24}{}
+\ProvidesExplPackage{l3str-format}{2018-10-17}{}
   {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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty	2018-10-18 20:31:59 UTC (rev 48935)
@@ -20,7 +20,7 @@
 %% 
 %% File: l3sys-shell.dtx Copyright(C) 2018 The LaTeX3 Project
 \RequirePackage{expl3}
-\ProvidesExplPackage{l3sys-shell}{2018-09-24}{}
+\ProvidesExplPackage{l3sys-shell}{2018-10-17}{}
   {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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty	2018-10-18 20:31:59 UTC (rev 48935)
@@ -20,7 +20,7 @@
 %% 
 %% File: xcoffins.dtx Copyright(C) 2010-2012,2014,2016-2018 The LaTeX3 Project
 \RequirePackage{xparse}
-\ProvidesExplPackage{xcoffins}{2018-09-24}{}
+\ProvidesExplPackage{xcoffins}{2018-10-17}{}
   {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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty	2018-10-18 20:31:59 UTC (rev 48935)
@@ -33,7 +33,7 @@
       }%
     \endinput
   }
-\ProvidesExplPackage{l3galley}{2018-09-24}{}
+\ProvidesExplPackage{l3galley}{2018-10-17}{}
   {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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty	2018-10-18 20:31:59 UTC (rev 48935)
@@ -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-09-24}{}
+\ProvidesExplPackage{xgalley}{2018-10-17}{}
   {L3 Experimental galley}
 \RequirePackage{xparse,xtemplate,l3galley}
 \clist_new:N \l__galley_tmpa_clist
@@ -29,13 +29,13 @@
 \DeclareObjectType { measure } { 0 }
 \DeclareTemplateInterface { measure } { absolute } { 0 }
   {
-    left-margin  : length = 0 pt ,
-    right-margin : length = 0 pt
+    left-margin  : length = 0pt ,
+    right-margin : length = 0pt
   }
 \DeclareTemplateInterface { measure } { relative } { 0 }
   {
-    left-margin  : length = 0 pt ,
-    right-margin : length = 0 pt
+    left-margin  : length = 0pt ,
+    right-margin : length = 0pt
   }
 \cs_new_eq:NN \l__galley_left_margin_dim \leftmargin
 \cs_new_eq:NN \l__galley_right_margin_dim \rightmargin
@@ -62,13 +62,13 @@
 \DeclareObjectType { parshape } { 0 }
 \DeclareTemplateInterface { parshape } { hang } { 0 }
   {
-    indent       : length  = 0 pt ,
+    indent       : length  = 0pt  ,
     on-left-side : boolean = true ,
     lines        : integer = 1
   }
 \DeclareTemplateInterface { parshape } { initial } { 0 }
  {
-    indent       : length  = 0 pt ,
+    indent       : length  = 0pt  ,
     on-left-side : boolean = true ,
     lines        : integer = 2
   }
@@ -182,22 +182,22 @@
 \DeclareObjectType { justification } { 0 }
 \DeclareTemplateInterface { justification } { std } { 0 }
   {
-    end-skip           : skip    = 0 pt plus 1 fil ,
-    fixed-word-spacing : boolean = false           ,
-    indent-width       : length                    ,
-    left-skip          : skip    = 0 pt            ,
-    right-skip         : skip    = 0 pt            ,
-    start-skip         : skip    = 0 pt            ,
+    end-skip           : skip    = 0pt plus 1fil ,
+    fixed-word-spacing : boolean = false         ,
+    indent-width       : length                  ,
+    left-skip          : skip    = 0pt           ,
+    right-skip         : skip    = 0pt           ,
+    start-skip         : skip    = 0pt           ,
     stretch-last-line  : boolean = false
   }
 \DeclareTemplateInterface { justification } { single } { 0 }
   {
-    end-skip           : skip    = 0 pt plus 1 fil ,
-    fixed-word-spacing : boolean = false           ,
-    indent-width       : length                    ,
-    left-skip          : skip    = 0 pt            ,
-    right-skip         : skip    = 0 pt            ,
-    start-skip         : skip    = 0 pt            ,
+    end-skip           : skip    = 0pt plus 1fil ,
+    fixed-word-spacing : boolean = false         ,
+    indent-width       : length                  ,
+    left-skip          : skip    = 0pt           ,
+    right-skip         : skip    = 0pt           ,
+    start-skip         : skip    = 0pt           ,
     stretch-last-line  : boolean = false
   }
 \DeclareTemplateCode { justification } { std } { 0 }
@@ -262,36 +262,36 @@
     \skip_set:Nn \@rightskip { \l_galley_line_right_skip }
   }
 \DeclareInstance { justification } { justified } { std }
-  { indent-width = 15 pt }
+  { indent-width = 15pt }
 \UseInstance { justification } { justified }
 \DeclareInstance { justification } { noindent } { std }
   {
-    end-skip     = 15 pt plus 1 fil ,
-    indent-width = 0 pt
+    end-skip     = 15pt plus 1fil ,
+    indent-width = 0pt
   }
 \DeclareInstance { justification } { ragged-left } { std }
   {
-    end-skip           = 0 pt            ,
-    fixed-word-spacing = true            ,
-    indent-width       = 0 pt            ,
-    left-skip          = 0 pt plus 2 em  ,
-    right-skip         = 0 pt
+    end-skip           = 0pt           ,
+    fixed-word-spacing = true          ,
+    indent-width       = 0pt           ,
+    left-skip          = 0pt plus 2em  ,
+    right-skip         = 0pt
   }
 \DeclareInstance { justification } { ragged-right } { std }
   {
-    end-skip           = 0 pt plus 1 fil ,
-    fixed-word-spacing = true            ,
-    indent-width       = 0 pt            ,
-    left-skip          = 0 pt            ,
-    right-skip         = 0 pt plus 2 em
+    end-skip           = 0pt plus 1fil ,
+    fixed-word-spacing = true          ,
+    indent-width       = 0pt           ,
+    left-skip          = 0pt           ,
+    right-skip         = 0pt plus 2em
   }
 \DeclareInstance { justification } { center } { std }
   {
-    end-skip           = 0 pt            ,
-    fixed-word-spacing = true            ,
-    indent-width       = 0 pt            ,
-    left-skip          = 0 pt plus 1 fil ,
-    right-skip         = 0 pt plus 1 fil
+    end-skip           = 0pt           ,
+    fixed-word-spacing = true          ,
+    indent-width       = 0pt           ,
+    left-skip          = 0pt plus 1fil ,
+    right-skip         = 0pt plus 1fil
   }
 \DeclareTemplateInterface { justification } { compound } { 0 }
   {
@@ -314,16 +314,16 @@
 \DeclareObjectType { line-breaking } { 0 }
 \DeclareTemplateInterface { line-breaking } { std } { 0 }
   {
-    badness                : integer = 1000   ,
-    binop-penalty          : integer = 700    ,
-    double-hyphen-demerits : integer = 10 000 ,
-    emergency-stretch      : skip    = 0 pt   ,
-    final-hyphen-demerits  : integer = 5000   ,
-    fuzz                   : length  = 0.1 pt ,
-    line-penalty           : integer = 10     ,
-    mismatch-demerits      : integer = 10 000 ,
-    pretolerance           : integer = 100    ,
-    relation-penalty       : integer = 500    ,
+    badness                : integer = 1000  ,
+    binop-penalty          : integer = 700   ,
+    double-hyphen-demerits : integer = 10000 ,
+    emergency-stretch      : skip    = 0pt   ,
+    final-hyphen-demerits  : integer = 5000  ,
+    fuzz                   : length  = 0.1pt ,
+    line-penalty           : integer = 10    ,
+    mismatch-demerits      : integer = 10000 ,
+    pretolerance           : integer = 100   ,
+    relation-penalty       : integer = 500   ,
     tolerance              : integer = 200
   }
 \DeclareTemplateCode{ line-breaking } { std } { 0 }
@@ -346,15 +346,15 @@
 \DeclareObjectType { paragraph-breaking } { 0 }
 \DeclareTemplateInterface { paragraph-breaking } { std } { 0 }
   {
-    badness               : integer = 1000   ,
-    broken-penalty        : integer = 100    ,
-    club-penalty          : integer = 150    ,
-    display-club-penalty  : integer = 150    ,
-    display-widow-penalty : integer = 150    ,
-    fuzz                  : length  = 0.1 pt ,
-    interline-penalty     : integer = 0      ,
-    post-display-penalty  : integer = 0      ,
-    pre-display-penalty   : integer = 10 000 ,
+    badness               : integer = 1000  ,
+    broken-penalty        : integer = 100   ,
+    club-penalty          : integer = 150   ,
+    display-club-penalty  : integer = 150   ,
+    display-widow-penalty : integer = 150   ,
+    fuzz                  : length  = 0.1pt ,
+    interline-penalty     : integer = 0     ,
+    post-display-penalty  : integer = 0     ,
+    pre-display-penalty   : integer = 10000 ,
     widow-penalty         : integer = 150
   }
 \DeclareTemplateCode { paragraph-breaking } { std } { 0 }

Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex	2018-10-18 20:31:59 UTC (rev 48935)
@@ -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-09-24}%
+\def\ExplFileDate{2018-10-17}%
 \begingroup
   \def\next{\endgroup}%
   \expandafter\ifx\csname PackageError\endcsname\relax
@@ -8770,6 +8770,22 @@
     \tex_afterassignment:D \__peek_true_aux:w
     \cs_set_eq:NN \__peek_tmp:w
   }
+\cs_new_protected:Npn \peek_remove_spaces:n #1
+  {
+    \cs_set:Npx \__peek_false:w { \exp_not:n {#1} }
+    \group_align_safe_begin:
+    \cs_set:Npn \__peek_true_aux:w { \peek_after:Nw \__peek_remove_spaces: }
+    \__peek_true_aux:w
+  }
+\cs_new_protected:Npn \__peek_remove_spaces:
+  {
+    \if_meaning:w \l_peek_token \c_space_token
+      \exp_after:wN \__peek_true_remove:w
+    \else:
+      \group_align_safe_end:
+      \exp_after:wN \__peek_false:w
+    \fi:
+  }
 \cs_new_protected:Npn \__peek_token_generic_aux:NNNTF #1#2#3#4#5
   {
     \group_align_safe_begin:
@@ -8841,82 +8857,43 @@
       \exp_after:wN \__peek_false:w
     \fi:
   }
-\cs_new_protected:Npn \__peek_ignore_spaces_execute_branches:
+\tl_map_inline:nn { { catcode } { charcode } { meaning } }
   {
-    \if_meaning:w \l_peek_token \c_space_token
-      \exp_after:wN \peek_after:Nw
-      \exp_after:wN \__peek_ignore_spaces_execute_branches:
-      \exp:w \exp_end_continue_f:w
-    \else:
-      \exp_after:wN \__peek_execute_branches:
-    \fi:
+    \tl_map_inline:nn { { } { _remove } }
+      {
+        \tl_map_inline:nn { { TF } { T } { F } }
+          {
+            \cs_new_protected:cpx { peek_ #1 ##1 :N ####1 }
+              {
+                \exp_not:c { __peek_token ##1 _generic:NN ####1 }
+                \exp_not:c { __peek_execute_branches_ #1 : }
+              }
+          }
+      }
   }
-\group_begin:
-  \cs_set:Npn \__peek_def:nnnn #1#2#3#4
-    {
-      \__peek_def:nnnnn {#1} {#2} {#3} {#4} { TF }
-      \__peek_def:nnnnn {#1} {#2} {#3} {#4} { T }
-      \__peek_def:nnnnn {#1} {#2} {#3} {#4} { F }
-    }
-  \cs_set:Npn \__peek_def:nnnnn #1#2#3#4#5
-    {
-      \cs_new_protected:cpx { #1 #5 }
-        {
-          \tl_if_empty:nF {#2}
-            { \exp_not:n { \cs_set_eq:NN \__peek_execute_branches: #2 } }
-          \exp_not:c { #3 #5 }
-          \exp_not:n {#4}
-        }
-    }
-  \__peek_def:nnnn { peek_catcode:N }
-    { }
-    { __peek_token_generic:NN }
-    { \__peek_execute_branches_catcode: }
-  \__peek_def:nnnn { peek_catcode_ignore_spaces:N }
-    { \__peek_execute_branches_catcode: }
-    { __peek_token_generic:NN }
-    { \__peek_ignore_spaces_execute_branches: }
-  \__peek_def:nnnn { peek_catcode_remove:N }
-    { }
-    { __peek_token_remove_generic:NN }
-    { \__peek_execute_branches_catcode: }
-  \__peek_def:nnnn { peek_catcode_remove_ignore_spaces:N }
-    { \__peek_execute_branches_catcode: }
-    { __peek_token_remove_generic:NN }
-    { \__peek_ignore_spaces_execute_branches: }
-  \__peek_def:nnnn { peek_charcode:N }
-    { }
-    { __peek_token_generic:NN }
-    { \__peek_execute_branches_charcode: }
-  \__peek_def:nnnn { peek_charcode_ignore_spaces:N }
-    { \__peek_execute_branches_charcode: }
-    { __peek_token_generic:NN }
-    { \__peek_ignore_spaces_execute_branches: }
-  \__peek_def:nnnn { peek_charcode_remove:N }
-    { }
-    { __peek_token_remove_generic:NN }
-    { \__peek_execute_branches_charcode: }
-  \__peek_def:nnnn { peek_charcode_remove_ignore_spaces:N }
-    { \__peek_execute_branches_charcode: }
-    { __peek_token_remove_generic:NN }
-    { \__peek_ignore_spaces_execute_branches: }
-  \__peek_def:nnnn { peek_meaning:N }
-    { }
-    { __peek_token_generic:NN }
-    { \__peek_execute_branches_meaning: }
-  \__peek_def:nnnn { peek_meaning_ignore_spaces:N }
-    { \__peek_execute_branches_meaning: }
-    { __peek_token_generic:NN }
-    { \__peek_ignore_spaces_execute_branches: }
-  \__peek_def:nnnn { peek_meaning_remove:N }
-    { }
-    { __peek_token_remove_generic:NN }
-    { \__peek_execute_branches_meaning: }
-  \__peek_def:nnnn { peek_meaning_remove_ignore_spaces:N }
-    { \__peek_execute_branches_meaning: }
-    { __peek_token_remove_generic:NN }
-    { \__peek_ignore_spaces_execute_branches: }
-\group_end:
+\tl_map_inline:nn
+  {
+    { catcode } { catcode_remove }
+    { charcode } { charcode_remove }
+    { meaning } { meaning_remove }
+  }
+  {
+    \cs_new_protected:cpx { peek_#1_ignore_spaces:NTF } ##1##2##3
+      {
+        \peek_remove_spaces:n
+          { \exp_not:c { peek_#1:NTF } ##1 {##2} {##3} }
+      }
+    \cs_new_protected:cpx { peek_#1_ignore_spaces:NT } ##1##2
+      {
+        \peek_remove_spaces:n
+          { \exp_not:c { peek_#1:NT } ##1 {##2} }
+      }
+    \cs_new_protected:cpx { peek_#1_ignore_spaces:NF } ##1##2
+      {
+        \peek_remove_spaces:n
+          { \exp_not:c { peek_#1:NF } ##1 {##2} }
+      }
+  }
 \exp_args:Nno \use:nn
   { \cs_new:Npn \__peek_get_prefix_arg_replacement:wN #1 }
   { \tl_to_str:n { macro : } #2 -> #3 \q_stop #4 }
@@ -9264,8 +9241,9 @@
       }
   }
 %% File: l3msg.dtx Copyright (C) 2009-2018 The LaTeX3 Project
-\tl_new:N \l__msg_internal_tl
-\bool_new:N \l__msg_line_context_bool
+\tl_new:N \l__msg_tmp_tl
+\str_new:N \l__msg_name_str
+\str_new:N \l__msg_text_str
 \tl_const:Nn \c__msg_text_prefix_tl      { msg~text~>~ }
 \tl_const:Nn \c__msg_more_text_prefix_tl { msg~extra~text~>~ }
 \prg_new_conditional:Npnn \msg_if_exist:nn #1#2 { p , T , F , TF }
@@ -9350,49 +9328,61 @@
     \c_space_tl
     \msg_line_number:
   }
-\cs_new_protected:Npn \msg_interrupt:nnn #1#2#3
+\cs_new_protected:Npn \__msg_interrupt:Nnnn #1#2#3#4
   {
-    \tl_if_empty:nTF {#3}
+    \str_set:Nx \l__msg_text_str { #1 {#2} }
+    \str_set:Nx \l__msg_name_str { \msg_module_name:n {#2} }
+    \tl_if_empty:nTF {#4}
       {
-        \__msg_interrupt_wrap:nn { \\ \c__msg_no_info_text_tl }
-          {#1 \\\\ #2 \\\\ \c__msg_continue_text_tl }
+        \__msg_interrupt_wrap:nnn {#3}
+          { \c__msg_continue_text_tl }
+          { \c__msg_no_info_text_tl }
       }
       {
-        \__msg_interrupt_wrap:nn { \\ #3 }
-          {#1 \\\\ #2 \\\\ \c__msg_help_text_tl }
+        \__msg_interrupt_wrap:nnn {#3}
+          { \c__msg_help_text_tl }
+          {#4}
       }
   }
-\cs_new_protected:Npn \__msg_interrupt_wrap:nn #1#2
+\cs_new_protected:Npn \__msg_interrupt_wrap:nnn #1#2#3
   {
-    \iow_wrap:nnnN {#1} { | ~ } { } \__msg_interrupt_more_text:n
-    \iow_wrap:nnnN {#2} { ! ~ } { } \__msg_interrupt_text:n
+    \iow_wrap:nnnN { \\ #3 } { } { } \__msg_interrupt_more_text:n
+    \group_begin:
+      \int_sub:Nn \l_iow_line_count_int { 2 }
+      \iow_wrap:nxnN { \l__msg_text_str : ~ #1 }
+        {
+          ( \l__msg_name_str )
+          \prg_replicate:nn
+            {
+                \str_count:N \l__msg_text_str
+              - \str_count:N \l__msg_name_str
+              + 2
+            }
+            { ~ }
+        }
+        { } \__msg_interrupt_text:n
+    \iow_wrap:nnnN { \l__msg_tmp_tl \\ \\ #2 } { } { }
+      \__msg_interrupt:n
   }
-\cs_new_protected:Npn \__msg_interrupt_more_text:n #1
+\cs_new_protected:Npn \__msg_interrupt_text:n #1
   {
-    \exp_args:Nx \tex_errhelp:D
-      {
-        |'''''''''''''''''''''''''''''''''''''''''''''''
-        #1 \iow_newline:
-        |...............................................
-      }
+    \group_end:
+    \tl_set:Nn \l__msg_tmp_tl {#1}
   }
+\cs_new_protected:Npn \__msg_interrupt_more_text:n #1
+  { \exp_args:Nx \tex_errhelp:D { #1 \iow_newline: } }
 \group_begin:
-  \char_set_lccode:nn {`\{} {`\ }
-  \char_set_lccode:nn {`\}} {`\ }
-  \char_set_lccode:nn {`\&} {`\!}
+  \char_set_lccode:nn { 38 } { 32 } % &
+  \char_set_lccode:nn { 46 } { 32 } % .
+  \char_set_lccode:nn { 123 } { 32 } % {
+  \char_set_lccode:nn { 125 } { 32 } % }
   \char_set_catcode_active:N \&
 \tex_lowercase:D
   {
     \group_end:
-    \cs_new_protected:Npn \__msg_interrupt_text:n #1
+    \cs_new_protected:Npn \__msg_interrupt:n #1
       {
-        \iow_term:x
-          {
-            \iow_newline:
-            !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-            \iow_newline:
-            !
-          }
+        \iow_term:n { }
         \__kernel_iow_with:Nnn \tex_newlinechar:D { `\^^J }
           {
             \__kernel_iow_with:Nnn \tex_errorcontextlines:D { -1 }
@@ -9414,47 +9404,52 @@
           }
       }
   }
-\cs_new_protected:Npn \msg_log:n #1
-  {
-    \iow_log:n { ................................................. }
-    \iow_wrap:nnnN { . ~ #1} { . ~ } { } \iow_log:n
-    \iow_log:n { ................................................. }
-  }
-\cs_new_protected:Npn \msg_term:n #1
-  {
-    \iow_term:n { ************************************************* }
-    \iow_wrap:nnnN { * ~ #1} { * ~ } { } \iow_term:n
-    \iow_term:n { ************************************************* }
-  }
 \cs_new:Npn \msg_fatal_text:n #1
   {
-    Fatal~#1~error
-    \bool_if:NT \l__msg_line_context_bool { ~ \msg_line_context: }
+    Fatal ~
+    \msg_error_text:n {#1}
   }
 \cs_new:Npn \msg_critical_text:n #1
   {
-    Critical~#1~error
-    \bool_if:NT \l__msg_line_context_bool { ~ \msg_line_context: }
+    Critical ~
+    \msg_error_text:n {#1}
   }
 \cs_new:Npn \msg_error_text:n #1
+  { \__msg_text:nn {#1} { Error } }
+\cs_new:Npn \msg_warning_text:n #1
+  { \__msg_text:nn {#1} { Warning } }
+\cs_new:Npn \msg_info_text:n #1
+  { \__msg_text:nn {#1} { Info } }
+\cs_new:Npn \__msg_text:nn #1#2
   {
-    #1~error
-    \bool_if:NT \l__msg_line_context_bool { ~ \msg_line_context: }
+    \exp_args:Nf \__msg_text:n { \msg_module_type:n {#1} }
+    \msg_module_name:n {#1} ~
+    #2
   }
-\cs_new:Npn \msg_warning_text:n #1
+\cs_new:Npn \__msg_text:n #1
   {
-    #1~warning
-    \bool_if:NT \l__msg_line_context_bool { ~ \msg_line_context: }
+    \tl_if_blank:nF {#1}
+      { #1 ~ }
   }
-\cs_new:Npn \msg_info_text:n #1
+\prop_new:N \g_msg_module_name_prop
+\prop_gput:Nnn \g_msg_module_name_prop { LaTeX } { LaTeX3 }
+\prop_new:N \g_msg_module_type_prop
+\prop_gput:Nnn \g_msg_module_type_prop { LaTeX } { }
+\cs_new:Npn \msg_module_type:n #1
   {
-    #1~info
-    \bool_if:NT \l__msg_line_context_bool { ~ \msg_line_context: }
+    \prop_if_in:NnTF \g_msg_module_type_prop {#1}
+      { \prop_item:Nn \g_msg_module_type_prop {#1} }
+      { Package }
   }
+\cs_new:Npn \msg_module_name:n #1
+  {
+    \prop_if_in:NnTF \g_msg_module_name_prop {#1}
+      { \prop_item:Nn \g_msg_module_name_prop {#1} }
+      {#1}
+  }
 \cs_new:Npn \msg_see_documentation_text:n #1
   {
-    \\ \\ See~the~
-    \str_if_eq:nnTF {#1} { LaTeX } { LaTeX3 } {#1} ~
+    See~the~ \msg_module_name:n {#1} ~
     documentation~for~further~information.
   }
 \group_begin:
@@ -9498,23 +9493,19 @@
     }
   \__msg_class_new:nn { fatal }
     {
-      \msg_interrupt:nnn
-        { \msg_fatal_text:n {#1} : ~ "#2" }
-        {
-          \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6}
-          \msg_see_documentation_text:n {#1}
-        }
+      \__msg_interrupt:Nnnn
+        \msg_fatal_text:n
+        {#1}
+        { \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} }
         { \c__msg_fatal_text_tl }
       \tex_end:D
     }
   \__msg_class_new:nn { critical }
     {
-      \msg_interrupt:nnn
-        { \msg_critical_text:n {#1} : ~ "#2" }
-        {
-          \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6}
-          \msg_see_documentation_text:n {#1}
-        }
+      \__msg_interrupt:Nnnn
+        \msg_critical_text:n
+        {#1}
+        { \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} }
         { \c__msg_critical_text_tl }
       \tex_endinput:D
     }
@@ -9524,12 +9515,10 @@
         { \c__msg_more_text_prefix_tl #1 / #2 }
         {#3} {#4} {#5} {#6}
         {
-          \msg_interrupt:nnn
-            { \msg_error_text:n {#1} : ~ "#2" }
-            {
-              \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6}
-              \msg_see_documentation_text:n {#1}
-            }
+          \__msg_interrupt:Nnnn
+            \msg_error_text:n
+            {#1}
+            { \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} }
        }
     }
   \cs_new_protected:Npn \__msg_error:cnnnnn #1#2#3#4#5#6
@@ -9541,19 +9530,47 @@
   \cs_new:Npn \__msg_no_more_text:nnnn #1#2#3#4 { }
   \__msg_class_new:nn { warning }
     {
-      \msg_term:n
+      \str_set:Nx \l__msg_text_str { \msg_warning_text:n {#1} }
+      \str_set:Nx \l__msg_name_str { \msg_module_name:n {#1} }
+      \iow_term:n { }
+      \iow_wrap:nxnN
         {
-          \msg_warning_text:n {#1} : ~ "#2" \\ \\
+          \l__msg_text_str : ~
           \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6}
         }
+        {
+          ( \l__msg_name_str )
+          \prg_replicate:nn
+            {
+                \str_count:N \l__msg_text_str
+              - \str_count:N \l__msg_name_str
+            }
+            { ~ }
+        }
+        { } \iow_term:n
+      \iow_term:n { }
     }
   \__msg_class_new:nn { info }
     {
-      \msg_log:n
+      \str_set:Nx \l__msg_text_str { \msg_info_text:n {#1} }
+      \str_set:Nx \l__msg_name_str { \msg_module_name:n {#1} }
+      \iow_log:n { }
+      \iow_wrap:nxnN
         {
-          \msg_info_text:n {#1} : ~ "#2" \\ \\
+          \l__msg_text_str : ~
           \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6}
         }
+        {
+          ( \l__msg_name_str )
+          \prg_replicate:nn
+             {
+                 \str_count:N \l__msg_text_str
+               - \str_count:N \l__msg_name_str
+             }
+            { ~ }
+         }
+         { } \iow_log:n
+      \iow_log:n { }
     }
   \__msg_class_new:nn { log }
     {
@@ -9586,13 +9603,13 @@
     {
       \tl_if_empty:nF {#1}
         { \exp_args:No \iow_term:n { \use_none:n #1 } }
-      \tl_set:Nn \l__msg_internal_tl {#2}
+      \tl_set:Nn \l__msg_tmp_tl {#2}
       \__kernel_iow_with:Nnn \tex_newlinechar:D { 10 }
         {
           \__kernel_iow_with:Nnn \tex_errorcontextlines:D { -1 }
             {
               \tex_showtokens:D \exp_after:wN \exp_after:wN \exp_after:wN
-                { \exp_after:wN \l__msg_internal_tl }
+                { \exp_after:wN \l__msg_tmp_tl }
             }
         }
     }
@@ -10148,6 +10165,85 @@
 \cs_generate_variant:Nn \__kernel_msg_expandable_error:nnnnn { nnfff }
 \cs_generate_variant:Nn \__kernel_msg_expandable_error:nnnn { nnff }
 \cs_generate_variant:Nn \__kernel_msg_expandable_error:nnn { nnf }
+\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \iow_log:n }
+\cs_new_protected:Npn \msg_log:n #1
+  {
+    \iow_log:n { ................................................. }
+    \iow_wrap:nnnN { . ~ #1} { . ~ } { } \iow_log:n
+    \iow_log:n { ................................................. }
+  }
+\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \iow_term:n }
+\cs_new_protected:Npn \msg_term:n #1
+  {
+    \iow_term:n { ************************************************* }
+    \iow_wrap:nnnN { * ~ #1} { * ~ } { } \iow_term:n
+    \iow_term:n { ************************************************* }
+  }
+\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { [Defined~error~message] }
+\cs_new_protected:Npn \msg_interrupt:nnn #1#2#3
+  {
+    \tl_if_empty:nTF {#3}
+      {
+        \__msg_old_interrupt_wrap:nn { \\ \c__msg_no_info_text_tl }
+          {#1 \\\\ #2 \\\\ \c__msg_continue_text_tl }
+      }
+      {
+        \__msg_old_interrupt_wrap:nn { \\ #3 }
+          {#1 \\\\ #2 \\\\ \c__msg_help_text_tl }
+      }
+  }
+\cs_new_protected:Npn \__msg_old_interrupt_wrap:nn #1#2
+  {
+    \iow_wrap:nnnN {#1} { | ~ } { } \__msg_old_interrupt_more_text:n
+    \iow_wrap:nnnN {#2} { ! ~ } { } \__msg_old_interrupt_text:n
+  }
+\cs_new_protected:Npn \__msg_old_interrupt_more_text:n #1
+  {
+    \exp_args:Nx \tex_errhelp:D
+      {
+        |'''''''''''''''''''''''''''''''''''''''''''''''
+        #1 \iow_newline:
+        |...............................................
+      }
+  }
+\group_begin:
+  \char_set_lccode:nn {`\{} {`\ }
+  \char_set_lccode:nn {`\}} {`\ }
+  \char_set_lccode:nn {`\&} {`\!}
+  \char_set_catcode_active:N \&
+\tex_lowercase:D
+  {
+    \group_end:
+    \cs_new_protected:Npn \__msg_old_interrupt_text:n #1
+      {
+        \iow_term:x
+          {
+            \iow_newline:
+            !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+            \iow_newline:
+            !
+          }
+        \__kernel_iow_with:Nnn \tex_newlinechar:D { `\^^J }
+          {
+            \__kernel_iow_with:Nnn \tex_errorcontextlines:D { -1 }
+              {
+                \group_begin:
+                  \cs_set_protected:Npn &
+                    {
+                      \tex_errmessage:D
+                        {
+                          #1
+                          \use_none:n
+                            { ............................................ }
+                        }
+                    }
+                  \exp_after:wN
+                \group_end:
+                &
+              }
+          }
+      }
+  }
 %% File: l3file.dtx Copyright (C) 1990-2018 The LaTeX3 Project
 \tl_new:N  \l__ior_internal_tl
 \int_const:Nn \c_term_ior { 16 }
@@ -10476,6 +10572,7 @@
     \exp_args:NNf \group_end:
     #4 { \tl_to_str:N \l__iow_wrap_tl }
   }
+\cs_generate_variant:Nn \iow_wrap:nnnN { nx }
 \cs_new_protected:Npn \__iow_wrap_do:
   {
     \tl_set:Nx \l__iow_wrap_tl
@@ -11766,6 +11863,7 @@
 \bool_new:N \l__keys_no_value_bool
 \bool_new:N \l__keys_only_known_bool
 \tl_new:N \l_keys_path_tl
+\tl_new:N \l__keys_inherit_tl
 \tl_new:N \l__keys_property_tl
 \bool_new:N \l__keys_selective_bool
 \bool_new:N \l__keys_filtered_bool
@@ -12409,6 +12507,7 @@
         \cs_if_exist:cT
           { \c__keys_code_root_tl ##1 / \l_keys_key_tl }
           {
+            \tl_set:Nn \l__keys_inherit_tl {##1}
             \cs:w \c__keys_code_root_tl ##1 / \l_keys_key_tl
               \exp_after:wN \cs_end: \exp_after:wN
               { \l_keys_value_tl }
@@ -12450,9 +12549,19 @@
   }
 \cs_new:Npn \__keys_choice_find:n #1
   {
-    \__keys_execute:nn { \l_keys_path_tl / \__keys_remove_spaces:n {#1} }
-      { \__keys_execute:nn { \l_keys_path_tl / unknown } { } }
+    \tl_if_empty:NTF \l__keys_inherit_tl
+      { \__keys_choice_find:nn { \l_keys_path_tl } {#1} }
+      {
+        \__keys_choice_find:nn
+          { \l__keys_inherit_tl / \l_keys_key_tl } {#1}
+      }
   }
+\cs_new:Npn \__keys_choice_find:nn #1#2
+  {
+    \cs_if_exist:cTF { \c__keys_code_root_tl #1 / \__keys_remove_spaces:n {#2} }
+      { \use:c { \c__keys_code_root_tl #1 / \__keys_remove_spaces:n {#2} } {#2} }
+      { \use:c { \c__keys_code_root_tl #1 / unknown } {#2} }
+  }
 \cs_new:Npn \__keys_multichoice_find:n #1
   { \clist_map_function:nN {#1} \__keys_choice_find:n }
 \cs_new:Npn \__keys_parent:n #1
@@ -20017,7 +20126,7 @@
           \__regex_build_for_cs:n {#1}
           \bool_set_eq:NN \l__regex_saved_success_bool
             \g__regex_success_bool
-          \exp_args:NV \__regex_match:n \l__regex_cs_name_tl
+          \exp_args:NV \__regex_match_cs:n \l__regex_cs_name_tl
           \if_meaning:w \c_true_bool \g__regex_success_bool
             \group_insert_after:N \__regex_break_true:w
           \fi:
@@ -21488,6 +21597,7 @@
   }
 \cs_new_protected:Npn \__regex_build_for_cs:n #1
   {
+    \int_set_eq:NN \l__regex_min_state_int \l__regex_max_active_int
     \int_set_eq:NN \l__regex_max_state_int \l__regex_min_state_int
     \__regex_build_new_state:
     \__regex_build_new_state:
@@ -21867,6 +21977,34 @@
     \__regex_match_once:
   }
 \__kernel_patch:nnNNpn
+  {
+    \__regex_trace_push:nnN { regex } { 1 } \__regex_match_cs:n
+    \__regex_trace:nnx { regex } { 1 } { analyzing~query~token~list }
+  }
+  { \__regex_trace_pop:nnN { regex } { 1 } \__regex_match_cs:n }
+\cs_new_protected:Npn \__regex_match_cs:n #1
+  {
+    \int_zero:N \l__regex_balance_int
+    \int_set:Nn \l__regex_curr_pos_int
+      {
+        \int_max:nn { 2 * \l__regex_max_state_int - \l__regex_min_state_int }
+        { \l__regex_max_pos_int }
+        + 1
+      }
+    \__regex_query_set:nnn { } { -1 } { -2 }
+    \int_set_eq:NN \l__regex_min_pos_int \l__regex_curr_pos_int
+    \str_map_inline:nn {#1}
+      {
+        \__regex_query_set:nnn { \exp_not:n {##1} }
+          { \tl_if_blank:nTF {##1} { 10 } { 12 } }
+          { `##1 }
+      }
+    \int_set_eq:NN \l__regex_max_pos_int \l__regex_curr_pos_int
+    \__regex_query_set:nnn { } { -1 } { -2 }
+    \__regex_match_init:
+    \__regex_match_once:
+  }
+\__kernel_patch:nnNNpn
   { \__regex_trace:nnx { regex } { 1 } { initializing } }
   { }
 \cs_new_protected:Npn \__regex_match_init:
@@ -22850,7 +22988,8 @@
   { Invalid~nested~'\iow_char:N\\c'~escape~in~regular~expression. }
   {
     The~'\iow_char:N\\c'~escape~cannot~be~used~within~
-    a~control~sequence~test~'\iow_char:N\\c{...}'.~
+    a~control~sequence~test~'\iow_char:N\\c{...}'~
+    nor~another~category~test.~
     To~combine~several~category~tests,~use~'\iow_char:N\\c[...]'.
   }
 \__kernel_msg_new:nnnn { kernel } { c-C-invalid }

Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex	2018-10-18 20:31:59 UTC (rev 48935)
@@ -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-09-24}%
+\def\ExplFileDate{2018-10-17}%
 \let\ExplLoaderFileDate\ExplFileDate
 \begingroup
   \def\tempa{LaTeX2e}%

Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.sty	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.sty	2018-10-18 20:31:59 UTC (rev 48935)
@@ -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-09-24}%
+\def\ExplFileDate{2018-10-17}%
 \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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def	2018-10-18 20:31:59 UTC (rev 48935)
@@ -20,7 +20,7 @@
 %% 
 %% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project
 \ProvidesExplFile
-  {l3dvidpfmx.def}{2018-09-24}{}
+  {l3dvidpfmx.def}{2018-10-17}{}
   {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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def	2018-10-18 20:31:59 UTC (rev 48935)
@@ -20,7 +20,7 @@
 %% 
 %% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project
 \ProvidesExplFile
-  {l3dvips.def}{2018-09-24}{}
+  {l3dvips.def}{2018-10-17}{}
   {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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def	2018-10-18 20:31:59 UTC (rev 48935)
@@ -20,7 +20,7 @@
 %% 
 %% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project
 \ProvidesExplFile
-  {l3dvisvgm.def}{2018-09-24}{}
+  {l3dvisvgm.def}{2018-10-17}{}
   {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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def	2018-10-18 20:31:59 UTC (rev 48935)
@@ -20,7 +20,7 @@
 %% 
 %% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project
 \ProvidesExplFile
-  {l3pdfmode.def}{2018-09-24}{}
+  {l3pdfmode.def}{2018-10-17}{}
   {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-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def	2018-10-18 20:31:59 UTC (rev 48935)
@@ -20,7 +20,7 @@
 %% 
 %% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project
 \ProvidesExplFile
-  {l3xdvidpfmx.def}{2018-09-24}{}
+  {l3xdvidpfmx.def}{2018-10-17}{}
   {L3 Experimental driver: xdvipdfmx}
 \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/l3packages/l3keys2e/l3keys2e.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty	2018-10-18 20:31:59 UTC (rev 48935)
@@ -32,7 +32,7 @@
       }%
     \endinput
   }
-\ProvidesExplPackage{l3keys2e}{2018-09-24}{}
+\ProvidesExplPackage{l3keys2e}{2018-10-17}{}
   {LaTeX2e option processing using LaTeX3 keys}
 \cs_generate_variant:Nn \clist_put_right:Nn { Nv }
 \cs_generate_variant:Nn \keys_if_exist:nnT  { nx }

Modified: trunk/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty	2018-10-18 20:31:59 UTC (rev 48935)
@@ -33,7 +33,7 @@
     \endinput
   }
 \RequirePackage{xparse}
-\ProvidesExplPackage{xfp}{2018-09-24}{}
+\ProvidesExplPackage{xfp}{2018-10-17}{}
   {L3 Floating point unit}
 \NewExpandableDocumentCommand \fpeval { m } { \fp_eval:n {#1} }
 \NewExpandableDocumentCommand \inteval { m } { \int_eval:n {#1} }

Modified: trunk/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty	2018-10-18 20:31:59 UTC (rev 48935)
@@ -34,7 +34,7 @@
     \endinput
   }
 \RequirePackage{amstext,graphicx,l3keys2e,textcomp,xparse,xtemplate}
-\ProvidesExplPackage{xfrac}{2018-09-24}{}
+\ProvidesExplPackage{xfrac}{2018-10-17}{}
   {L3 Experimental split-level fractions}
 \keys_define:nn { xfrac }
   {

Modified: trunk/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty	2018-10-18 20:31:59 UTC (rev 48935)
@@ -36,7 +36,7 @@
       }%
     \endinput
   }
-\ProvidesExplPackage{xparse}{2018-09-24}{}
+\ProvidesExplPackage{xparse}{2018-10-17}{}
   {L3 Experimental document command parser}
 \tl_new:N \l__xparse_arg_spec_tl
 \tl_new:N \l__xparse_args_tl
@@ -1293,16 +1293,19 @@
       \group_align_safe_begin:
         \tex_escapechar:D = 92 \scan_stop:
         \tl_clear:N \l__xparse_v_arg_tl
-        \peek_meaning_remove_ignore_spaces:NTF \c_group_begin_token
+        \peek_remove_spaces:n
           {
-            \group_align_safe_end:
-            \__xparse_grab_v_bgroup:
+            \peek_meaning_remove:NTF \c_group_begin_token
+              {
+                \group_align_safe_end:
+                \__xparse_grab_v_bgroup:
+              }
+              {
+                \peek_N_type:TF
+                  { \__xparse_grab_v_aux_test:N }
+                  { \__xparse_grab_v_aux_abort:n { } }
+              }
           }
-          {
-            \peek_N_type:TF
-              { \__xparse_grab_v_aux_test:N }
-              { \__xparse_grab_v_aux_abort:n { } }
-          }
   }
 \cs_new_protected:Npn \__xparse_grab_v_group_end:
   {
@@ -2216,7 +2219,7 @@
 \keys_define:nn { xparse }
   {
     log-declarations .bool_set:N = \l__xparse_log_bool ,
-    log-declarations .initial:n  = true
+    log-declarations .initial:n  = false
   }
 \keys_set:nV { xparse } \l__xparse_options_clist
 \bool_if:NF \l__xparse_log_bool

Modified: trunk/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty	2018-10-18 20:30:37 UTC (rev 48934)
+++ trunk/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty	2018-10-18 20:31:59 UTC (rev 48935)
@@ -36,7 +36,7 @@
       }%
     \endinput
   }
-\ProvidesExplPackage{xtemplate}{2018-09-24}{}
+\ProvidesExplPackage{xtemplate}{2018-10-17}{}
   {L3 Experimental prototype document functions}
 \tl_const:Nn \c__xtemplate_code_root_tl      { template~code~>~ }
 \tl_const:Nn \c__xtemplate_defaults_root_tl  { template~defaults~>~ }



More information about the tex-live-commits mailing list