summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-10-18 20:31:59 +0000
committerKarl Berry <karl@freefriends.org>2018-10-18 20:31:59 +0000
commitf78ef933642c4be9fd32c6ec1d846912f751ae65 (patch)
treebeb179870f7e226889c112201a34ab0ff5dde4c2 /Master/texmf-dist
parentcd9c32dfd264eb7b5dc559f8a8355140b63d12ba (diff)
l3 (18oct18)
git-svn-id: svn://tug.org/texlive/trunk@48935 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md5
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3color/l3color.pdfbin350188 -> 349976 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdfbin606314 -> 606066 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdfbin487369 -> 487158 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-convert.pdfbin399860 -> 399655 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdfbin345183 -> 344971 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdfbin312066 -> 311848 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdfbin372559 -> 372341 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdfbin386277 -> 386061 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdfbin286103 -> 285875 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md22
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/expl3.pdfbin585798 -> 585568 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/interface3.pdfbin1540000 -> 1540239 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/interface3.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdfbin263711 -> 263482 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt3
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdfbin280441 -> 280206 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdfbin228163 -> 227935 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdfbin0 -> 186713 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex66
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3.pdfbin5610578 -> 5620969 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/CHANGELOG.md5
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdfbin327530 -> 327290 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/xfp/xfp.pdfbin307716 -> 307490 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdfbin481719 -> 481512 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdfbin475425 -> 475212 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdfbin416780 -> 416571 bytes
-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
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty112
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex455
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3dvips.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty23
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty2
126 files changed, 1172 insertions, 777 deletions
diff --git a/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
index 0872d5d5987..fd105b2f089 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
@@ -7,6 +7,8 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2018-10-17]
+
## [2018-08-24]
### Fixed
@@ -40,7 +42,8 @@ this project uses date-based 'snapshot' version identifiers.
- New `l3color` module using `xcolor`-like expression syntax
- New `l3draw` module, based on `pgf` layer of the TikZ system
-[Unreleased]: https://github.com/latex3/latex3/compare/2018-08-24...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2018-10-17...HEAD
+[2018-10-17]: https://github.com/latex3/latex3/compare/2018-08-24...2018-10-17
[2018-08-24]: https://github.com/latex3/latex3/compare/2018-08-23...2018-08-24
[2018-08-23]: https://github.com/latex3/latex3/compare/2018-05-12...2018-08-23
[2018-05-12]: https://github.com/latex3/latex3/compare/2018-04-30...2018-05-12
diff --git a/Master/texmf-dist/doc/latex/l3experimental/README.md b/Master/texmf-dist/doc/latex/l3experimental/README.md
index e91b6691ddc..70dcebf419b 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/README.md
+++ b/Master/texmf-dist/doc/latex/l3experimental/README.md
@@ -1,7 +1,7 @@
Experimental LaTeX3 Concepts
============================
-Release 2018-09-24
+Release 2018-10-17
Overview
--------
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3color/l3color.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3color/l3color.pdf
index fd3edb9f7d9..f769c1bde14 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3color/l3color.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3color/l3color.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
index 1a2ddaea853..8787a01703b 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
index 3fc8e7c22e0..60fdc0bc9aa 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-convert.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-convert.pdf
index 3209a2b9363..c2937d88641 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-convert.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-convert.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
index a3b2a3a3a77..5c27bdb510f 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf
index a07a0431659..e875e5f10b5 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf b/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
index 836311aa868..cd43d91743d 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf b/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
index 4006170adbb..4c4f6ed7dd7 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf b/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
index dec184fa904..ec03883e45f 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
index 74cae992223..9bdbba05256 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
@@ -7,6 +7,25 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2018-10-17]
+
+### Added
+
+- `\g_msg_module_documentation_prop` (see #471)
+- `\peek_remove_spaces:n`
+
+### Changed
+
+- Formatting of messages: now follows LaTeX2e closely
+
+### Deprecated
+
+- `\mg_interrupt:nn`, `\msg_log:n` and `\msg_term:n`
+
+### Fixed
+
+- Handling of inheritance for choice keys (fixes #483)
+
## [2018-09-24]
### Added
@@ -132,7 +151,8 @@ this project uses date-based 'snapshot' version identifiers.
- Step func­tions have been added for dim vari­ables,
e.g. `\dim_step_in­line:nnnn`
-[Unreleased]: https://github.com/latex3/latex3/compare/2018-09-24...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2018-10-17...HEAD
+[2018-10-17]: https://github.com/latex3/latex3/compare/2018-09-24...2018-10-17
[2018-09-24]: https://github.com/latex3/latex3/compare/2018-08-23...2018-09-24
[2018-08-23]: https://github.com/latex3/latex3/compare/2018-06-14...2018-08-23
[2018-06-14]: https://github.com/latex3/latex3/compare/2018-06-01...2018-06-14
diff --git a/Master/texmf-dist/doc/latex/l3kernel/README.md b/Master/texmf-dist/doc/latex/l3kernel/README.md
index cffeac226da..eae32997835 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/README.md
+++ b/Master/texmf-dist/doc/latex/l3kernel/README.md
@@ -1,7 +1,7 @@
LaTeX3 Programming Conventions
==============================
-Release 2018-09-24
+Release 2018-10-17
Overview
--------
diff --git a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
index 65f783650a1..1805af57210 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
index 3999dc41595..0e55ab55e2b 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/interface3.tex b/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
index 78c842c30de..5bd356ce4f2 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
@@ -52,7 +52,7 @@
{latex-team@latex-project.org}%
}%
}
-\date{Released 2018-09-24}
+\date{Released 2018-10-17}
\pagenumbering{roman}
\maketitle
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
index 6e3edeb6b72..86b5ca13155 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt b/Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt
index 3c588bc2c7d..ae7702a693a 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt
@@ -57,6 +57,9 @@ Function Expires end
\lua_now_x:n 2019
\lua_shipout_x:n 2019
\luatex_...:D 2019
+\msg_interrupt:nn 2019
+\msg_log:n 2019
+\msg_term:n 2019
\pdftex_...:D 2019
\ptex_...:D 2019
\sort_ordered: 2018
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
index e6b0833b309..891b39e2bbd 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
index 028983a08d6..fdc77300174 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
@@ -30,7 +30,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2018-09-24}
+\date{Released 2018-10-17}
\begin{document}
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
index c24846b8f88..507b2bf359e 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
index cd358e22c13..2d3fc33f81e 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
@@ -30,7 +30,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2018-09-24}
+\date{Released 2018-10-17}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
new file mode 100644
index 00000000000..61cb1df0104
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
new file mode 100644
index 00000000000..62c252eccff
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
@@ -0,0 +1,66 @@
+\iffalse meta-comment
+
+File l3term-glossary.tex Copyright (C) 2018 The LaTeX3 Project
+
+It may be distributed and/or modified under the conditions of the
+LaTeX Project Public License (LPPL), either version 1.3c of this
+license or (at your option) any later version. The latest version
+of this license is in the file
+
+ https://www.latex-project.org/lppl.txt
+
+This file is part of the "l3kernel bundle" (The Work in LPPL)
+and all files in that bundle must be distributed together.
+
+The released version of this bundle is available from CTAN.
+
+\fi
+
+\documentclass{l3doc}
+
+
+\title{%
+ Glossary of \TeX{} terms used to describe \LaTeX3 functions%
+}
+\author{%
+ The \LaTeX3 Project\thanks
+ {%
+ E-mail:
+ \href{mailto:latex-team@latex-project.org}%
+ {latex-team@latex-project.org}%
+ }%
+}
+\date{Released 2018-10-17}
+
+\newcommand{\TF}{\textit{(TF)}}
+
+\begin{document}
+
+\maketitle
+
+This file describes aspects of \TeX{} programming that are relevant in a
+\LaTeX3 context.
+
+\section{Reading a file}
+
+Tokenization.
+
+Treatment of spaces, such as the trap that \verb|\~~a| is equivalent to
+\verb|\~a| in expl syntax, or that \verb|~| fails to give a space at the
+beginning of a line.
+
+\section{Structure of tokens}
+
+Copy there the section ``Description of all possible tokens'' from \texttt{l3token}.
+
+\section{Quantities and expressions}
+
+Integer denotations, dimensions, glue (including \texttt{fill} and \texttt{true pt} and the like).
+
+Syntax of integer expressions (including the trap that \verb|-(1+2)| is invalid).
+
+\section{\LaTeX3 terms}
+
+Terms like ``intexpr'' or ``seq var'' used in syntax blocks.
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
index e4a8705a614..5fd475da9ab 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3.tex b/Master/texmf-dist/doc/latex/l3kernel/source3.tex
index 13049df1544..db412524bf8 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/source3.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/source3.tex
@@ -51,7 +51,7 @@
{latex-team@latex-project.org}%
}%
}
-\date{Released 2018-09-24}
+\date{Released 2018-10-17}
\pagenumbering{roman}
\maketitle
diff --git a/Master/texmf-dist/doc/latex/l3packages/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3packages/CHANGELOG.md
index 55103cde3d6..39d33fd744a 100644
--- a/Master/texmf-dist/doc/latex/l3packages/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/l3packages/CHANGELOG.md
@@ -7,6 +7,8 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2018-10-17]
+
## [2018-09-24]
### Changed
@@ -30,7 +32,8 @@ this project uses date-based 'snapshot' version identifiers.
- Switch to ISO date format
- Improve cross-module use of internal functions
-[Unreleased]: https://github.com/latex3/latex3/compare/2018-09-24...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2018-10-17...HEAD
+[2018-10-17]: https://github.com/latex3/latex3/compare/2018-09-24...2018-10-17
[2018-09-24]: https://github.com/latex3/latex3/compare/2018-08-23...2018-09-24
[2018-08-23]: https://github.com/latex3/latex3/compare/2018-05-12...2018-08-23
[2018-05-12]: https://github.com/latex3/latex3/compare/2018-04-30...2018-05-12
diff --git a/Master/texmf-dist/doc/latex/l3packages/README.md b/Master/texmf-dist/doc/latex/l3packages/README.md
index 5835416a462..85cd6f4efcb 100644
--- a/Master/texmf-dist/doc/latex/l3packages/README.md
+++ b/Master/texmf-dist/doc/latex/l3packages/README.md
@@ -1,7 +1,7 @@
LaTeX3 High-Level Concepts
==========================
-Release 2018-09-24
+Release 2018-10-17
Overview
--------
diff --git a/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf b/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf
index a1d0786d810..f4a6c655436 100644
--- a/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf
+++ b/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3packages/xfp/xfp.pdf b/Master/texmf-dist/doc/latex/l3packages/xfp/xfp.pdf
index a48ec1caade..a852074a3f8 100644
--- a/Master/texmf-dist/doc/latex/l3packages/xfp/xfp.pdf
+++ b/Master/texmf-dist/doc/latex/l3packages/xfp/xfp.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdf b/Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdf
index 918b1ad2852..43d928c33be 100644
--- a/Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdf
+++ b/Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf b/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf
index 23d001fb6ea..10c9fc8d507 100644
--- a/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf
+++ b/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf b/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf
index 2e5b49bf900..d3b3b29f671 100644
--- a/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf
+++ b/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf
Binary files differ
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}
%
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
index 9e62cd77840..4754353e190 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
@@ -20,7 +20,7 @@
%%
%% File: l3color.dtx Copyright(C) 2017-2018 The LaTeX3 Project
\RequirePackage{expl3}
-\ProvidesExplPackage{l3color}{2018-09-24}{}
+\ProvidesExplPackage{l3color}{2018-10-17}{}
{L3 Experimental color support}
\tl_new:N \l__color_tmp_tl
\prg_new_conditional:Npnn \__color_if_defined:n #1 { T, F, TF }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
index 985a7416322..259c3b24cb9 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
@@ -27,7 +27,7 @@
%%
%% File: l3draw.dtx Copyright(C) 2018 The LaTeX3 Project
\RequirePackage{expl3}
-\ProvidesExplPackage{l3draw}{2018-09-24}{}
+\ProvidesExplPackage{l3draw}{2018-10-17}{}
{L3 Experimental core drawing support}
\RequirePackage { l3color }
%% File: l3draw-boxes.dtx Copyright(C) 2018 The LaTeX3 Project
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty
index 28eb1833ecf..d726025fd56 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty
@@ -20,7 +20,7 @@
%%
%% File: l3str-convert.dtx Copyright (C) 2013-2018 The LaTeX3 Project
\RequirePackage{expl3}
-\ProvidesExplPackage{l3str-convert}{2018-09-24}{}
+\ProvidesExplPackage{l3str-convert}{2018-10-17}{}
{L3 Experimental string encoding conversions}
\cs_if_exist:NF \use_ii_i:nn
{ \cs_new:Npn \use_ii_i:nn #1#2 { #2 #1 } }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
index 973b4a66596..6ef7b439c39 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
@@ -20,7 +20,7 @@
%%
%% File: l3str-format.dtx Copyright (C) 2012-2018 The LaTeX3 Project
\RequirePackage{expl3}
-\ProvidesExplPackage{l3str-format}{2018-09-24}{}
+\ProvidesExplPackage{l3str-format}{2018-10-17}{}
{L3 Experimental string formatting}
\cs_generate_variant:Nn \use:nn { nf }
\cs_generate_variant:Nn \use:nnn { fnf }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty b/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
index c4dab988943..2e6fd685666 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
@@ -20,7 +20,7 @@
%%
%% File: l3sys-shell.dtx Copyright(C) 2018 The LaTeX3 Project
\RequirePackage{expl3}
-\ProvidesExplPackage{l3sys-shell}{2018-09-24}{}
+\ProvidesExplPackage{l3sys-shell}{2018-10-17}{}
{L3 Experimental system shell functions}
\cs_new:Npn \__sys_path_to_win:n #1
{
diff --git a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
index c15b03bd533..ec312d9174f 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
@@ -20,7 +20,7 @@
%%
%% File: xcoffins.dtx Copyright(C) 2010-2012,2014,2016-2018 The LaTeX3 Project
\RequirePackage{xparse}
-\ProvidesExplPackage{xcoffins}{2018-09-24}{}
+\ProvidesExplPackage{xcoffins}{2018-10-17}{}
{L3 Experimental design level coffins}
\keys_define:nn { coffin }
{
diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
index 34d34ae22ec..9addf19a18d 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
@@ -33,7 +33,7 @@
}%
\endinput
}
-\ProvidesExplPackage{l3galley}{2018-09-24}{}
+\ProvidesExplPackage{l3galley}{2018-10-17}{}
{L3 Experimental galley code}
\int_new:N \l__galley_tmp_int
\seq_new:N \g__galley_tmpa_seq
diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
index feec640d3b3..79e2bc7cfe2 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
@@ -21,7 +21,7 @@
%% File: xgalley.dtx Copyright (C) 1999-2001, 2004-2009 Frank Mittelbach
%% (C) 2010-2012,2014,2016-2018 The LaTeX3 Project
\RequirePackage{xparse}
-\ProvidesExplPackage{xgalley}{2018-09-24}{}
+\ProvidesExplPackage{xgalley}{2018-10-17}{}
{L3 Experimental galley}
\RequirePackage{xparse,xtemplate,l3galley}
\clist_new:N \l__galley_tmpa_clist
@@ -29,13 +29,13 @@
\DeclareObjectType { measure } { 0 }
\DeclareTemplateInterface { measure } { absolute } { 0 }
{
- left-margin : length = 0 pt ,
- right-margin : length = 0 pt
+ left-margin : length = 0pt ,
+ right-margin : length = 0pt
}
\DeclareTemplateInterface { measure } { relative } { 0 }
{
- left-margin : length = 0 pt ,
- right-margin : length = 0 pt
+ left-margin : length = 0pt ,
+ right-margin : length = 0pt
}
\cs_new_eq:NN \l__galley_left_margin_dim \leftmargin
\cs_new_eq:NN \l__galley_right_margin_dim \rightmargin
@@ -62,13 +62,13 @@
\DeclareObjectType { parshape } { 0 }
\DeclareTemplateInterface { parshape } { hang } { 0 }
{
- indent : length = 0 pt ,
+ indent : length = 0pt ,
on-left-side : boolean = true ,
lines : integer = 1
}
\DeclareTemplateInterface { parshape } { initial } { 0 }
{
- indent : length = 0 pt ,
+ indent : length = 0pt ,
on-left-side : boolean = true ,
lines : integer = 2
}
@@ -182,22 +182,22 @@
\DeclareObjectType { justification } { 0 }
\DeclareTemplateInterface { justification } { std } { 0 }
{
- end-skip : skip = 0 pt plus 1 fil ,
- fixed-word-spacing : boolean = false ,
- indent-width : length ,
- left-skip : skip = 0 pt ,
- right-skip : skip = 0 pt ,
- start-skip : skip = 0 pt ,
+ end-skip : skip = 0pt plus 1fil ,
+ fixed-word-spacing : boolean = false ,
+ indent-width : length ,
+ left-skip : skip = 0pt ,
+ right-skip : skip = 0pt ,
+ start-skip : skip = 0pt ,
stretch-last-line : boolean = false
}
\DeclareTemplateInterface { justification } { single } { 0 }
{
- end-skip : skip = 0 pt plus 1 fil ,
- fixed-word-spacing : boolean = false ,
- indent-width : length ,
- left-skip : skip = 0 pt ,
- right-skip : skip = 0 pt ,
- start-skip : skip = 0 pt ,
+ end-skip : skip = 0pt plus 1fil ,
+ fixed-word-spacing : boolean = false ,
+ indent-width : length ,
+ left-skip : skip = 0pt ,
+ right-skip : skip = 0pt ,
+ start-skip : skip = 0pt ,
stretch-last-line : boolean = false
}
\DeclareTemplateCode { justification } { std } { 0 }
@@ -262,36 +262,36 @@
\skip_set:Nn \@rightskip { \l_galley_line_right_skip }
}
\DeclareInstance { justification } { justified } { std }
- { indent-width = 15 pt }
+ { indent-width = 15pt }
\UseInstance { justification } { justified }
\DeclareInstance { justification } { noindent } { std }
{
- end-skip = 15 pt plus 1 fil ,
- indent-width = 0 pt
+ end-skip = 15pt plus 1fil ,
+ indent-width = 0pt
}
\DeclareInstance { justification } { ragged-left } { std }
{
- end-skip = 0 pt ,
- fixed-word-spacing = true ,
- indent-width = 0 pt ,
- left-skip = 0 pt plus 2 em ,
- right-skip = 0 pt
+ end-skip = 0pt ,
+ fixed-word-spacing = true ,
+ indent-width = 0pt ,
+ left-skip = 0pt plus 2em ,
+ right-skip = 0pt
}
\DeclareInstance { justification } { ragged-right } { std }
{
- end-skip = 0 pt plus 1 fil ,
- fixed-word-spacing = true ,
- indent-width = 0 pt ,
- left-skip = 0 pt ,
- right-skip = 0 pt plus 2 em
+ end-skip = 0pt plus 1fil ,
+ fixed-word-spacing = true ,
+ indent-width = 0pt ,
+ left-skip = 0pt ,
+ right-skip = 0pt plus 2em
}
\DeclareInstance { justification } { center } { std }
{
- end-skip = 0 pt ,
- fixed-word-spacing = true ,
- indent-width = 0 pt ,
- left-skip = 0 pt plus 1 fil ,
- right-skip = 0 pt plus 1 fil
+ end-skip = 0pt ,
+ fixed-word-spacing = true ,
+ indent-width = 0pt ,
+ left-skip = 0pt plus 1fil ,
+ right-skip = 0pt plus 1fil
}
\DeclareTemplateInterface { justification } { compound } { 0 }
{
@@ -314,16 +314,16 @@
\DeclareObjectType { line-breaking } { 0 }
\DeclareTemplateInterface { line-breaking } { std } { 0 }
{
- badness : integer = 1000 ,
- binop-penalty : integer = 700 ,
- double-hyphen-demerits : integer = 10 000 ,
- emergency-stretch : skip = 0 pt ,
- final-hyphen-demerits : integer = 5000 ,
- fuzz : length = 0.1 pt ,
- line-penalty : integer = 10 ,
- mismatch-demerits : integer = 10 000 ,
- pretolerance : integer = 100 ,
- relation-penalty : integer = 500 ,
+ badness : integer = 1000 ,
+ binop-penalty : integer = 700 ,
+ double-hyphen-demerits : integer = 10000 ,
+ emergency-stretch : skip = 0pt ,
+ final-hyphen-demerits : integer = 5000 ,
+ fuzz : length = 0.1pt ,
+ line-penalty : integer = 10 ,
+ mismatch-demerits : integer = 10000 ,
+ pretolerance : integer = 100 ,
+ relation-penalty : integer = 500 ,
tolerance : integer = 200
}
\DeclareTemplateCode{ line-breaking } { std } { 0 }
@@ -346,15 +346,15 @@
\DeclareObjectType { paragraph-breaking } { 0 }
\DeclareTemplateInterface { paragraph-breaking } { std } { 0 }
{
- badness : integer = 1000 ,
- broken-penalty : integer = 100 ,
- club-penalty : integer = 150 ,
- display-club-penalty : integer = 150 ,
- display-widow-penalty : integer = 150 ,
- fuzz : length = 0.1 pt ,
- interline-penalty : integer = 0 ,
- post-display-penalty : integer = 0 ,
- pre-display-penalty : integer = 10 000 ,
+ badness : integer = 1000 ,
+ broken-penalty : integer = 100 ,
+ club-penalty : integer = 150 ,
+ display-club-penalty : integer = 150 ,
+ display-widow-penalty : integer = 150 ,
+ fuzz : length = 0.1pt ,
+ interline-penalty : integer = 0 ,
+ post-display-penalty : integer = 0 ,
+ pre-display-penalty : integer = 10000 ,
widow-penalty : integer = 150
}
\DeclareTemplateCode { paragraph-breaking } { std } { 0 }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index cf7dd09bf49..2dc9acf97aa 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -63,7 +63,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx Copyright (C) 1990-2018 The LaTeX3 Project
-\def\ExplFileDate{2018-09-24}%
+\def\ExplFileDate{2018-10-17}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -8770,6 +8770,22 @@
\tex_afterassignment:D \__peek_true_aux:w
\cs_set_eq:NN \__peek_tmp:w
}
+\cs_new_protected:Npn \peek_remove_spaces:n #1
+ {
+ \cs_set:Npx \__peek_false:w { \exp_not:n {#1} }
+ \group_align_safe_begin:
+ \cs_set:Npn \__peek_true_aux:w { \peek_after:Nw \__peek_remove_spaces: }
+ \__peek_true_aux:w
+ }
+\cs_new_protected:Npn \__peek_remove_spaces:
+ {
+ \if_meaning:w \l_peek_token \c_space_token
+ \exp_after:wN \__peek_true_remove:w
+ \else:
+ \group_align_safe_end:
+ \exp_after:wN \__peek_false:w
+ \fi:
+ }
\cs_new_protected:Npn \__peek_token_generic_aux:NNNTF #1#2#3#4#5
{
\group_align_safe_begin:
@@ -8841,82 +8857,43 @@
\exp_after:wN \__peek_false:w
\fi:
}
-\cs_new_protected:Npn \__peek_ignore_spaces_execute_branches:
+\tl_map_inline:nn { { catcode } { charcode } { meaning } }
{
- \if_meaning:w \l_peek_token \c_space_token
- \exp_after:wN \peek_after:Nw
- \exp_after:wN \__peek_ignore_spaces_execute_branches:
- \exp:w \exp_end_continue_f:w
- \else:
- \exp_after:wN \__peek_execute_branches:
- \fi:
+ \tl_map_inline:nn { { } { _remove } }
+ {
+ \tl_map_inline:nn { { TF } { T } { F } }
+ {
+ \cs_new_protected:cpx { peek_ #1 ##1 :N ####1 }
+ {
+ \exp_not:c { __peek_token ##1 _generic:NN ####1 }
+ \exp_not:c { __peek_execute_branches_ #1 : }
+ }
+ }
+ }
+ }
+\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} }
+ }
}
-\group_begin:
- \cs_set:Npn \__peek_def:nnnn #1#2#3#4
- {
- \__peek_def:nnnnn {#1} {#2} {#3} {#4} { TF }
- \__peek_def:nnnnn {#1} {#2} {#3} {#4} { T }
- \__peek_def:nnnnn {#1} {#2} {#3} {#4} { F }
- }
- \cs_set:Npn \__peek_def:nnnnn #1#2#3#4#5
- {
- \cs_new_protected:cpx { #1 #5 }
- {
- \tl_if_empty:nF {#2}
- { \exp_not:n { \cs_set_eq:NN \__peek_execute_branches: #2 } }
- \exp_not:c { #3 #5 }
- \exp_not:n {#4}
- }
- }
- \__peek_def:nnnn { peek_catcode:N }
- { }
- { __peek_token_generic:NN }
- { \__peek_execute_branches_catcode: }
- \__peek_def:nnnn { peek_catcode_ignore_spaces:N }
- { \__peek_execute_branches_catcode: }
- { __peek_token_generic:NN }
- { \__peek_ignore_spaces_execute_branches: }
- \__peek_def:nnnn { peek_catcode_remove:N }
- { }
- { __peek_token_remove_generic:NN }
- { \__peek_execute_branches_catcode: }
- \__peek_def:nnnn { peek_catcode_remove_ignore_spaces:N }
- { \__peek_execute_branches_catcode: }
- { __peek_token_remove_generic:NN }
- { \__peek_ignore_spaces_execute_branches: }
- \__peek_def:nnnn { peek_charcode:N }
- { }
- { __peek_token_generic:NN }
- { \__peek_execute_branches_charcode: }
- \__peek_def:nnnn { peek_charcode_ignore_spaces:N }
- { \__peek_execute_branches_charcode: }
- { __peek_token_generic:NN }
- { \__peek_ignore_spaces_execute_branches: }
- \__peek_def:nnnn { peek_charcode_remove:N }
- { }
- { __peek_token_remove_generic:NN }
- { \__peek_execute_branches_charcode: }
- \__peek_def:nnnn { peek_charcode_remove_ignore_spaces:N }
- { \__peek_execute_branches_charcode: }
- { __peek_token_remove_generic:NN }
- { \__peek_ignore_spaces_execute_branches: }
- \__peek_def:nnnn { peek_meaning:N }
- { }
- { __peek_token_generic:NN }
- { \__peek_execute_branches_meaning: }
- \__peek_def:nnnn { peek_meaning_ignore_spaces:N }
- { \__peek_execute_branches_meaning: }
- { __peek_token_generic:NN }
- { \__peek_ignore_spaces_execute_branches: }
- \__peek_def:nnnn { peek_meaning_remove:N }
- { }
- { __peek_token_remove_generic:NN }
- { \__peek_execute_branches_meaning: }
- \__peek_def:nnnn { peek_meaning_remove_ignore_spaces:N }
- { \__peek_execute_branches_meaning: }
- { __peek_token_remove_generic:NN }
- { \__peek_ignore_spaces_execute_branches: }
-\group_end:
\exp_args:Nno \use:nn
{ \cs_new:Npn \__peek_get_prefix_arg_replacement:wN #1 }
{ \tl_to_str:n { macro : } #2 -> #3 \q_stop #4 }
@@ -9264,8 +9241,9 @@
}
}
%% File: l3msg.dtx Copyright (C) 2009-2018 The LaTeX3 Project
-\tl_new:N \l__msg_internal_tl
-\bool_new:N \l__msg_line_context_bool
+\tl_new:N \l__msg_tmp_tl
+\str_new:N \l__msg_name_str
+\str_new:N \l__msg_text_str
\tl_const:Nn \c__msg_text_prefix_tl { msg~text~>~ }
\tl_const:Nn \c__msg_more_text_prefix_tl { msg~extra~text~>~ }
\prg_new_conditional:Npnn \msg_if_exist:nn #1#2 { p , T , F , TF }
@@ -9350,49 +9328,61 @@
\c_space_tl
\msg_line_number:
}
-\cs_new_protected:Npn \msg_interrupt:nnn #1#2#3
+\cs_new_protected:Npn \__msg_interrupt:Nnnn #1#2#3#4
{
- \tl_if_empty:nTF {#3}
+ \str_set:Nx \l__msg_text_str { #1 {#2} }
+ \str_set:Nx \l__msg_name_str { \msg_module_name:n {#2} }
+ \tl_if_empty:nTF {#4}
{
- \__msg_interrupt_wrap:nn { \\ \c__msg_no_info_text_tl }
- {#1 \\\\ #2 \\\\ \c__msg_continue_text_tl }
+ \__msg_interrupt_wrap:nnn {#3}
+ { \c__msg_continue_text_tl }
+ { \c__msg_no_info_text_tl }
}
{
- \__msg_interrupt_wrap:nn { \\ #3 }
- {#1 \\\\ #2 \\\\ \c__msg_help_text_tl }
+ \__msg_interrupt_wrap:nnn {#3}
+ { \c__msg_help_text_tl }
+ {#4}
}
}
-\cs_new_protected:Npn \__msg_interrupt_wrap:nn #1#2
+\cs_new_protected:Npn \__msg_interrupt_wrap:nnn #1#2#3
{
- \iow_wrap:nnnN {#1} { | ~ } { } \__msg_interrupt_more_text:n
- \iow_wrap:nnnN {#2} { ! ~ } { } \__msg_interrupt_text:n
+ \iow_wrap:nnnN { \\ #3 } { } { } \__msg_interrupt_more_text:n
+ \group_begin:
+ \int_sub:Nn \l_iow_line_count_int { 2 }
+ \iow_wrap:nxnN { \l__msg_text_str : ~ #1 }
+ {
+ ( \l__msg_name_str )
+ \prg_replicate:nn
+ {
+ \str_count:N \l__msg_text_str
+ - \str_count:N \l__msg_name_str
+ + 2
+ }
+ { ~ }
+ }
+ { } \__msg_interrupt_text:n
+ \iow_wrap:nnnN { \l__msg_tmp_tl \\ \\ #2 } { } { }
+ \__msg_interrupt:n
}
-\cs_new_protected:Npn \__msg_interrupt_more_text:n #1
+\cs_new_protected:Npn \__msg_interrupt_text:n #1
{
- \exp_args:Nx \tex_errhelp:D
- {
- |'''''''''''''''''''''''''''''''''''''''''''''''
- #1 \iow_newline:
- |...............................................
- }
+ \group_end:
+ \tl_set:Nn \l__msg_tmp_tl {#1}
}
+\cs_new_protected:Npn \__msg_interrupt_more_text:n #1
+ { \exp_args:Nx \tex_errhelp:D { #1 \iow_newline: } }
\group_begin:
- \char_set_lccode:nn {`\{} {`\ }
- \char_set_lccode:nn {`\}} {`\ }
- \char_set_lccode:nn {`\&} {`\!}
+ \char_set_lccode:nn { 38 } { 32 } % &
+ \char_set_lccode:nn { 46 } { 32 } % .
+ \char_set_lccode:nn { 123 } { 32 } % {
+ \char_set_lccode:nn { 125 } { 32 } % }
\char_set_catcode_active:N \&
\tex_lowercase:D
{
\group_end:
- \cs_new_protected:Npn \__msg_interrupt_text:n #1
+ \cs_new_protected:Npn \__msg_interrupt:n #1
{
- \iow_term:x
- {
- \iow_newline:
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- \iow_newline:
- !
- }
+ \iow_term:n { }
\__kernel_iow_with:Nnn \tex_newlinechar:D { `\^^J }
{
\__kernel_iow_with:Nnn \tex_errorcontextlines:D { -1 }
@@ -9414,47 +9404,52 @@
}
}
}
-\cs_new_protected:Npn \msg_log:n #1
- {
- \iow_log:n { ................................................. }
- \iow_wrap:nnnN { . ~ #1} { . ~ } { } \iow_log:n
- \iow_log:n { ................................................. }
- }
-\cs_new_protected:Npn \msg_term:n #1
- {
- \iow_term:n { ************************************************* }
- \iow_wrap:nnnN { * ~ #1} { * ~ } { } \iow_term:n
- \iow_term:n { ************************************************* }
- }
\cs_new:Npn \msg_fatal_text:n #1
{
- Fatal~#1~error
- \bool_if:NT \l__msg_line_context_bool { ~ \msg_line_context: }
+ Fatal ~
+ \msg_error_text:n {#1}
}
\cs_new:Npn \msg_critical_text:n #1
{
- Critical~#1~error
- \bool_if:NT \l__msg_line_context_bool { ~ \msg_line_context: }
+ Critical ~
+ \msg_error_text:n {#1}
}
\cs_new:Npn \msg_error_text:n #1
+ { \__msg_text:nn {#1} { Error } }
+\cs_new:Npn \msg_warning_text:n #1
+ { \__msg_text:nn {#1} { Warning } }
+\cs_new:Npn \msg_info_text:n #1
+ { \__msg_text:nn {#1} { Info } }
+\cs_new:Npn \__msg_text:nn #1#2
{
- #1~error
- \bool_if:NT \l__msg_line_context_bool { ~ \msg_line_context: }
+ \exp_args:Nf \__msg_text:n { \msg_module_type:n {#1} }
+ \msg_module_name:n {#1} ~
+ #2
}
-\cs_new:Npn \msg_warning_text:n #1
+\cs_new:Npn \__msg_text:n #1
{
- #1~warning
- \bool_if:NT \l__msg_line_context_bool { ~ \msg_line_context: }
+ \tl_if_blank:nF {#1}
+ { #1 ~ }
}
-\cs_new:Npn \msg_info_text:n #1
+\prop_new:N \g_msg_module_name_prop
+\prop_gput:Nnn \g_msg_module_name_prop { LaTeX } { LaTeX3 }
+\prop_new:N \g_msg_module_type_prop
+\prop_gput:Nnn \g_msg_module_type_prop { LaTeX } { }
+\cs_new:Npn \msg_module_type:n #1
{
- #1~info
- \bool_if:NT \l__msg_line_context_bool { ~ \msg_line_context: }
+ \prop_if_in:NnTF \g_msg_module_type_prop {#1}
+ { \prop_item:Nn \g_msg_module_type_prop {#1} }
+ { Package }
+ }
+\cs_new:Npn \msg_module_name:n #1
+ {
+ \prop_if_in:NnTF \g_msg_module_name_prop {#1}
+ { \prop_item:Nn \g_msg_module_name_prop {#1} }
+ {#1}
}
\cs_new:Npn \msg_see_documentation_text:n #1
{
- \\ \\ See~the~
- \str_if_eq:nnTF {#1} { LaTeX } { LaTeX3 } {#1} ~
+ See~the~ \msg_module_name:n {#1} ~
documentation~for~further~information.
}
\group_begin:
@@ -9498,23 +9493,19 @@
}
\__msg_class_new:nn { fatal }
{
- \msg_interrupt:nnn
- { \msg_fatal_text:n {#1} : ~ "#2" }
- {
- \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6}
- \msg_see_documentation_text:n {#1}
- }
+ \__msg_interrupt:Nnnn
+ \msg_fatal_text:n
+ {#1}
+ { \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} }
{ \c__msg_fatal_text_tl }
\tex_end:D
}
\__msg_class_new:nn { critical }
{
- \msg_interrupt:nnn
- { \msg_critical_text:n {#1} : ~ "#2" }
- {
- \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6}
- \msg_see_documentation_text:n {#1}
- }
+ \__msg_interrupt:Nnnn
+ \msg_critical_text:n
+ {#1}
+ { \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} }
{ \c__msg_critical_text_tl }
\tex_endinput:D
}
@@ -9524,12 +9515,10 @@
{ \c__msg_more_text_prefix_tl #1 / #2 }
{#3} {#4} {#5} {#6}
{
- \msg_interrupt:nnn
- { \msg_error_text:n {#1} : ~ "#2" }
- {
- \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6}
- \msg_see_documentation_text:n {#1}
- }
+ \__msg_interrupt:Nnnn
+ \msg_error_text:n
+ {#1}
+ { \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} }
}
}
\cs_new_protected:Npn \__msg_error:cnnnnn #1#2#3#4#5#6
@@ -9541,19 +9530,47 @@
\cs_new:Npn \__msg_no_more_text:nnnn #1#2#3#4 { }
\__msg_class_new:nn { warning }
{
- \msg_term:n
+ \str_set:Nx \l__msg_text_str { \msg_warning_text:n {#1} }
+ \str_set:Nx \l__msg_name_str { \msg_module_name:n {#1} }
+ \iow_term:n { }
+ \iow_wrap:nxnN
{
- \msg_warning_text:n {#1} : ~ "#2" \\ \\
+ \l__msg_text_str : ~
\use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6}
}
+ {
+ ( \l__msg_name_str )
+ \prg_replicate:nn
+ {
+ \str_count:N \l__msg_text_str
+ - \str_count:N \l__msg_name_str
+ }
+ { ~ }
+ }
+ { } \iow_term:n
+ \iow_term:n { }
}
\__msg_class_new:nn { info }
{
- \msg_log:n
+ \str_set:Nx \l__msg_text_str { \msg_info_text:n {#1} }
+ \str_set:Nx \l__msg_name_str { \msg_module_name:n {#1} }
+ \iow_log:n { }
+ \iow_wrap:nxnN
{
- \msg_info_text:n {#1} : ~ "#2" \\ \\
+ \l__msg_text_str : ~
\use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6}
}
+ {
+ ( \l__msg_name_str )
+ \prg_replicate:nn
+ {
+ \str_count:N \l__msg_text_str
+ - \str_count:N \l__msg_name_str
+ }
+ { ~ }
+ }
+ { } \iow_log:n
+ \iow_log:n { }
}
\__msg_class_new:nn { log }
{
@@ -9586,13 +9603,13 @@
{
\tl_if_empty:nF {#1}
{ \exp_args:No \iow_term:n { \use_none:n #1 } }
- \tl_set:Nn \l__msg_internal_tl {#2}
+ \tl_set:Nn \l__msg_tmp_tl {#2}
\__kernel_iow_with:Nnn \tex_newlinechar:D { 10 }
{
\__kernel_iow_with:Nnn \tex_errorcontextlines:D { -1 }
{
\tex_showtokens:D \exp_after:wN \exp_after:wN \exp_after:wN
- { \exp_after:wN \l__msg_internal_tl }
+ { \exp_after:wN \l__msg_tmp_tl }
}
}
}
@@ -10148,6 +10165,85 @@
\cs_generate_variant:Nn \__kernel_msg_expandable_error:nnnnn { nnfff }
\cs_generate_variant:Nn \__kernel_msg_expandable_error:nnnn { nnff }
\cs_generate_variant:Nn \__kernel_msg_expandable_error:nnn { nnf }
+\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \iow_log:n }
+\cs_new_protected:Npn \msg_log:n #1
+ {
+ \iow_log:n { ................................................. }
+ \iow_wrap:nnnN { . ~ #1} { . ~ } { } \iow_log:n
+ \iow_log:n { ................................................. }
+ }
+\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \iow_term:n }
+\cs_new_protected:Npn \msg_term:n #1
+ {
+ \iow_term:n { ************************************************* }
+ \iow_wrap:nnnN { * ~ #1} { * ~ } { } \iow_term:n
+ \iow_term:n { ************************************************* }
+ }
+\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { [Defined~error~message] }
+\cs_new_protected:Npn \msg_interrupt:nnn #1#2#3
+ {
+ \tl_if_empty:nTF {#3}
+ {
+ \__msg_old_interrupt_wrap:nn { \\ \c__msg_no_info_text_tl }
+ {#1 \\\\ #2 \\\\ \c__msg_continue_text_tl }
+ }
+ {
+ \__msg_old_interrupt_wrap:nn { \\ #3 }
+ {#1 \\\\ #2 \\\\ \c__msg_help_text_tl }
+ }
+ }
+\cs_new_protected:Npn \__msg_old_interrupt_wrap:nn #1#2
+ {
+ \iow_wrap:nnnN {#1} { | ~ } { } \__msg_old_interrupt_more_text:n
+ \iow_wrap:nnnN {#2} { ! ~ } { } \__msg_old_interrupt_text:n
+ }
+\cs_new_protected:Npn \__msg_old_interrupt_more_text:n #1
+ {
+ \exp_args:Nx \tex_errhelp:D
+ {
+ |'''''''''''''''''''''''''''''''''''''''''''''''
+ #1 \iow_newline:
+ |...............................................
+ }
+ }
+\group_begin:
+ \char_set_lccode:nn {`\{} {`\ }
+ \char_set_lccode:nn {`\}} {`\ }
+ \char_set_lccode:nn {`\&} {`\!}
+ \char_set_catcode_active:N \&
+\tex_lowercase:D
+ {
+ \group_end:
+ \cs_new_protected:Npn \__msg_old_interrupt_text:n #1
+ {
+ \iow_term:x
+ {
+ \iow_newline:
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ \iow_newline:
+ !
+ }
+ \__kernel_iow_with:Nnn \tex_newlinechar:D { `\^^J }
+ {
+ \__kernel_iow_with:Nnn \tex_errorcontextlines:D { -1 }
+ {
+ \group_begin:
+ \cs_set_protected:Npn &
+ {
+ \tex_errmessage:D
+ {
+ #1
+ \use_none:n
+ { ............................................ }
+ }
+ }
+ \exp_after:wN
+ \group_end:
+ &
+ }
+ }
+ }
+ }
%% File: l3file.dtx Copyright (C) 1990-2018 The LaTeX3 Project
\tl_new:N \l__ior_internal_tl
\int_const:Nn \c_term_ior { 16 }
@@ -10476,6 +10572,7 @@
\exp_args:NNf \group_end:
#4 { \tl_to_str:N \l__iow_wrap_tl }
}
+\cs_generate_variant:Nn \iow_wrap:nnnN { nx }
\cs_new_protected:Npn \__iow_wrap_do:
{
\tl_set:Nx \l__iow_wrap_tl
@@ -11766,6 +11863,7 @@
\bool_new:N \l__keys_no_value_bool
\bool_new:N \l__keys_only_known_bool
\tl_new:N \l_keys_path_tl
+\tl_new:N \l__keys_inherit_tl
\tl_new:N \l__keys_property_tl
\bool_new:N \l__keys_selective_bool
\bool_new:N \l__keys_filtered_bool
@@ -12409,6 +12507,7 @@
\cs_if_exist:cT
{ \c__keys_code_root_tl ##1 / \l_keys_key_tl }
{
+ \tl_set:Nn \l__keys_inherit_tl {##1}
\cs:w \c__keys_code_root_tl ##1 / \l_keys_key_tl
\exp_after:wN \cs_end: \exp_after:wN
{ \l_keys_value_tl }
@@ -12450,8 +12549,18 @@
}
\cs_new:Npn \__keys_choice_find:n #1
{
- \__keys_execute:nn { \l_keys_path_tl / \__keys_remove_spaces:n {#1} }
- { \__keys_execute:nn { \l_keys_path_tl / unknown } { } }
+ \tl_if_empty:NTF \l__keys_inherit_tl
+ { \__keys_choice_find:nn { \l_keys_path_tl } {#1} }
+ {
+ \__keys_choice_find:nn
+ { \l__keys_inherit_tl / \l_keys_key_tl } {#1}
+ }
+ }
+\cs_new:Npn \__keys_choice_find:nn #1#2
+ {
+ \cs_if_exist:cTF { \c__keys_code_root_tl #1 / \__keys_remove_spaces:n {#2} }
+ { \use:c { \c__keys_code_root_tl #1 / \__keys_remove_spaces:n {#2} } {#2} }
+ { \use:c { \c__keys_code_root_tl #1 / unknown } {#2} }
}
\cs_new:Npn \__keys_multichoice_find:n #1
{ \clist_map_function:nN {#1} \__keys_choice_find:n }
@@ -20017,7 +20126,7 @@
\__regex_build_for_cs:n {#1}
\bool_set_eq:NN \l__regex_saved_success_bool
\g__regex_success_bool
- \exp_args:NV \__regex_match:n \l__regex_cs_name_tl
+ \exp_args:NV \__regex_match_cs:n \l__regex_cs_name_tl
\if_meaning:w \c_true_bool \g__regex_success_bool
\group_insert_after:N \__regex_break_true:w
\fi:
@@ -21488,6 +21597,7 @@
}
\cs_new_protected:Npn \__regex_build_for_cs:n #1
{
+ \int_set_eq:NN \l__regex_min_state_int \l__regex_max_active_int
\int_set_eq:NN \l__regex_max_state_int \l__regex_min_state_int
\__regex_build_new_state:
\__regex_build_new_state:
@@ -21867,6 +21977,34 @@
\__regex_match_once:
}
\__kernel_patch:nnNNpn
+ {
+ \__regex_trace_push:nnN { regex } { 1 } \__regex_match_cs:n
+ \__regex_trace:nnx { regex } { 1 } { analyzing~query~token~list }
+ }
+ { \__regex_trace_pop:nnN { regex } { 1 } \__regex_match_cs:n }
+\cs_new_protected:Npn \__regex_match_cs:n #1
+ {
+ \int_zero:N \l__regex_balance_int
+ \int_set:Nn \l__regex_curr_pos_int
+ {
+ \int_max:nn { 2 * \l__regex_max_state_int - \l__regex_min_state_int }
+ { \l__regex_max_pos_int }
+ + 1
+ }
+ \__regex_query_set:nnn { } { -1 } { -2 }
+ \int_set_eq:NN \l__regex_min_pos_int \l__regex_curr_pos_int
+ \str_map_inline:nn {#1}
+ {
+ \__regex_query_set:nnn { \exp_not:n {##1} }
+ { \tl_if_blank:nTF {##1} { 10 } { 12 } }
+ { `##1 }
+ }
+ \int_set_eq:NN \l__regex_max_pos_int \l__regex_curr_pos_int
+ \__regex_query_set:nnn { } { -1 } { -2 }
+ \__regex_match_init:
+ \__regex_match_once:
+ }
+\__kernel_patch:nnNNpn
{ \__regex_trace:nnx { regex } { 1 } { initializing } }
{ }
\cs_new_protected:Npn \__regex_match_init:
@@ -22850,7 +22988,8 @@
{ Invalid~nested~'\iow_char:N\\c'~escape~in~regular~expression. }
{
The~'\iow_char:N\\c'~escape~cannot~be~used~within~
- a~control~sequence~test~'\iow_char:N\\c{...}'.~
+ a~control~sequence~test~'\iow_char:N\\c{...}'~
+ nor~another~category~test.~
To~combine~several~category~tests,~use~'\iow_char:N\\c[...]'.
}
\__kernel_msg_new:nnnn { kernel } { c-C-invalid }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
index f2b84f74d19..d3418218871 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx Copyright (C) 1990-2018 The LaTeX3 Project
-\def\ExplFileDate{2018-09-24}%
+\def\ExplFileDate{2018-10-17}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\def\tempa{LaTeX2e}%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
index 5252ad1cbe0..01e187d6e17 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx Copyright (C) 1990-2018 The LaTeX3 Project
-\def\ExplFileDate{2018-09-24}%
+\def\ExplFileDate{2018-10-17}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
index cf97021907a..b198d0276eb 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
@@ -20,7 +20,7 @@
%%
%% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project
\ProvidesExplFile
- {l3dvidpfmx.def}{2018-09-24}{}
+ {l3dvidpfmx.def}{2018-10-17}{}
{L3 Experimental driver: dvipdfmx}
\cs_new_eq:NN \__driver_literal:e \tex_special:D
\cs_new_protected:Npn \__driver_literal:n #1
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
index 6c8e6f89389..66e022fa358 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
@@ -20,7 +20,7 @@
%%
%% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project
\ProvidesExplFile
- {l3dvips.def}{2018-09-24}{}
+ {l3dvips.def}{2018-10-17}{}
{L3 Experimental driver: dvips}
\cs_new_eq:NN \__driver_literal:e \tex_special:D
\cs_new_protected:Npn \__driver_literal:n #1
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def
index 467baf479fb..2b962c28bd7 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def
@@ -20,7 +20,7 @@
%%
%% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project
\ProvidesExplFile
- {l3dvisvgm.def}{2018-09-24}{}
+ {l3dvisvgm.def}{2018-10-17}{}
{L3 Experimental driver: dvisvgm}
\cs_new_eq:NN \__driver_literal:e \tex_special:D
\cs_new_protected:Npn \__driver_literal:n #1
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
index 0435270fb92..b298d97cb86 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
@@ -20,7 +20,7 @@
%%
%% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project
\ProvidesExplFile
- {l3pdfmode.def}{2018-09-24}{}
+ {l3pdfmode.def}{2018-10-17}{}
{L3 Experimental driver: PDF mode}
\cs_new_eq:NN \__driver_literal:e \tex_special:D
\cs_new_protected:Npn \__driver_literal:n #1
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def
index d1e6c9c80d0..61064499c28 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def
@@ -20,7 +20,7 @@
%%
%% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project
\ProvidesExplFile
- {l3xdvidpfmx.def}{2018-09-24}{}
+ {l3xdvidpfmx.def}{2018-10-17}{}
{L3 Experimental driver: xdvipdfmx}
\cs_new_eq:NN \__driver_literal:e \tex_special:D
\cs_new_protected:Npn \__driver_literal:n #1
diff --git a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
index 00afbb1d7aa..313a87f39e9 100644
--- a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
@@ -32,7 +32,7 @@
}%
\endinput
}
-\ProvidesExplPackage{l3keys2e}{2018-09-24}{}
+\ProvidesExplPackage{l3keys2e}{2018-10-17}{}
{LaTeX2e option processing using LaTeX3 keys}
\cs_generate_variant:Nn \clist_put_right:Nn { Nv }
\cs_generate_variant:Nn \keys_if_exist:nnT { nx }
diff --git a/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty b/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty
index 3c2cf74d5ca..a7d23a886ac 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty
@@ -33,7 +33,7 @@
\endinput
}
\RequirePackage{xparse}
-\ProvidesExplPackage{xfp}{2018-09-24}{}
+\ProvidesExplPackage{xfp}{2018-10-17}{}
{L3 Floating point unit}
\NewExpandableDocumentCommand \fpeval { m } { \fp_eval:n {#1} }
\NewExpandableDocumentCommand \inteval { m } { \int_eval:n {#1} }
diff --git a/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty b/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty
index 12cac2d08a9..3d9c05410ca 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty
@@ -34,7 +34,7 @@
\endinput
}
\RequirePackage{amstext,graphicx,l3keys2e,textcomp,xparse,xtemplate}
-\ProvidesExplPackage{xfrac}{2018-09-24}{}
+\ProvidesExplPackage{xfrac}{2018-10-17}{}
{L3 Experimental split-level fractions}
\keys_define:nn { xfrac }
{
diff --git a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
index 4c7ef80fcfb..df25d3823f7 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
@@ -36,7 +36,7 @@
}%
\endinput
}
-\ProvidesExplPackage{xparse}{2018-09-24}{}
+\ProvidesExplPackage{xparse}{2018-10-17}{}
{L3 Experimental document command parser}
\tl_new:N \l__xparse_arg_spec_tl
\tl_new:N \l__xparse_args_tl
@@ -1293,15 +1293,18 @@
\group_align_safe_begin:
\tex_escapechar:D = 92 \scan_stop:
\tl_clear:N \l__xparse_v_arg_tl
- \peek_meaning_remove_ignore_spaces:NTF \c_group_begin_token
+ \peek_remove_spaces:n
{
- \group_align_safe_end:
- \__xparse_grab_v_bgroup:
- }
- {
- \peek_N_type:TF
- { \__xparse_grab_v_aux_test:N }
- { \__xparse_grab_v_aux_abort:n { } }
+ \peek_meaning_remove:NTF \c_group_begin_token
+ {
+ \group_align_safe_end:
+ \__xparse_grab_v_bgroup:
+ }
+ {
+ \peek_N_type:TF
+ { \__xparse_grab_v_aux_test:N }
+ { \__xparse_grab_v_aux_abort:n { } }
+ }
}
}
\cs_new_protected:Npn \__xparse_grab_v_group_end:
@@ -2216,7 +2219,7 @@
\keys_define:nn { xparse }
{
log-declarations .bool_set:N = \l__xparse_log_bool ,
- log-declarations .initial:n = true
+ log-declarations .initial:n = false
}
\keys_set:nV { xparse } \l__xparse_options_clist
\bool_if:NF \l__xparse_log_bool
diff --git a/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty b/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty
index b233a8b362f..b6fa39fa49d 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty
@@ -36,7 +36,7 @@
}%
\endinput
}
-\ProvidesExplPackage{xtemplate}{2018-09-24}{}
+\ProvidesExplPackage{xtemplate}{2018-10-17}{}
{L3 Experimental prototype document functions}
\tl_const:Nn \c__xtemplate_code_root_tl { template~code~>~ }
\tl_const:Nn \c__xtemplate_defaults_root_tl { template~defaults~>~ }