summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3color/l3color.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx232
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/expl3.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3basics.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3box.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx10
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3clist.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3doc.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3drivers.dtx12
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3expan.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3file.dtx8
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3final.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3flag.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3int.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3keys.dtx25
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3msg.dtx473
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3names.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3oldmodules.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3prg.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3prop.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3quark.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3regex.dtx69
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3seq.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3skip.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3sort.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3str.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3sys.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3tl.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3token.dtx196
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3packages/xfp/xfp.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3packages/xfrac/xfrac.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx25
-rw-r--r--Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx4
72 files changed, 683 insertions, 525 deletions
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3color/l3color.dtx b/Master/texmf-dist/source/latex/l3experimental/l3color/l3color.dtx
index 43a72a987ab..9b5a8e86d5b 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3color/l3color.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3color/l3color.dtx
@@ -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}
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
index 524f062f3eb..fe929c7625f 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
index 5c6bf896ac8..ba6004c0ff2 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
index 0e5e6023a80..e2ad0db7da2 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
index f15dbc4806c..de9f052b120 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
index 459ff820654..297d0f5a1de 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
index e24a60296c0..9c09eb124f8 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
index c32fcaad9f8..1e5081e56bb 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
index 1aa19ef011f..b1d0b8addb6 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
@@ -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}
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx
index e50faa28419..8d15309cc9d 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx
@@ -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}
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
index e312a3bccf0..b5aa091ef8d 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
@@ -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}
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx b/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx
index 1c2968586f1..becaf162e85 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx
@@ -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}
diff --git a/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx b/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
index aad5d3cc4c3..c22edeb862e 100644
--- a/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
@@ -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}
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx b/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
index ef775f7b99d..ced9492972d 100644
--- a/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
@@ -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}
diff --git a/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx b/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
index 2df9b053a3f..5bcfe7c13ed 100644
--- a/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
@@ -45,7 +45,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
@@ -138,14 +138,14 @@
% 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
% 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,36 +417,36 @@
% 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
% 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
% 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,20 +493,20 @@
% 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
% 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 }
diff --git a/Master/texmf-dist/source/latex/l3kernel/expl3.dtx b/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
index 6a33c69b9f0..c2f83fdabe1 100644
--- a/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
@@ -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
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx b/Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx
index a4f8d3facb6..3f92ed856b0 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx b/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
index d6598c6ceda..b31eee286ac 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx b/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
index fb1291e6aca..ea376319c99 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
@@ -138,7 +138,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3box.dtx b/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
index 018145c609a..9eb661c448b 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
index f64f954a9f3..74550e551d4 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
@@ -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}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx b/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
index fabaf99d76b..eb779ff890d 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx b/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
index fcad722f870..09433d79398 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx b/Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx
index c448ec4fa3e..91346fa4a98 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx b/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
index 60294abcc83..ce43bbb6cce 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx b/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
index 9d3746ca2aa..3ed661363c1 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
@@ -77,7 +77,7 @@ and all files in that bundle must be distributed together.
%
% \title{The \cls{l3doc} class}
% \author{\Team}
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
% \maketitle
% \tableofcontents
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx b/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
index 63988b271ac..55ece85e987 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
@@ -61,7 +61,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3drivers.dtx b/Master/texmf-dist/source/latex/l3kernel/l3drivers.dtx
index 4a91ce531b4..7f80280d780 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3drivers.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3drivers.dtx
@@ -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>
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx b/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
index ee757060b76..b3129b353b5 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3file.dtx b/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
index f623ae098d5..3ffb06807bc 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
@@ -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}
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3final.dtx b/Master/texmf-dist/source/latex/l3kernel/l3final.dtx
index 1dc099c4fc8..27e9f49de19 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3final.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3final.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx b/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
index a2d98c2196b..7a7aa2f2d1a 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
index 0bf13a954a2..fdf0ab6b5bf 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
@@ -38,7 +38,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
% \maketitle
%
% \begin{documentation}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx
index 0b1f14d14d3..b5b74e31345 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
index 87736c6204d..1276c509f24 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
@@ -38,7 +38,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
index 08788057eff..187a9884ab4 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
index b38077a3b9f..73e5bdf9c1e 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
@@ -38,7 +38,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
index e25f7126ee6..c0abaac3292 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
@@ -38,7 +38,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
index 120ddd88c41..2ee5607d1cb 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
@@ -38,7 +38,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
index dbffd2bd274..139c1796c05 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
@@ -38,7 +38,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
index bb7e103f25d..1d3608ded74 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
@@ -38,7 +38,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
index 67b5329003b..74c6f56660f 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
index 2225981d426..0f88a31b475 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
@@ -38,7 +38,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
% \maketitle
%
% \begin{documentation}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
index 72b4443b241..d58bc316412 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
@@ -38,7 +38,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
index 2f467b82aa3..1ed6fbdea31 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
index 3d5db336b31..7d113dd974a 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3int.dtx b/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
index cd2321eec95..436ceb13e64 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
@@ -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
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx b/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
index 6f56abc96c7..765cce6bff0 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx b/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
index f0b267e7249..e501001db54 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
index 7195061bfcc..e58e9631338 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
@@ -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}
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx b/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
index 5c5e0bc3c29..b2c17d726ab 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx b/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
index f4351fbf64e..f3b1419ee6b 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
@@ -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,14 +205,34 @@
% 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}
@@ -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,49 +679,70 @@
% 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
% 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,6 +2070,95 @@
% \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}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
index 8f43cdc6c62..e4b98477ed1 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3oldmodules.dtx b/Master/texmf-dist/source/latex/l3kernel/l3oldmodules.dtx
index 4f0c27f31c0..3625d678681 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3oldmodules.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3oldmodules.dtx
@@ -42,7 +42,7 @@
% }
%
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
index b00c6160f26..c455d707c71 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
index 4fad81c25c4..906fec7b9b8 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx b/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
index cde1625bb7b..35567ce4e38 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx b/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
index 66ed9ae168d..20adc9610bd 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
@@ -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 }
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx b/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
index b42a1bef8a2..b749836c506 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx b/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
index 5b129855e33..09d2a3bf906 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
@@ -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}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx b/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
index a38e58b54c2..44cdffbd031 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3str.dtx b/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
index acb496f5c34..6b2ae76fe33 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
index 69a486f90fe..2c0529838ac 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
index 095b7cf25f4..7418e6972f5 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
index 3288659f861..32ca2c782b8 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3token.dtx b/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
index b5ed9de6bf9..5b31b97cbde 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
@@ -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,131 +2389,72 @@
% \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{macrocode}
-\cs_new_protected:Npn \@@_ignore_spaces_execute_branches:
- {
- \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:
- }
-% \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:N,
+% \peek_catcode_remove:N,
+% \peek_charcode:N,
+% \peek_charcode_remove:N,
+% \peek_meaning:N,
+% \peek_meaning_remove:N,
% }
-% With everything in place the definitions can take place. First for
-% category codes.
-% \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: }
-% \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.
+% 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}
- \@@_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: }
+\tl_map_inline:nn { { catcode } { charcode } { meaning } }
+ {
+ \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}[TF]
% {
-% \peek_meaning:N, \peek_meaning_ignore_spaces:N,
-% \peek_meaning_remove:N, \peek_meaning_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
% }
-% Finally for meaning, with the group closed to remove the temporary
-% definition functions.
+% To ignore spaces, remove them using \cs{peek_remove_spaces:n}
+% before running the tests.
% \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:
+\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}
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx b/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
index 7d7b33f10aa..8443b73d647 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
@@ -41,7 +41,7 @@
% }^^A
% }
%
-% \date{Released 2018-09-24}
+% \date{Released 2018-10-17}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx b/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx
index 9df257daa7e..fe159bf510f 100644
--- a/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx
+++ b/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx
@@ -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}
%
diff --git a/Master/texmf-dist/source/latex/l3packages/xfp/xfp.dtx b/Master/texmf-dist/source/latex/l3packages/xfp/xfp.dtx
index 32b7edaa0fd..e0ee190844f 100644
--- a/Master/texmf-dist/source/latex/l3packages/xfp/xfp.dtx
+++ b/Master/texmf-dist/source/latex/l3packages/xfp/xfp.dtx
@@ -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}
%
diff --git a/Master/texmf-dist/source/latex/l3packages/xfrac/xfrac.dtx b/Master/texmf-dist/source/latex/l3packages/xfrac/xfrac.dtx
index 578c69b07c0..92ba3678904 100644
--- a/Master/texmf-dist/source/latex/l3packages/xfrac/xfrac.dtx
+++ b/Master/texmf-dist/source/latex/l3packages/xfrac/xfrac.dtx
@@ -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}
%
diff --git a/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx b/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
index 1e24d659fe7..5ee7072feec 100644
--- a/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
+++ b/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
@@ -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,15 +3133,18 @@
\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_N_type:TF
- { \@@_grab_v_aux_test:N }
- { \@@_grab_v_aux_abort:n { } }
+ \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 { } }
+ }
}
}
\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
diff --git a/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx b/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx
index d0f69f40172..358c3c6ebfe 100644
--- a/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx
+++ b/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx
@@ -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}
%