From f78ef933642c4be9fd32c6ec1d846912f751ae65 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 18 Oct 2018 20:31:59 +0000 Subject: l3 (18oct18) git-svn-id: svn://tug.org/texlive/trunk@48935 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/latex/l3experimental/CHANGELOG.md | 5 +- .../texmf-dist/doc/latex/l3experimental/README.md | 2 +- .../doc/latex/l3experimental/l3color/l3color.pdf | Bin 350188 -> 349976 bytes .../latex/l3experimental/l3draw/l3draw-code.pdf | Bin 606314 -> 606066 bytes .../doc/latex/l3experimental/l3draw/l3draw.pdf | Bin 487369 -> 487158 bytes .../latex/l3experimental/l3str/l3str-convert.pdf | Bin 399860 -> 399655 bytes .../latex/l3experimental/l3str/l3str-format.pdf | Bin 345183 -> 344971 bytes .../l3experimental/l3sys-shell/l3sys-shell.pdf | Bin 312066 -> 311848 bytes .../doc/latex/l3experimental/xcoffins/xcoffins.pdf | Bin 372559 -> 372341 bytes .../doc/latex/l3experimental/xgalley/l3galley.pdf | Bin 386277 -> 386061 bytes .../doc/latex/l3experimental/xgalley/xgalley.pdf | Bin 286103 -> 285875 bytes Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md | 22 +- Master/texmf-dist/doc/latex/l3kernel/README.md | 2 +- Master/texmf-dist/doc/latex/l3kernel/expl3.pdf | Bin 585798 -> 585568 bytes .../texmf-dist/doc/latex/l3kernel/interface3.pdf | Bin 1540000 -> 1540239 bytes .../texmf-dist/doc/latex/l3kernel/interface3.tex | 2 +- .../texmf-dist/doc/latex/l3kernel/l3docstrip.pdf | Bin 263711 -> 263482 bytes .../texmf-dist/doc/latex/l3kernel/l3obsolete.txt | 3 + .../texmf-dist/doc/latex/l3kernel/l3styleguide.pdf | Bin 280441 -> 280206 bytes .../texmf-dist/doc/latex/l3kernel/l3styleguide.tex | 2 +- .../doc/latex/l3kernel/l3syntax-changes.pdf | Bin 228163 -> 227935 bytes .../doc/latex/l3kernel/l3syntax-changes.tex | 2 +- .../doc/latex/l3kernel/l3term-glossary.pdf | Bin 0 -> 186713 bytes .../doc/latex/l3kernel/l3term-glossary.tex | 66 +++ Master/texmf-dist/doc/latex/l3kernel/source3.pdf | Bin 5610578 -> 5620969 bytes Master/texmf-dist/doc/latex/l3kernel/source3.tex | 2 +- .../texmf-dist/doc/latex/l3packages/CHANGELOG.md | 5 +- Master/texmf-dist/doc/latex/l3packages/README.md | 2 +- .../doc/latex/l3packages/l3keys2e/l3keys2e.pdf | Bin 327530 -> 327290 bytes Master/texmf-dist/doc/latex/l3packages/xfp/xfp.pdf | Bin 307716 -> 307490 bytes .../doc/latex/l3packages/xfrac/xfrac.pdf | Bin 481719 -> 481512 bytes .../doc/latex/l3packages/xparse/xparse.pdf | Bin 475425 -> 475212 bytes .../doc/latex/l3packages/xtemplate/xtemplate.pdf | Bin 416780 -> 416571 bytes .../latex/l3experimental/l3color/l3color.dtx | 4 +- .../latex/l3experimental/l3draw/l3draw-boxes.dtx | 2 +- .../latex/l3experimental/l3draw/l3draw-paths.dtx | 2 +- .../latex/l3experimental/l3draw/l3draw-points.dtx | 2 +- .../latex/l3experimental/l3draw/l3draw-scopes.dtx | 2 +- .../l3experimental/l3draw/l3draw-softpath.dtx | 2 +- .../latex/l3experimental/l3draw/l3draw-state.dtx | 2 +- .../l3experimental/l3draw/l3draw-transforms.dtx | 2 +- .../source/latex/l3experimental/l3draw/l3draw.dtx | 4 +- .../latex/l3experimental/l3str/l3str-convert.dtx | 4 +- .../latex/l3experimental/l3str/l3str-format.dtx | 4 +- .../l3experimental/l3sys-shell/l3sys-shell.dtx | 4 +- .../latex/l3experimental/xcoffins/xcoffins.dtx | 4 +- .../latex/l3experimental/xgalley/l3galley.dtx | 4 +- .../latex/l3experimental/xgalley/xgalley.dtx | 232 +++++----- Master/texmf-dist/source/latex/l3kernel/expl3.dtx | 4 +- .../texmf-dist/source/latex/l3kernel/l3alloc.dtx | 2 +- .../texmf-dist/source/latex/l3kernel/l3basics.dtx | 2 +- .../source/latex/l3kernel/l3bootstrap.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3box.dtx | 2 +- .../source/latex/l3kernel/l3candidates.dtx | 10 +- .../texmf-dist/source/latex/l3kernel/l3clist.dtx | 2 +- .../texmf-dist/source/latex/l3kernel/l3coffins.dtx | 2 +- .../source/latex/l3kernel/l3color-base.dtx | 2 +- .../source/latex/l3kernel/l3deprecation.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3doc.dtx | 2 +- .../source/latex/l3kernel/l3docstrip.dtx | 2 +- .../texmf-dist/source/latex/l3kernel/l3drivers.dtx | 12 +- .../texmf-dist/source/latex/l3kernel/l3expan.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3file.dtx | 8 +- .../texmf-dist/source/latex/l3kernel/l3final.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3flag.dtx | 2 +- .../source/latex/l3kernel/l3fp-assign.dtx | 2 +- .../texmf-dist/source/latex/l3kernel/l3fp-aux.dtx | 2 +- .../source/latex/l3kernel/l3fp-basics.dtx | 2 +- .../source/latex/l3kernel/l3fp-convert.dtx | 2 +- .../texmf-dist/source/latex/l3kernel/l3fp-expo.dtx | 2 +- .../source/latex/l3kernel/l3fp-extended.dtx | 2 +- .../source/latex/l3kernel/l3fp-logic.dtx | 2 +- .../source/latex/l3kernel/l3fp-parse.dtx | 2 +- .../source/latex/l3kernel/l3fp-random.dtx | 2 +- .../source/latex/l3kernel/l3fp-round.dtx | 2 +- .../source/latex/l3kernel/l3fp-traps.dtx | 2 +- .../texmf-dist/source/latex/l3kernel/l3fp-trig.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3fp.dtx | 2 +- .../texmf-dist/source/latex/l3kernel/l3fparray.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3int.dtx | 6 +- .../source/latex/l3kernel/l3intarray.dtx | 2 +- .../source/latex/l3kernel/l3kernel-functions.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3keys.dtx | 25 +- .../texmf-dist/source/latex/l3kernel/l3luatex.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3msg.dtx | 473 +++++++++++++-------- .../texmf-dist/source/latex/l3kernel/l3names.dtx | 2 +- .../source/latex/l3kernel/l3oldmodules.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3prg.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3prop.dtx | 2 +- .../texmf-dist/source/latex/l3kernel/l3quark.dtx | 2 +- .../texmf-dist/source/latex/l3kernel/l3regex.dtx | 69 ++- Master/texmf-dist/source/latex/l3kernel/l3seq.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3skip.dtx | 6 +- Master/texmf-dist/source/latex/l3kernel/l3sort.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3str.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3sys.dtx | 2 +- .../source/latex/l3kernel/l3tl-analysis.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3tl.dtx | 2 +- .../texmf-dist/source/latex/l3kernel/l3token.dtx | 196 ++++----- .../texmf-dist/source/latex/l3kernel/l3unicode.dtx | 2 +- .../source/latex/l3packages/l3keys2e/l3keys2e.dtx | 4 +- .../texmf-dist/source/latex/l3packages/xfp/xfp.dtx | 4 +- .../source/latex/l3packages/xfrac/xfrac.dtx | 4 +- .../source/latex/l3packages/xparse/xparse.dtx | 25 +- .../latex/l3packages/xtemplate/xtemplate.dtx | 4 +- .../tex/latex/l3experimental/l3color/l3color.sty | 2 +- .../tex/latex/l3experimental/l3draw/l3draw.sty | 2 +- .../latex/l3experimental/l3str/l3str-convert.sty | 2 +- .../latex/l3experimental/l3str/l3str-format.sty | 2 +- .../l3experimental/l3sys-shell/l3sys-shell.sty | 2 +- .../tex/latex/l3experimental/xcoffins/xcoffins.sty | 2 +- .../tex/latex/l3experimental/xgalley/l3galley.sty | 2 +- .../tex/latex/l3experimental/xgalley/xgalley.sty | 112 ++--- .../texmf-dist/tex/latex/l3kernel/expl3-code.tex | 455 +++++++++++++------- .../tex/latex/l3kernel/expl3-generic.tex | 2 +- Master/texmf-dist/tex/latex/l3kernel/expl3.sty | 2 +- .../texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def | 2 +- Master/texmf-dist/tex/latex/l3kernel/l3dvips.def | 2 +- Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def | 2 +- Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def | 2 +- .../texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def | 2 +- .../tex/latex/l3packages/l3keys2e/l3keys2e.sty | 2 +- Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty | 2 +- .../tex/latex/l3packages/xfrac/xfrac.sty | 2 +- .../tex/latex/l3packages/xparse/xparse.sty | 23 +- .../tex/latex/l3packages/xtemplate/xtemplate.sty | 2 +- 126 files changed, 1172 insertions(+), 777 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf create mode 100644 Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex 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 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3color/l3color.pdf and b/Master/texmf-dist/doc/latex/l3experimental/l3color/l3color.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf and b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf and b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-convert.pdf and b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-convert.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf and b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf and b/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf and b/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf and b/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf and b/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf and b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf and b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf and b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf and b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf and b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf 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 Binary files /dev/null and b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf and b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf and b/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3packages/xfp/xfp.pdf and b/Master/texmf-dist/doc/latex/l3packages/xfp/xfp.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdf and b/Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf and b/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf and b/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf 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} % % \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} % % \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} % % \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} % % \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} % % \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> \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} % %<*dvips> - {l3dvips.def}{2018-09-24}{} + {l3dvips.def}{2018-10-17}{} {L3 Experimental driver: dvips} % %<*dvisvgm> - {l3dvisvgm.def}{2018-09-24}{} + {l3dvisvgm.def}{2018-10-17}{} {L3 Experimental driver: dvisvgm} % %<*pdfmode> - {l3pdfmode.def}{2018-09-24}{} + {l3pdfmode.def}{2018-10-17}{} {L3 Experimental driver: PDF mode} % %<*xdvipdfmx> - {l3xdvidpfmx.def}{2018-09-24}{} + {l3xdvidpfmx.def}{2018-10-17}{} {L3 Experimental driver: xdvipdfmx} % % 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} -% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -% ! -% ! -% ! -% ! -% !............................................... -% \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} -% |''''''''''''''''''''''''''''''''''''''''''''''' -% | -% |............................................... -% \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} -% ................................................. -% . -% ................................................. -% \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} -% ************************************************* -% * -% ************************************************* -% \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 @@ % % \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 } +% +%<*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} % % \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 @@ -4649,6 +4665,34 @@ \@@_match_init: \@@_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 } } { } @@ -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: @@ -21866,6 +21976,34 @@ \__regex_match_init: \__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 } } { } @@ -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~>~ } -- cgit v1.2.3