summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-06-18 21:08:59 +0000
committerKarl Berry <karl@freefriends.org>2020-06-18 21:08:59 +0000
commit700211024849d94938004ff91e0a3928b1578e98 (patch)
treea577e99bdf389f5e3a443561cb0162e4a13cd8ad /Master
parent0e574a322aeab7e91f801eec35e961965f597e7a (diff)
l3 (18jun20)
git-svn-id: svn://tug.org/texlive/trunk@55586 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md10
-rw-r--r--Master/texmf-dist/doc/latex/l3backend/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md9
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdfbin314256 -> 314598 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3cctab/l3cctab.pdfbin358345 -> 358686 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3color/l3color.pdfbin353218 -> 350143 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdfbin625435 -> 625280 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdfbin491347 -> 491676 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdfbin363101 -> 363448 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf-code.pdfbin278441 -> 278911 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf.pdfbin350783 -> 351127 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdfbin344892 -> 345232 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdfbin311722 -> 312062 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdfbin372892 -> 373229 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdfbin385746 -> 386087 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdfbin285677 -> 286017 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md14
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/expl3.pdfbin584997 -> 585320 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/interface3.pdfbin1546695 -> 1545894 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/interface3.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdfbin263284 -> 263622 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news.pdfbin379248 -> 379248 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news01.pdfbin113529 -> 113529 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news02.pdfbin140776 -> 140776 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news03.pdfbin144784 -> 144784 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news04.pdfbin107117 -> 107117 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news05.pdfbin105090 -> 105090 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news06.pdfbin140797 -> 140797 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news07.pdfbin119092 -> 119092 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news08.pdfbin152413 -> 152413 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news09.pdfbin235323 -> 235323 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news10.pdfbin147096 -> 147096 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news11.pdfbin165956 -> 165956 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news12.pdfbin199153 -> 199153 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdfbin75645 -> 75645 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdfbin280028 -> 280369 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdfbin228323 -> 228663 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdfbin186544 -> 186883 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3.pdfbin5902693 -> 5904224 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3.tex2
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx12
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx118
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx190
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3cctab/l3cctab.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3color/l3color.dtx113
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx31
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3pdf/l3pdf.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/expl3.dtx189
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3basics.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3box.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx156
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3clist.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx30
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3debug.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx16
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3doc.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3expan.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3file.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3final.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3flag.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3int.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3keys.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3msg.dtx92
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3names.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3prg.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3prop.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3quark.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3regex.dtx7
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3seq.dtx66
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3skip.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3sort.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3str.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3sys.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3tl.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3token.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx2
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def86
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def90
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def77
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def99
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-xdvipdfmx.def86
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty86
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty23
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3pdf/l3pdf.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex143
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.ltx73
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.sty81
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3deprecation.def4
149 files changed, 993 insertions, 1106 deletions
diff --git a/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md
index 4a6efebd0ae..cbd624e0249 100644
--- a/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md
@@ -6,6 +6,13 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2020-06-18]
+
+### Changed
+- Use `scn` operator for separations
+- Internal color model
+- Internal performance enhancements
+
## [2020-06-03]
### Fixed
@@ -76,7 +83,8 @@ this project uses date-based 'snapshot' version identifiers.
- Include `l3backend` in file names
- Moved backend code to internal for each 'parent' module
-[Unreleased]: https://github.com/latex3/latex3/compare/2020-06-03...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2020-06-18...HEAD
+[2020-06-18]: https://github.com/latex3/latex3/compare/2020-06-03...2020-06-18
[2020-06-03]: https://github.com/latex3/latex3/compare/2020-05-05...2020-06-03
[2020-05-05]: https://github.com/latex3/latex3/compare/2020-03-12...2020-05-05
[2020-03-12]: https://github.com/latex3/latex3/compare/2020-02-23...2020-03-12
diff --git a/Master/texmf-dist/doc/latex/l3backend/README.md b/Master/texmf-dist/doc/latex/l3backend/README.md
index f03026a6b9d..ca54b35b762 100644
--- a/Master/texmf-dist/doc/latex/l3backend/README.md
+++ b/Master/texmf-dist/doc/latex/l3backend/README.md
@@ -1,7 +1,7 @@
LaTeX3 Backend Drivers
======================
-Release 2020-06-03
+Release 2020-06-18
This package forms parts of `expl3`, and contains the code used to interface
with backends (drivers) across the `expl3` codebase. The functions here are
diff --git a/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
index 8cf1b5f051c..51a104cc702 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
@@ -7,6 +7,12 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2020-06-18]
+
+### Changed
+- Internal color model
+- Internal performance enhancements
+
## [2020-06-03]
### Added
@@ -133,7 +139,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/2020-06-03...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2020-06-18...HEAD
+[2020-06-18]: https://github.com/latex3/latex3/compare/2020-06-03...2020-06-18
[2020-06-03]: https://github.com/latex3/latex3/compare/2020-05-18...2020-06-03
[2020-05-18]: https://github.com/latex3/latex3/compare/2020-01-12...2020-05-18
[2020-01-12]: https://github.com/latex3/latex3/compare/2019-10-11...2020-01-12
diff --git a/Master/texmf-dist/doc/latex/l3experimental/README.md b/Master/texmf-dist/doc/latex/l3experimental/README.md
index 8685228cdd6..0a3e72316ac 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 2020-06-03
+Release 2020-06-18
Overview
--------
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
index 72a9adab9ba..6bfd2b5bec2 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3cctab/l3cctab.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3cctab/l3cctab.pdf
index e9dee318078..bd691d11c23 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3cctab/l3cctab.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3cctab/l3cctab.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3color/l3color.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3color/l3color.pdf
index e0b2ff021e5..26f43e0e1fa 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3color/l3color.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3color/l3color.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
index 47c0c200a81..33c81c0e605 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
index dd2d618601e..a6cc55f4a1f 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf
index 527b5d58a37..976b88a4187 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf-code.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf-code.pdf
index 582ddc3f736..82a5328fd33 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf-code.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf.pdf
index 3c59c400f01..aa887d20cca 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
index 916298e8827..df3c4c985af 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf
index 6f82415408a..7a311ee7017 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf b/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
index 3a812733374..d7a782681c8 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf b/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
index e8ab5d76466..2070aa9727a 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf b/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
index f73c94d31a9..dfd42005709 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
index fce45da350b..d487068859f 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
@@ -7,6 +7,17 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2020-06-18]
+
+### Changed
+- Use `scn` operator for separations
+- Internal color model
+- Internal performance enhancements
+- Moved `\msg_expandable_error:nn(nnnn)` to stable.
+- Moved `\seq_indexed_map_inline:Nn` and `\seq_indexed_map_function:Nn`
+ to stable as `\seq_map_indexed_inline:Nn` and `\seq_map_indexed_function:Nn`.
+- Internal changes to `expl3` to allow loading earlier in LaTeX2e.
+
## [2020-06-03]
### Added
@@ -693,7 +704,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/2020-06-03...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2020-06-18...HEAD
+[2020-06-18]: https://github.com/latex3/latex3/compare/2020-06-03...2020-06-18
[2020-06-03]: https://github.com/latex3/latex3/compare/2020-05-15...2020-06-03
[2020-05-15]: https://github.com/latex3/latex3/compare/2020-05-14...2020-05-15
[2020-05-14]: https://github.com/latex3/latex3/compare/2020-05-11...2020-05-14
diff --git a/Master/texmf-dist/doc/latex/l3kernel/README.md b/Master/texmf-dist/doc/latex/l3kernel/README.md
index 0ccf0dd7b76..8ff01699d7e 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 2020-06-03
+Release 2020-06-18
Overview
--------
diff --git a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
index 1fa7547ef70..18721992ab5 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
index f4469c52230..8f3d8ec7874 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/interface3.tex b/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
index 82a9ce9aa61..2c600d46964 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
@@ -54,7 +54,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2020-06-03}
+\date{Released 2020-06-18}
\pagenumbering{roman}
\maketitle
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
index f9e4794c1cc..52aaff704f1 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf
index 68891b4cb4c..b5ccaa4abda 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf
index 05d8f5b4510..9df1d2e3572 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf
index 4971e668a7e..986447ba43f 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf
index 92c47924974..b574f29d399 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf
index abfb4d4e063..bd289867158 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf
index 414e9c5ea21..98f1049a042 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf
index 86ca1299d26..09db9922509 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf
index 7ad6cfd9885..7c1d2e11a66 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf
index c9fd5acb044..fde17f43055 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf
index e5b0088c549..b088958a78f 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf
index 76eee99422f..bc0ccc14ecf 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf
index efa6befc92b..6a3bc0787df 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf
index 2e6b0bec703..573feb45f8b 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt b/Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt
index 3ca1989e72e..b7a97f48b0d 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt
@@ -73,6 +73,8 @@ Function Expires end
\str_lower_case:n 2022
\str_upper_case:f 2022
\str_upper_case:n 2022
+\seq_indexed_map_inline:Nn 2023
+\seq_indexed_map_function:NN 2023
\tl_gset_from_file:cnn 2020
\tl_gset_from_file:Nnn 2020
\tl_gset_from_file_x:cnn 2020
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf
index 16b24d95d79..fe9b65c217c 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
index 3fbedfb1717..73d3f8840b0 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
index e4f0d040d8e..915534ed114 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2020-06-03}
+\date{Released 2020-06-18}
\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 f47d9fbf9eb..15c831eb553 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
index 4b9951bed19..4e280f75d2b 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2020-06-03}
+\date{Released 2020-06-18}
\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
index e0b64a7edc9..1a6beba13f3 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
index 5b10a1457fc..99464b67c97 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2020-06-03}
+\date{Released 2020-06-18}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
index 6f9dbc22387..4ea4120d6de 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3.tex b/Master/texmf-dist/doc/latex/l3kernel/source3.tex
index c236ce8d47d..985adb77b5f 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/source3.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/source3.tex
@@ -53,7 +53,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2020-06-03}
+\date{Released 2020-06-18}
\pagenumbering{roman}
\maketitle
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx
index 26c516150af..80d8714358f 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
@@ -71,23 +71,23 @@
%<*package>
\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-dvipdfmx.def}{2020-06-03}{}
+ {l3backend-dvipdfmx.def}{2020-06-18}{}
{L3 backend support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-dvips.def}{2020-06-03}{}
+ {l3backend-dvips.def}{2020-06-18}{}
{L3 backend support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-dvisvgm.def}{2020-06-03}{}
+ {l3backend-dvisvgm.def}{2020-06-18}{}
{L3 backend support: dvisvgm}
%</dvisvgm>
%<*pdfmode>
- {l3backend-pdfmode.def}{2020-06-03}{}
+ {l3backend-pdfmode.def}{2020-06-18}{}
{L3 backend support: PDF mode}
%</pdfmode>
%<*xdvipdfmx>
- {l3backend-xdvipdfmx.def}{2020-06-03}{}
+ {l3backend-xdvipdfmx.def}{2020-06-18}{}
{L3 backend support: xdvipdfmx}
%</xdvipdfmx>
%</package>
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx
index 323756837e4..ca94b19e9b8 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx
index 2b3e4d37084..2c0dd47ea18 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
@@ -78,7 +78,8 @@
% \begin{macro}{\@@_backend_pickup:w}
% Allow for \LaTeXe{} color. Here, the possible input values are limited:
% \texttt{dvips}-style colors can mainly be taken as-is with the exception
-% spot ones (here we need a model and a tint).
+% spot ones (here we need a model and a tint). The \texttt{x}-type expansion
+% is there to cover the case where \pkg{xcolor} is in use.
% \begin{macrocode}
%<*package>
\cs_new_protected:Npn \@@_backend_pickup:N #1 { }
@@ -92,8 +93,8 @@
{
\tl_set:Nx #1
{
- spot ~
- \exp_after:wN \use:n \current@color \c_space_tl 1
+ { spot }
+ { \exp_after:wN \use:n \current@color \c_space_tl 1 }
}
}
{
@@ -102,7 +103,7 @@
}
}
\cs_new_protected:Npn \@@_backend_pickup:w #1 ~ #2 \s_@@_stop #3
- { \tl_set:Nn #3 { #1 ~ #2 } }
+ { \tl_set:Nn #3 { {#1} {#2} } }
}
}
%</package>
@@ -110,34 +111,27 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\@@_backend_cmyk:w}
-% \begin{macro}{\@@_backend_gray:w}
-% \begin{macro}{\@@_backend_rgb:w}
-% \begin{macro}{\@@_backend_spot:w}
-% \begin{macro}{\@@_backend_select:n, \@@_backend_select:x}
+% \begin{macro}
+% {
+% \@@_backend_cmyk:n ,
+% \@@_backend_gray:n ,
+% \@@_backend_rgb:n ,
+% \@@_backend_spot:n ,
+% \@@_backend_select:n
+% }
% \begin{macro}{\@@_backend_reset:}
% \begin{macro}{color.fc}
% Push the data to the stack. In the case of \texttt{dvips} also reset the
% drawing fill color in raw PostScript.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s_@@_stop
- {
- \@@_backend_select:x
- {
- cmyk~
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4}
- }
- }
-\cs_new_protected:Npn \@@_backend_gray:w #1 \s_@@_stop
- { \@@_backend_select:x { gray~ \fp_eval:n {#1} } }
-\cs_new_protected:Npn \@@_backend_rgb:w #1 ~ #2 ~ #3 \s_@@_stop
- {
- \@@_backend_select:x
- { rgb~ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} }
- }
-\cs_new_protected:Npn \@@_backend_spot:w #1 ~ #2 \s_@@_stop
- { \@@_backend_select:n { #1 } }
+\cs_new_protected:Npn \@@_backend_cmyk:n #1
+ { \@@_backend_select:n { cmyk ~ #1 } }
+\cs_new_protected:Npn \@@_backend_gray:n #1
+ { \@@_backend_select:n { gray ~ #1 } }
+\cs_new_protected:Npn \@@_backend_rgb:n #1
+ { \@@_backend_select:n { rgb ~ #1 } }
+\cs_new_protected:Npn \@@_backend_spot:n #1
+ { \@@_backend_select:n {#1} }
\cs_new_protected:Npn \@@_backend_select:n #1
{
\__kernel_backend_literal:n { color~push~ #1 }
@@ -146,17 +140,12 @@
%</dvips>
\group_insert_after:N \@@_backend_reset:
}
-\cs_generate_variant:Nn \@@_backend_select:n { x }
\cs_new_protected:Npn \@@_backend_reset:
{ \__kernel_backend_literal:n { color~pop } }
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
%
% \begin{macrocode}
%</dvisvgm|dvipdfmx|dvips|xdvipdfmx>
@@ -192,20 +181,20 @@
#1 ~ #2 ~ #3 ~ #4 ~ #5 ~ #6 \s_@@_stop #7
{
\str_if_eq:nnTF {#2} { g }
- { \tl_set:Nn #7 { gray ~ #1 } }
+ { \tl_set:Nn #7 { { gray } {#1} } }
{
\str_if_eq:nnTF {#4} { rg }
- { \tl_set:Nn #7 { rgb ~ #1 ~ #2 ~ #3 } }
+ { \tl_set:Nn #7 { { rgb } { #1 ~ #2 ~ #3 } } }
{
\str_if_eq:nnTF {#5} { k }
- { \tl_set:Nn #7 { cmyk ~ #1 ~ #2 ~ #3 ~ #4 } }
+ { \tl_set:Nn #7 { { cmyk } { #1 ~ #2 ~ #3 ~ #4 } } }
{
\str_if_eq:nnTF {#2} { cs }
{
- \tl_set:Nx #7 { spot ~ \use_none:n #1 ~ #5 }
+ \tl_set:Nx #7 { { spot } { \use_none:n #1 ~ #5 } }
}
{
- \tl_set:Nn #7 { gray ~ 0 }
+ \tl_set:Nn #7 { { gray } { 0 } }
}
}
}
@@ -226,48 +215,28 @@
% \end{macrocode}
% \end{variable}
%
-% \begin{macro}{\@@_backend_cmyk:w, \@@_backend_cmyk:nnnn}
-% \begin{macro}{\@@_backend_gray:w, \@@_backend_gray:n}
-% \begin{macro}{\@@_backend_rgb:w, \@@_backend_rgb:nnn}
+% \begin{macro}
+% {
+% \@@_backend_cmyk:n ,
+% \@@_backend_gray:n ,
+% \@@_backend_rgb:n ,
+% \@@_backend_spot:n
+% }
% \begin{macro}{\@@_backend_spot:w}
-% \begin{macro}{\@@_backend_select:n, \@@_backend_select:x}
+% \begin{macro}{\@@_backend_select:n}
% \begin{macro}{\@@_backend_reset:}
% Simply dump the data, but allowing for \LuaTeX{}.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s_@@_stop
- {
- \use:x
- {
- \@@_backend_cmyk:nnnn
- { \fp_eval:n {#1} }
- { \fp_eval:n {#2} }
- { \fp_eval:n {#3} }
- { \fp_eval:n {#4} }
- }
- }
-\cs_new_protected:Npn \@@_backend_cmyk:nnnn #1#2#3#4
- {
- \@@_backend_select:n
- { #1 ~ #2 ~ #3 ~ #4 ~ k ~ #1 ~ #2 ~ #3 ~ #4 ~ K }
- }
-\cs_new_protected:Npn \@@_backend_gray:w #1 \s_@@_stop
- { \exp_args:Nx \@@_backend_gray:n { \fp_eval:n {#1} } }
+\cs_new_protected:Npn \@@_backend_cmyk:n #1
+ { \@@_backend_select:n { #1 ~ k ~ #1 ~ K } }
\cs_new_protected:Npn \@@_backend_gray:n #1
{ \@@_backend_select:n { #1 ~ g ~ #1 ~ G } }
-\cs_new_protected:Npn \@@_backend_rgb:w #1~ #2 ~ #3 \s_@@_stop
- {
- \use:x
- {
- \@@_backend_rgb:nnn
- { \fp_eval:n {#1} }
- { \fp_eval:n {#2} }
- { \fp_eval:n {#3} }
- }
- }
-\cs_new_protected:Npn \@@_backend_rgb:nnn #1#2#3
- { \@@_backend_select:n { #1 ~ #2 ~ #3 ~ rg ~ #1 ~ #2 ~ #3 ~ RG } }
+\cs_new_protected:Npn \@@_backend_rgb:n #1
+ { \@@_backend_select:n { #1 ~ rg ~ #1 ~ RG } }
+\cs_new_protected:Npn \@@_backend_spot:n #1
+ { \@@_backend_spot:w #1 \s_@@_stop }
\cs_new_protected:Npn \@@_backend_spot:w #1 ~ #2 \s_@@_stop
- { \@@_backend_select:n { /#1 ~ cs ~ /#1 ~ CS ~ #2 ~ sc ~ #2 ~ SC } }
+ { \@@_backend_select:n { /#1 ~ cs ~ /#1 ~ CS ~ #2 ~ scn ~ #2 ~ SCN } }
\cs_new_protected:Npx \@@_backend_select:n #1
{
\cs_if_exist:NTF \tex_pdfextension:D
@@ -276,7 +245,6 @@
\exp_not:N \l__kernel_color_stack_int push {#1}
\group_insert_after:N \exp_not:N \@@_backend_reset:
}
-\cs_generate_variant:Nn \@@_backend_select:n { x }
\cs_new_protected:Npx \@@_backend_reset:
{
\cs_if_exist:NTF \tex_pdfextension:D
@@ -289,8 +257,6 @@
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
-% \end{macro}
%
% \begin{macrocode}
%</pdfmode>
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx
index 6b235e4faae..6c82820a901 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
@@ -313,7 +313,7 @@
{ \dim_to_decimal_in_bp:n {#1} ~ setlinewidth }
}
\cs_new_protected:Npn \@@_backend_miterlimit:n #1
- { \@@_backend_literal:x { \fp_eval:n {#1} ~ setmiterlimit } }
+ { \@@_backend_literal:n { #1 ~ setmiterlimit } }
\cs_new_protected:Npn \@@_backend_cap_butt:
{ \@@_backend_literal:n { 0 ~ setlinecap } }
\cs_new_protected:Npn \@@_backend_cap_round:
@@ -335,8 +335,8 @@
%
% \begin{macro}
% {
-% \@@_backend_color_fill_cmyk:nnnn ,
-% \@@_backend_color_stroke_cmyk:nnnn
+% \@@_backend_color_fill_cmyk:n ,
+% \@@_backend_color_stroke_cmyk:n
% }
% \begin{macro}
% {
@@ -345,63 +345,37 @@
% }
% \begin{macro}
% {
-% \@@_backend_color_fill_rgb:nnn ,
-% \@@_backend_color_stroke_rgb:nnn
-% }
-% \begin{macro}
-% {
-% \@@_backend_color_fill:n, \@@_backend_color_fill:x,
-% \@@_backend_color_stroke:n, \@@_backend_color_stroke:x
+% \@@_backend_color_fill_rgb:n ,
+% \@@_backend_color_stroke_rgb:n
% }
+% \begin{macro}{\@@_backend_color_fill:n, \@@_backend_color_stroke:n}
% For \texttt{dvips}, we can use the standard color stack to deal with
% stroke color, but for fills have to switch to raw PostScript. This is
% thus not handled by the stack, but the context is very restricted. See
% also how fills are implemented.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_color_fill_cmyk:nnnn #1#2#3#4
- {
- \@@_backend_color_fill:x
- {
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
- setcmykcolor
- }
- }
-\cs_new_protected:Npn \@@_backend_color_stroke_cmyk:nnnn #1#2#3#4
- {
- \@@_backend_color_stroke:x
- {
- cmyk ~
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4}
- }
- }
-\cs_new_protected:Npn \@@_backend_color_fill_gray:n #1
- { \@@_backend_color_fill:x { \fp_eval:n {#1} ~ setgray } }
+\cs_new_protected:Npn \@@_backend_color_fill_cmyk:n #1
+ { \@@_backend_color_fill:n { #1 ~ setcmykcolor } }
+\cs_new_protected:Npn \@@_backend_color_stroke_cmyk:n #1
+ { \@@_backend_color_stroke:n { cmyk ~ #1 } }
\cs_new_protected:Npn \@@_backend_color_stroke_gray:n #1
- { \@@_backend_color_stroke:x { gray ~ \fp_eval:n {#1} } }
-\cs_new_protected:Npn \@@_backend_color_fill_rgb:nnn #1#2#3
- {
- \@@_backend_color_fill:x
- { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ setrgbcolor }
- }
-\cs_new_protected:Npn \@@_backend_color_stroke_rgb:nnn #1#2#3
- {
- \@@_backend_color_stroke:x
- { rgb ~ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} }
- }
+ { \@@_backend_color_fill:n { #1 ~ setgray } }
+\cs_new_protected:Npn \@@_backend_color_fill_gray:n #1
+ { \@@_backend_color_stroke:n { gray ~ #1 } }
+\cs_new_protected:Npn \@@_backend_color_fill_rgb:n #1
+ { \@@_backend_color_fill:n { #1 ~ setrgbcolor } }
+\cs_new_protected:Npn \@@_backend_color_stroke_rgb:n #1
+ { \@@_backend_color_stroke:n { rgb ~ #1 } }
\cs_new_protected:Npn \@@_backend_color_fill:n #1
{
\__kernel_backend_postscript:n
{ /color.fc ~ { #1 } ~ def }
}
-\cs_generate_variant:Nn \@@_backend_color_fill:n { x }
\cs_new_protected:Npn \@@_backend_color_stroke:n #1
{
\__kernel_backend_literal:n { color~push~#1 }
\group_insert_after:N \@@_color_reset:
}
-\cs_generate_variant:Nn \@@_backend_color_stroke:n { x }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -418,14 +392,7 @@
\cs_new_protected:Npn \@@_backend_cm:nnnn #1#2#3#4
{
\@@_backend_literal:n
- {
- [
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
- 0 ~ 0
- ] ~
- concat
- }
+ { [ #1 ~ #2 ~ #3 ~ #4 ~ 0 ~ 0 ] ~ concat }
}
% \end{macrocode}
% \end{macro}
@@ -633,7 +600,7 @@
{ \dim_to_decimal_in_bp:n {#1} ~ w }
}
\cs_new_protected:Npn \@@_backend_miterlimit:n #1
- { \@@_backend_literal:x { \fp_eval:n {#1} ~ M } }
+ { \@@_backend_literal:x { #1 ~ M } }
\cs_new_protected:Npn \@@_backend_cap_butt:
{ \@@_backend_literal:n { 0 ~ J } }
\cs_new_protected:Npn \@@_backend_cap_round:
@@ -655,8 +622,8 @@
%
% \begin{macro}
% {
-% \@@_backend_color_fill_cmyk:nnnn ,
-% \@@_backend_color_stroke_cmyk:nnnn
+% \@@_backend_color_fill_cmyk:n ,
+% \@@_backend_color_stroke_cmyk:n
% }
% \begin{macro}
% {
@@ -665,46 +632,26 @@
% }
% \begin{macro}
% {
-% \@@_backend_color_fill_rgb:nnn ,
-% \@@_backend_color_stroke_rgb:nnn
+% \@@_backend_color_fill_rgb:n ,
+% \@@_backend_color_stroke_rgb:n
% }
% \begin{macro}{\@@_backend_color_select:n, \@@_backend_color_select:x}
% \begin{macro}{\@@_backend_color_reset:}
% Color has to be split between \texttt{(x)dvipdfmx} and the PDF engines
% as there is no color stack for fill/stroke separation in the former.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_color_fill_cmyk:nnnn #1#2#3#4
- {
- \@@_backend_color_select:x
- {
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
- k
- }
- }
-\cs_new_protected:Npn \@@_backend_color_stroke_cmyk:nnnn #1#2#3#4
- {
- \@@_backend_color_select:x
- {
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
- k
- }
- }
+\cs_new_protected:Npn \@@_backend_color_fill_cmyk:n #1
+ { \@@_backend_color_select:n { #1 ~ k } }
+\cs_new_protected:Npn \@@_backend_color_stroke_cmyk:n #1
+ { \@@_backend_color_select:n { #1 ~ K } }
\cs_new_protected:Npn \@@_backend_color_fill_gray:n #1
- { \@@_backend_color_select:x { \fp_eval:n {#1} ~ g } }
+ { \@@_backend_color_select:n { #1 ~ g } }
\cs_new_protected:Npn \@@_backend_color_stroke_gray:n #1
- { \@@_backend_color_select:x { \fp_eval:n {#1} ~ G } }
-\cs_new_protected:Npn \@@_backend_color_fill_rgb:nnn #1#2#3
- {
- \@@_backend_color_select:x
- { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ rg }
- }
-\cs_new_protected:Npn \@@_backend_color_stroke_rgb:nnn #1#2#3
- {
- \@@_backend_color_select:x
- { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ RG }
- }
+ { \@@_backend_color_select:n { #1 ~ G } }
+\cs_new_protected:Npn \@@_backend_color_fill_rgb:n #1
+ { \@@_backend_color_select:n { #1 ~ rg } }
+\cs_new_protected:Npn \@@_backend_color_stroke_rgb:n #1
+ { \@@_backend_color_select:n { #1 ~ RG } }
%<*pdfmode>
\cs_new_protected:Npx \@@_backend_color_select:n #1
{
@@ -746,11 +693,7 @@
\cs_new_protected:Npn \@@_backend_cm:nnnn #1#2#3#4
{
%<*pdfmode>
- \__kernel_backend_matrix:x
- {
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4}
- }
+ \__kernel_backend_matrix:n { #1 ~ #2 ~ #3 ~ #4 }
%</pdfmode>
%<*dvipdfmx|xdvipdfmx>
\@@_backend_cm_decompose:nnnnN {#1} {#2} {#3} {#4}
@@ -904,13 +847,8 @@
\@@_backend_cm:nnnn {#2} {#3} {#4} {#5}
%</pdfmode>
%<*dvipdfmx|xdvipdfmx>
- \__kernel_backend_literal:x
- {
- pdf:btrans~matrix~
- \fp_eval:n {#2} ~ \fp_eval:n {#3} ~
- \fp_eval:n {#4} ~ \fp_eval:n {#5} ~
- 0 ~ 0
- }
+ \__kernel_backend_literal:n
+ { pdf:btrans~matrix~ #2 ~ #3 ~ #4 ~ #5 ~ 0 ~ 0 }
%</dvipdfmx|xdvipdfmx>
\hbox_overlap_right:n { \box_use:N #1 }
%<*dvipdfmx|xdvipdfmx>
@@ -1199,7 +1137,7 @@
\cs_new_protected:Npn \@@_backend_linewidth:n #1
{ \@@_backend_scope:x { stroke-width=" \dim_to_decimal:n {#1} " } }
\cs_new_protected:Npn \@@_backend_miterlimit:n #1
- { \@@_backend_scope:x { stroke-miterlimit=" \fp_eval:n {#1} " } }
+ { \@@_backend_scope:x { stroke-miterlimit=" #1 " } }
\cs_new_protected:Npn \@@_backend_cap_butt:
{ \@@_backend_scope:n { stroke-linecap="butt" } }
\cs_new_protected:Npn \@@_backend_cap_round:
@@ -1222,43 +1160,41 @@
%
% \begin{macro}
% {
-% \@@_backend_color_fill_cmyk:nnnn ,
-% \@@_backend_color_stroke_cmyk:nnnn
+% \@@_backend_color_fill_cmyk:n ,
+% \@@_backend_color_stroke_cmyk:n
% }
+% \begin{macro}{\@@_backend_color_fill_cmyk:w}
% \begin{macro}
% {
% \@@_backend_color_fill_gray:n ,
% \@@_backend_color_stroke_gray:n
% }
+% \begin{macro}{\@@_backend_color_gray_aux:n}
% \begin{macro}
% {
-% \@@_backend_color_fill_rgb:nnn ,
-% \@@_backend_color_stroke_rgb:nnn
+% \@@_backend_color_fill_rgb:n ,
+% \@@_backend_color_stroke_rgb:n
% }
% \begin{macro}{\@@_backend_color_fill:nnn}
% SVG fill color has to be covered outside of the stack, as for
% \texttt{dvips}. Here, we are only allowed RGB colors so there is some
% conversion to do.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_color_fill_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \@@_backend_color_fill_cmyk:n #1
+ { \@@_backend_color_fill_cmyk:w #1 \s_@@_stop }
+\cs_new_protected:Npn \@@_backend_color_fill_cmyk:w
+ #1 ~ #2 ~ #3 ~ #4 \s_@@_stop
{
\use:x
{
\@@_backend_color_fill:nnn
- { \fp_eval:n { -100 * ( (#1) * ( 1 - (#4) ) - 1 ) } }
- { \fp_eval:n { -100 * ( (#2) * ( 1 - (#4) ) + #4 - 1 ) } }
- { \fp_eval:n { -100 * ( (#3) * ( 1 - (#4) ) + #4 - 1 ) } }
- }
- }
-\cs_new_protected:Npn \@@_backend_color_stroke_cmyk:nnnn #1#2#3#4
- {
- \@@_backend_select:x
- {
- cmyk~
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4}
+ { \fp_eval:n { -100 * ( 1 - min ( 1 , #1 + #4 ) ) } }
+ { \fp_eval:n { -100 * ( 1 - min ( 1 , #2 + #4 ) ) } }
+ { \fp_eval:n { -100 * ( 1 - min ( 1 , #3 + #4 ) ) } }
}
}
+\cs_new_protected:Npn \@@_backend_color_stroke_cmyk:n #1
+ { \@@_backend_select:n { cmyk ~ #1 } }
\cs_new_protected:Npn \@@_backend_color_fill_gray:n #1
{
\use:x
@@ -1271,7 +1207,7 @@
{ \@@_backend_color_fill:nnn {#1} {#1} {#1} }
\cs_new_protected:Npn \@@_backend_color_stroke_gray:n #1
{ \@@_backend_select:x { gray~ \fp_eval:n {#1} } }
-\cs_new_protected:Npn \@@_backend_color_fill_rgb:nnn #1#2#3
+\cs_new_protected:Npn \@@_backend_color_fill_rgb:n #1
{
\use:x
{
@@ -1296,16 +1232,15 @@
"
}
}
-\cs_new_protected:Npn \@@_backend_color_stroke_rgb:nnn #1#2#3
- {
- \@@_backend_select:x
- { rgb~ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} }
- }
+\cs_new_protected:Npn \@@_backend_color_stroke_rgb:n #1
+ { \@@_backend_select:n { rgb ~ #1 } }
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
%
% \begin{macro}{\@@_backend_cm:nnnn}
% The four arguments here are floats (the affine matrix), the last
@@ -1316,14 +1251,7 @@
\@@_backend_scope:n
{
transform =
- "
- matrix
- (
- \fp_eval:n {#1} , \fp_eval:n {#2} ,
- \fp_eval:n {#3} , \fp_eval:n {#4} ,
- 0pt , 0pt
- )
- "
+ " matrix ( #1 , #2 , #3 , #4 , 0pt , 0pt ) "
}
}
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx
index dd19bba9a10..305d1759a12 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx
index 955f8a3b144..a66cb0f1456 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx
index 5382b4a92c3..e10ad17e8f6 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx b/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
index 2589bb9c6c1..a5654f97cdd 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
@@ -130,7 +130,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3benchmark}{2020-06-03}{}
+\ProvidesExplPackage{l3benchmark}{2020-06-18}{}
{L3 Experimental benchmarking}
%</package>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3cctab/l3cctab.dtx b/Master/texmf-dist/source/latex/l3experimental/l3cctab/l3cctab.dtx
index 4d758c1ad4f..4bda61148d0 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3cctab/l3cctab.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3cctab/l3cctab.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
@@ -179,7 +179,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3cctab}{2020-06-03}{}
+\ProvidesExplPackage{l3cctab}{2020-06-18}{}
{L3 Experimental category code tables}
%</package>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3color/l3color.dtx b/Master/texmf-dist/source/latex/l3experimental/l3color/l3color.dtx
index c7addda60be..8a87d390b4f 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3color/l3color.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3color/l3color.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
@@ -240,20 +240,9 @@
% \section{Core color representation}
%
% To allow data to be handled internally, \pkg{l3color} uses a simple
-% representation of color, based on that used by the \pkg{dvips} program.
-% This is a token list made up of the model name followed by one or more
-% data entries, each separated by a \emph{space}. The valid forms are thus
-% \begin{itemize}
-% \item \texttt{gray \meta{gray}} Grayscale color with the \meta{gray}
-% value running from $0$ (fully black) to $1$ (fully white)
-% \item \texttt{cmyk \meta{cyan} \meta{magenta} \meta{yellow} \meta{black}},
-% each of which falls in the range $[0,1]$
-% \item \texttt{rgb \meta{red} \meta{green} \meta{blue}},
-% each of which falls in the range $[0,1]$
-% \item \texttt{spot \meta{name} \meta{tint}} A pre-defined spot color,
-% where the \meta{name} should be a pre-defined string color name and the
-% \meta{tint} should be in the range $[0,1]$.
-% \end{itemize}
+% representation of color, comprising two \meta{balanced text} entries, the first
+% the \meta{model} and the second the \meta{values} given
+% \emph{separated by spaces}.
%
% This core representation is produced when parsing color expressions.
%
@@ -286,7 +275,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3color}{2020-06-03}{}
+\ProvidesExplPackage{l3color}{2020-06-18}{}
{L3 Experimental color support}
%</package>
% \end{macrocode}
@@ -342,7 +331,7 @@
% \end{macro}
%
% \begin{macro}{\@@_extract:nNN, \@@_extract:VNN}
-% \begin{macro}{\@@_extract:NNw}
+% \begin{macro}{\@@_extract:NNnn}
% Split the model and color from a named color, and store the two. No test
% for the existence of the color: that is assumed to be the case (this
% is internal only). Somewhat \enquote{old-fashioned} but should be quite
@@ -351,13 +340,13 @@
\cs_new_protected:Npn \@@_extract:nNN #1#2#3
{
\exp_after:wN \exp_after:wN \exp_after:wN
- \@@_extract:NNw
+ \@@_extract:NNnn
\exp_after:wN \exp_after:wN \exp_after:wN #2
\exp_after:wN \exp_after:wN \exp_after:wN #3
- \cs:w l_@@_named_ #1 _tl \cs_end: \s_@@_stop
+ \cs:w l_@@_named_ #1 _tl \cs_end:
}
\cs_generate_variant:Nn \@@_extract:nNN { V }
-\cs_new_protected:Npn \@@_extract:NNw #1#2 #3 ~ #4 \s_@@_stop
+\cs_new_protected:Npn \@@_extract:NNnn #1#2#3#4
{
\tl_set:Nn #1 {#3}
\tl_set:Nn #2 {#4}
@@ -517,7 +506,7 @@
\@@_extract:nNN {#2} \l_@@_model_tl \l_@@_value_tl
\@@_parse_loop:w #3 ! ! ! ! \s_@@_stop
\tl_set:Nx \l_@@_internal_tl
- { \l_@@_model_tl \c_space_tl \l_@@_value_tl }
+ { { \l_@@_model_tl } { \l_@@_value_tl } }
\exp_args:NNNV \group_end:
\tl_set:Nn #1 \l_@@_internal_tl
}
@@ -663,26 +652,30 @@
% Turn the input into internal form, also tidying up the number quickly.
% \begin{macrocode}
\cs_new:Npn \@@_parse_model_gray:w #1 , #2 \s_@@_stop
- { gray ~ \@@_parse_number:n {#1} }
+ { { gray } { \@@_parse_number:n {#1} } }
\cs_new:Npn \@@_parse_model_rgb:w #1 , #2 , #3 , #4 \s_@@_stop
{
- rgb ~
- \@@_parse_number:n {#1} ~
- \@@_parse_number:n {#2} ~
- \@@_parse_number:n {#3}
+ { rgb }
+ {
+ \@@_parse_number:n {#1} ~
+ \@@_parse_number:n {#2} ~
+ \@@_parse_number:n {#3}
+ }
}
\cs_new:Npn \@@_parse_model_cmyk:w #1 , #2 , #3 , #4 , #5 \s_@@_stop
{
- cmyk ~
- \@@_parse_number:n {#1} ~
- \@@_parse_number:n {#2} ~
- \@@_parse_number:n {#3} ~
- \@@_parse_number:n {#4}
+ { cmyk }
+ {
+ \@@_parse_number:n {#1} ~
+ \@@_parse_number:n {#2} ~
+ \@@_parse_number:n {#3} ~
+ \@@_parse_number:n {#4}
+ }
}
\cs_new:Npn \@@_parse_model_spot:w #1 , #2 \s_@@_stop
{
- spot ~
- \@@_parse_spot_aux:w #1 ! 100 ! \s_@@_stop
+ { spot }
+ { \@@_parse_spot_aux:w #1 ! 100 ! \s_@@_stop }
}
\cs_new:Npn \@@_parse_spot_aux:w #1 ! #2 ! #3 \s_@@_stop
{ #1 ~ \fp_eval:n { #2 / 100 } }
@@ -716,9 +709,11 @@
% \begin{macrocode}
\cs_new:Npn \@@_parse_model_hsb:nnn #1#2#3
{
- rgb ~
- \exp_args:Ne \@@_parse_model_hsb_aux:nnn
- { \fp_eval:n { 6 * #1 } } {#2} {#3}
+ { rgb }
+ {
+ \exp_args:Ne \@@_parse_model_hsb_aux:nnn
+ { \fp_eval:n { 6 * #1 } } {#2} {#3}
+ }
}
\cs_new:Npn \@@_parse_model_hsb_aux:nnn #1#2#3
{
@@ -758,17 +753,21 @@
{ \@@_parse_model_HTML_aux:w #1 0 0 0 0 0 0 \s_@@_stop }
\cs_new:Npn \@@_parse_model_HTML_aux:w #1#2#3#4#5#6#7 \s_@@_stop
{
- rgb ~
- \fp_eval:n { round(\int_from_hex:n {#1#2} / 255,5) } ~
- \fp_eval:n { round(\int_from_hex:n {#3#4} / 255,5) } ~
- \fp_eval:n { round(\int_from_hex:n {#5#6} / 255,5) }
+ { rgb }
+ {
+ \fp_eval:n { round(\int_from_hex:n {#1#2} / 255,5) } ~
+ \fp_eval:n { round(\int_from_hex:n {#3#4} / 255,5) } ~
+ \fp_eval:n { round(\int_from_hex:n {#5#6} / 255,5) }
+ }
}
\cs_new:Npn \@@_parse_model_RGB:w #1 , #2 , #3 , #4 \s_@@_stop
{
- rgb ~
- \fp_eval:n { round(#1 / 255,5) } ~
- \fp_eval:n { round(#2 / 255,5) } ~
- \fp_eval:n { round(#3 / 255,5) }
+ { rgb }
+ {
+ \fp_eval:n { round(#1 / 255,5) } ~
+ \fp_eval:n { round(#2 / 255,5) } ~
+ \fp_eval:n { round(#3 / 255,5) }
+ }
}
% \end{macrocode}
% \end{macro}
@@ -783,24 +782,24 @@
% \end{variable}
%
% \begin{macro}{\@@_check_model:N}
-% \begin{macro}{\@@_check_model:w}
+% \begin{macro}{\@@_check_model:nn}
% Check that the model in use is the one required.
% \begin{macrocode}
\cs_new_protected:Npn \@@_check_model:N #1
{
\tl_if_empty:NF \l_color_fixed_model_tl
{
- \exp_after:wN \@@_check_model:w #1 \s_@@_stop
+ \exp_after:wN \@@_check_model:nn #1
\tl_if_eq:NNF \l_@@_model_tl \l_color_fixed_model_tl
{
\@@_convert:VVN \l_@@_model_tl \l_color_fixed_model_tl
\l_@@_value_tl
}
\tl_set:Nx #1
- { \l_color_fixed_model_tl \c_space_tl \l_@@_value_tl }
+ { { \l_color_fixed_model_tl } { \l_@@_value_tl } }
}
}
-\cs_new_protected:Npn \@@_check_model:w #1 ~ #2 \s_@@_stop
+\cs_new_protected:Npn \@@_check_model:nn #1#2
{
\tl_set:Nn \l_@@_model_tl {#1}
\tl_set:Nn \l_@@_value_tl {#2}
@@ -818,7 +817,7 @@
\cs_new_protected:Npn \@@_select:
{
\tl_set_eq:cN { l_@@_named_ . _tl } \l_@@_current_tl
- \@@_select:V \l_@@_current_tl
+ \@@_select:N \l_@@_current_tl
}
% \end{macrocode}
% \end{macro}
@@ -852,7 +851,7 @@
\cs_if_exist:cTF { @@_parse_model_ #1 :w }
{
\tl_set:Nx #3
- { \use:c { @@_parse_model_ #1 :w } #2 , 0 , 0 , 0 , 0 \s_@@_stop }
+ { \use:c { @@_parse_model_ #1 :w } #2 , 0 , 0 , 0 , 0 \s_@@_stop }
\@@_check_model:N #3
}
{
@@ -946,8 +945,7 @@
% \subsection{Diagnostics}
%
% \begin{macro}{\color_show:n}
-% \begin{macro}{\@@_show:w}
-% \begin{macro}{\@@_show_gray:w, \@@_show_rgb:w, \@@_show_cmyk:w}
+% \begin{macro}{\@@_show:nn}
% Extract the information about a color and format for the user: the approach
% is similar to the keys module here.
% \begin{macrocode}
@@ -957,25 +955,20 @@
{#1}
{
\@@_if_defined:nTF {#1}
- { \exp_last_unbraced:Nv \@@_show:w { l_@@_named_ #1 _tl } \s_@@_stop }
+ { \exp_last_unbraced:Nv \@@_show:nn { l_@@_named_ #1 _tl } }
{ }
}
{ }
{ }
}
-\cs_new:Npn \@@_show:w #1 ~ #2 \s_@@_stop
+\cs_new:Npn \@@_show:nn #1#2
{
\msg_show_item_unbraced:nn { model } {#1}
- \exp_args:Nnf \msg_show_item_unbraced:nn { value }
- { \use:c { @@_show_ #1 :w } #2 \s_@@_stop }
+ \msg_show_item_unbraced:nn { value } {#2}
}
-\cs_new:Npn \@@_show_gray:w #1 \s_@@_stop { #1 }
-\cs_new:Npn \@@_show_rgb:w #1 ~ #2 ~ #3 \s_@@_stop { #1 ,~ #2 ,~ #3 }
-\cs_new:Npn \@@_show_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s_@@_stop { #1 ,~ #2 ,~ #3 ,~ #4 }
% \end{macrocode}
% \end{macro}
% \end{macro}
-% \end{macro}
%
% \subsection{Messages}
%
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 bca71310a17..8a20c1a3485 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx
index 690d02578f4..1f1debc79e5 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \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 a90ccb85d86..bf446436807 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \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 5e54f11a70a..6e578a694a4 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \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 a33447016ec..b2cd3db4456 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \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 40823c2cf31..943484d811f 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \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 42adda47ce0..4f434d924b6 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
@@ -124,7 +124,7 @@
% Pass through to the driver layer.
% \begin{macrocode}
\cs_new_protected:Npn \draw_miterlimit:n #1
- { \@@_backend_miterlimit:n { \fp_eval:n {#1} } }
+ { \exp_args:Nx \@@_backend_miterlimit:n { \fp_eval:n {#1} } }
% \end{macrocode}
% \end{macro}
%
@@ -156,13 +156,7 @@
%
% \begin{macro}{\draw_color:n, \draw_color_fill:n, \draw_color_stroke:n}
% \begin{macro}{\@@_color:nn}
-% \begin{macro}{\@@_color_aux:nn, \@@_color_aux:Vn}
-% \begin{macro}{\@@_color:nw}
-% \begin{macro}
-% {
-% \@@_select_cmyk:nw, \@@_select_gray:nw,
-% \@@_select_rgb:nw, \@@_split_select:nw
-% }
+% \begin{macro}{\@@_color:nnn}
% Much the same as for core color support but calling the relevant
% driver-level function.
% \begin{macrocode}
@@ -174,27 +168,14 @@
\cs_new_protected:Npn \@@_color:nn #1#2
{
\color_parse:nN {#2} \l_@@_color_tmp_tl
- \@@_color_aux:Vn \l_@@_color_tmp_tl {#1}
+ \exp_after:wN \@@_color:nnn \l_@@_color_tmp_tl {#1}
}
-\cs_new_protected:Npn \@@_color_aux:nn #1#2
- { \@@_color:nw {#2} #1 \s_@@_stop }
-\cs_generate_variant:Nn \@@_color_aux:nn { V }
-\cs_new_protected:Npn \@@_color:nw #1#2 ~ #3 \s_@@_stop
- { \use:c { @@_color_ #2 :nw } {#1} #3 \s_@@_stop }
-\cs_new_protected:Npn \@@_color_cmyk:nw #1#2 ~ #3 ~ #4 ~ #5 \s_@@_stop
- { \use:c { @@_backend_color_ #1 _cmyk:nnnn } {#2} {#3} {#4} {#5} }
-\cs_new_protected:Npn \@@_color_gray:nw #1#2 \s_@@_stop
- { \use:c { @@_backend_color_ #1 _gray:n } {#2} }
-\cs_new_protected:Npn \@@_color_rgb:nw #1#2 ~ #3 ~ #4 \s_@@_stop
- { \use:c { @@_backend_color_ #1 _rgb:nnn } {#2} {#3} {#4} }
-\cs_new_protected:Npn \@@_color_spot:nw #1#2 ~ #3 \s_@@_stop
- { \use:c { @@_backend_color_ #1 _spot:nn } {#2} {#3} }
+\cs_new_protected:Npn \@@_color:nnn #1#2#3
+ { \use:c { @@_backend_color_ #3 _ #1 :n } {#2} }
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
-% \end{macro}
%
% \begin{macrocode}
%</initex|package>
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 2b0ac7a84c1..b995cf6fc9a 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
index 66b0074a872..4ba0e2cb74e 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
@@ -110,7 +110,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
@@ -1146,7 +1146,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3draw}{2020-06-03}{}
+\ProvidesExplPackage{l3draw}{2020-06-18}{}
{L3 Experimental core drawing support}
%</package>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx b/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx
index 92d93a4c979..73517bfe80e 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
@@ -241,7 +241,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3graphics}{2020-06-03}{}
+\ProvidesExplPackage{l3graphics}{2020-06-18}{}
{L3 Experimental graphics inclusion support}
%</package>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3pdf/l3pdf.dtx b/Master/texmf-dist/source/latex/l3experimental/l3pdf/l3pdf.dtx
index b444b49524c..1a21347ef3b 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3pdf/l3pdf.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3pdf/l3pdf.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
@@ -191,7 +191,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3pdf}{2020-06-03}{}
+\ProvidesExplPackage{l3pdf}{2020-06-18}{}
{L3 Experimental core PDF support}
%</package>
% \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 5bdde511913..52902e21a81 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
@@ -167,7 +167,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3str-format}{2020-06-03}{}
+\ProvidesExplPackage{l3str-format}{2020-06-18}{}
{L3 Experimental string formatting}
%</package>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx b/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx
index 6ed71eb1bae..7da0422159b 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
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
@@ -136,7 +136,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3sys-shell}{2020-06-03}{}
+\ProvidesExplPackage{l3sys-shell}{2020-06-18}{}
{L3 Experimental system shell functions}
%</package>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx b/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
index 9b4f9a1250e..68776e0572f 100644
--- a/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
@@ -56,7 +56,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
@@ -675,7 +675,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xcoffins}{2020-06-03}{}
+\ProvidesExplPackage{xcoffins}{2020-06-18}{}
{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 2ba61cdf1cf..639e7ade994 100644
--- a/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
@@ -61,7 +61,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
@@ -687,7 +687,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3galley}{2020-06-03}{}
+\ProvidesExplPackage{l3galley}{2020-06-18}{}
{L3 Experimental galley code}
%</package>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx b/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
index ce329cf3603..59be5e01ea1 100644
--- a/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
@@ -734,7 +734,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xgalley}{2020-06-03}{}
+\ProvidesExplPackage{xgalley}{2020-06-18}{}
{L3 Experimental galley}
\RequirePackage{xparse,xtemplate,l3galley}
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3kernel/expl3.dtx b/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
index e1502692225..0710d88c5d0 100644
--- a/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
@@ -24,7 +24,7 @@
%
%<*driver|generic|package|2ekernel>
%</driver|generic|package|2ekernel>
-\def\ExplFileDate{2020-06-03}%
+\def\ExplFileDate{2020-06-18}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
@@ -1156,23 +1156,40 @@
%
% \begin{macro}{\ProvidesExplPackage, \ProvidesExplClass, \ProvidesExplFile}
% For other packages and classes building on this one it is convenient
-% not to need \cs{ExplSyntaxOn} each time.
+% not to need \cs{ExplSyntaxOn} each time. All macros use the same
+% internal one with the proper \LaTeXe{} command.
% \begin{macrocode}
-\protected\def\ProvidesExplPackage#1#2#3#4%
- {%
- \ProvidesPackage{#1}[#2 \ifx\relax#3\relax\else v#3\space\fi #4]%
- \ExplSyntaxOn
- }%
-\protected\def\ProvidesExplClass#1#2#3#4%
+\protected\def\ProvidesExplPackage
+ {\@expl@provides@file@@Nnnnnn\ProvidesPackage{Package}}
+\protected\def\ProvidesExplClass
+ {\@expl@provides@file@@Nnnnnn\ProvidesClass{Document Class}}
+\protected\def\ProvidesExplFile
+ {\@expl@provides@file@@Nnnnnn\ProvidesFile{File}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@expl@provides@file@@Nnnnnn, \@expl@provides@generic@@wnnw}
+% We need to check the existence of the
+% \cs[no-index]{Provides\meta{thing}}, since we need to load this very
+% early in the \LaTeXe{} kernel.
+% \begin{macrocode}
+\protected\long\def\@expl@provides@file@@Nnnnnn#1#2#3#4#5#6%
{%
- \ProvidesClass{#1}[#2 \ifx\relax#3\relax\else v#3\space\fi #4]%
+ \ifnum0%
+ \ifdefined#11\fi
+ \ifx\relax#1\else1\fi
+ =11
+ \expandafter#1%
+ \else
+ \@expl@provides@generic@@wnnw{#2}%
+ \fi
+ {#3}[{#4 \ifx\relax#5\relax\else v#5\space\fi #6}]%
\ExplSyntaxOn
- }%
-\protected\def\ProvidesExplFile#1#2#3#4%
+ }
+\protected\long\def\@expl@provides@generic@@wnnw#1\fi#2[#3]%
{%
- \ProvidesFile{#1}[#2 \ifx\relax#3\relax\else v#3\space\fi #4]%
- \ExplSyntaxOn
- }%
+ \immediate\write-1{#1: #2 #3}%
+ }
% \end{macrocode}
% \end{macro}
%
@@ -1198,24 +1215,35 @@
\fi
% \end{macrocode}
%
-% If \pkg{expl3} was pre-loaded, we now have to deal with the fact that
-% the syntax will not be activated for the package mode version:
-% simply turn it on. We use \tn{@pushfilenameaux} as a marker: it's defined
-% a little later.
% \begin{macrocode}
-\ifdefined\@pushfilenameaux
- \ExplSyntaxOn
-\fi
+%<@@=expl>
% \end{macrocode}
%
+% Here we can also detect whether we're reloading. This code goes into
+% \texttt{expl3.ltx} and \texttt{expl3.sty}, the former loaded into the
+% \LaTeXe{} format. When this code is loaded for the first time, the
+% \cs{g_@@_reload_bool} boolean doesn't exist (\cs{else} branch of the
+% \cs{ifcsname} below), so we create it. If the \cs{ifcsname} is true,
+% then we do \cs{ExplSyntaxOn} (because when reloading,
+% \texttt{expl3-code.tex} isn't read again), and set
+% \cs{g_@@_reload_bool} to true.
% \begin{macrocode}
-%<@@=expl>
+\ifcsname\detokenize{g_@@_reload_bool}\endcsname
+ \ExplSyntaxOn
+ \bool_gset_true:N \g_@@_reload_bool
+\else
+ \bool_new:N \g_@@_reload_bool
+\fi
% \end{macrocode}
%
% \begin{variable}{\c_@@_def_ext_tl}
-% Needed by \LaTeXe{}, and avoiding a re-load issue.
+% Needed by \LaTeXe{}, and avoiding a re-load issue. Variables are
+% best checked explicitly, rather than with \cs{g_@@_reload_bool}
+% because some appear only in one of the code files, so
+% \cs{g_@@_reload_bool} doesn't necessarily mean that the variable
+% is already declared.
% \begin{macrocode}
-\cs_if_exist:NF \c_@@_def_ext_tl
+\tl_if_exist:NF \c_@@_def_ext_tl
{ \tl_const:Nn \c_@@_def_ext_tl { def } }
% \end{macrocode}
% \end{variable}
@@ -1255,7 +1283,7 @@
% \begin{variable}{\l_@@_options_clist}
% \begin{macrocode}
%<*!2ekernel>
-\cs_if_exist:NF \l_@@_options_clist
+\clist_if_exist:NF \l_@@_options_clist
{ \clist_new:N \l_@@_options_clist }
\DeclareOption*
{ \clist_put_right:NV \l_@@_options_clist \CurrentOption }
@@ -1295,19 +1323,74 @@
}
% \end{macrocode}
%
-% A backend has to be in place by the start of the document: this has to be
-% before global options are checked for use. The odd group stuff avoids
-% needing to actually patch \tn{document}.
+% \begin{macro}{\@expl@sys@load@backend@@@@}
+% A backend has to be in place by the start of the document: this has
+% to be before global options are checked for use.
+%
+% The \cs[no-index]{@expl@...@@@@} macros defined in this package are
+% interfaces for \LaTeXe{}. There are currently (this will change
+% with the next release of \LaTeXe{}) two possible cases, at this
+% point of the code: either \cs{@expl@sys@load@backend@@@@} (and the
+% others) already exist because they were defined in
+% \texttt{ltexpl.ltx} (in \texttt{2ekernel} mode) or in
+% \texttt{expl3.ltx} (in \texttt{package} mode).
+%
+% In \texttt{2ekernel} mode, if they exist we are using a future
+% (2020-10-01) release of \LaTeXe{} and we don't need (and can't)
+% patch \LaTeXe's internals because these commands are already there.
+% Though if they don't exist in \texttt{2ekernel} mode, we're using
+% an older version of the kernel, so we \emph{must} patch.
+%
+% In \texttt{package} mode, if these commands exist, then we are using
+% a version of \LaTeXe{} with \textsf{expl3} preloaded (any version)
+% and in any case patching is already done or the macros are in the
+% format itself, so nothing to do.
+% But if in \texttt{package} mode these macros don't exist, we have an
+% even older version of \LaTeXe{} which doesn't even have
+% \textsf{expl3} preloaded, so patching is necessary.
+%
+% All this means that in both \texttt{2ekernel} and \texttt{package}
+% mode we have to check whether \cs{@expl@sys@load@backend@@@@}
+% exists, and patch some \LaTeXe{} internals if it doesn't.
+%
+% In newer \LaTeXe{}, these macros have an empty definition in
+% \texttt{ltexpl.dtx} in case something wrong happens while loading
+% this file (\texttt{expl3.ltx}), so they can safely be used in the
+% \LaTeXe{} kernel.
+%
+% \cs{@expl@sys@load@backend@@@@} is inserted right at the beginning
+% of \cs{document}, but after closing the group started by \cs{begin}.
+% When using \cs{tl_put_left:Nn} to patch the backend loading in
+% \cs{document}, we need to make sure that it happens at group level
+% zero, thus the strange |\endgroup...\begingroup| thing.
+%
+% This chunk of code should only be executed when loading
+% \texttt{expl3.sty} in a \LaTeXe{} without \pkg{expl3} preloaded, so
+% we check if \cs{@expl@sys@load@backend@@@@} exists.
% \begin{macrocode}
-%<*2ekernel>
-\tl_put_left:Nn \document
+\cs_if_exist:NF \@expl@sys@load@backend@@@@
+ {
+ \tl_put_left:Nn \document
+ {
+ \endgroup
+ \@expl@sys@load@backend@@@@
+ \begingroup
+ }
+ }
+% \end{macrocode}
+%
+% Now we define it anyhow.
+% \begin{macrocode}
+\cs_gset_protected:Npn \@expl@sys@load@backend@@@@
{
- \endgroup
\str_if_exist:NF \c_sys_backend_str
{ \sys_load_backend:n { } }
- \begingroup
}
-%</2ekernel>
+% \end{macrocode}
+% \end{macro}
+%
+% Process package options.
+% \begin{macrocode}
%<*!2ekernel>
\keys_set:nV { sys } \l_@@_options_clist
\str_if_exist:NF \c_sys_backend_str
@@ -1315,15 +1398,14 @@
%</!2ekernel>
% \end{macrocode}
%
-% A test for pre-loading: does \tn{@pushfilenameaux} already exist.
-% The alrady-loaded mechanism will handle everything now.
% \begin{macrocode}
%<*!2ekernel>
-\cs_if_exist:NT \@pushfilenameaux
+\bool_if:NT \g_@@_reload_bool
{
\cs_gset_eq:NN \__kernel_sys_configuration_load:n
\__kernel_sys_configuration_load_std:n
- \endinput
+ \ExplSyntaxOff
+ \file_input_stop:
}
%</!2ekernel>
% \end{macrocode}
@@ -1354,17 +1436,28 @@
%
% \begin{macro}{\@pushfilename, \@popfilename}
% \begin{macro}{\@@_status_pop:w}
+% \begin{macro}{\@expl@push@filename@@@@}
+% \begin{macro}{\@expl@push@filename@aux@@@@}
+% \begin{macro}{\@expl@pop@filename@@@@}
% The idea here is to use \LaTeXe{}'s \tn{@pushfilename} and
% \tn{@popfilename} to track the current syntax status. This can be
% achieved by saving the current status flag at each push to a stack,
% then recovering it at the pop stage and checking if the code
% environment should still be active.
+%
+% Here the code follows the same patching logic than above for
+% \cs{@expl@sys@load@backend@@@@}.
% \begin{macrocode}
-\tl_put_left:Nn \@pushfilename
+\cs_if_exist:NF \@expl@push@filename@@@@
+ {
+ \tl_put_left:Nn \@pushfilename { \@expl@push@filename@@@@ }
+ \tl_put_right:Nn \@pushfilename { \@expl@push@filename@aux@@@@ }
+ }
+\cs_gset_protected:Npn \@expl@push@filename@@@@
{
\exp_args:Nx \__kernel_file_input_push:n
{
- \tl_to_str:N \@currname
+ \tl_to_str:N \@currname .
\tl_to_str:N \@currext
}
\tl_put_left:Nx \l_@@_status_stack_tl
@@ -1375,17 +1468,24 @@
}
\ExplSyntaxOff
}
-\tl_put_right:Nn \@pushfilename { \@pushfilenameaux }
% \end{macrocode}
% This bit of trickery is needed to grab the name of the file being loaded
% so we can record it.
% \begin{macrocode}
-\cs_set_protected:Npn \@pushfilenameaux #1#2#3
+\cs_gset_protected:Npn \@expl@push@filename@aux@@@@ #1#2#3
{
\str_gset:Nn \g_file_curr_name_str {#3}
#1 #2 {#3}
}
-\tl_put_right:Nn \@popfilename
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_if_exist:NF \@expl@pop@filename@@@@
+ {
+ \tl_put_right:Nn \@popfilename
+ { \@expl@pop@filename@@@@ }
+ }
+\cs_gset_protected:Npn \@expl@pop@filename@@@@
{
\__kernel_file_input_pop:
\tl_if_empty:NTF \l_@@_status_stack_tl
@@ -1407,6 +1507,9 @@
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
%
% \begin{variable}{\l_@@_status_stack_tl}
% As \pkg{expl3} itself cannot be loaded with the code environment
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx b/Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx
index 9784c0abc80..4fdce60bdc6 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx b/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
index 3e56c6d86ff..c871aeb7594 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx b/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
index fe25ffaf7fe..8ff412298c0 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3box.dtx b/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
index 90c12659420..a30bed22c79 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
index 5b9533868c9..a307cb02df5 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
@@ -268,44 +268,6 @@
%
% \section{Additions to \pkg{l3msg}}
%
-% In very rare cases it may be necessary to produce errors in an
-% expansion-only context. The functions in this section should only be
-% used if there is no alternative approach using \cs{msg_error:nnnnnn}
-% or other non-expandable commands from the previous section. Despite
-% having a similar interface as non-expandable messages, expandable
-% errors must be handled internally very differently from normal error
-% messages, as none of the tools to print to the terminal or the log
-% file are expandable. As a result, short-hands such as |\{| or |\\| do
-% not work, and messages must be very short (with default settings,
-% they are truncated after approximately 50 characters). It is
-% advisable to ensure that the message is understandable even when
-% truncated, by putting the most important information up front.
-% Another particularity of expandable messages is that they
-% cannot be redirected or turned off by the user.
-%
-% \begin{function}[EXP, added = 2015-08-06, updated = 2019-02-28]
-% {
-% \msg_expandable_error:nnnnnn ,
-% \msg_expandable_error:nnnnn ,
-% \msg_expandable_error:nnnn ,
-% \msg_expandable_error:nnn ,
-% \msg_expandable_error:nn ,
-% \msg_expandable_error:nnffff ,
-% \msg_expandable_error:nnfff ,
-% \msg_expandable_error:nnff ,
-% \msg_expandable_error:nnf ,
-% }
-% \begin{syntax}
-% \cs{msg_expandable_error:nnnnnn} \Arg{module} \Arg{message} \Arg{arg one} \Arg{arg two} \Arg{arg three} \Arg{arg four}
-% \end{syntax}
-% Issues an \enquote{Undefined error} message from \TeX{} itself
-% using the undefined control sequence \cs{::error} then prints
-% \enquote{! \meta{module}: }\meta{error message}, which should be
-% short. With default settings, anything beyond approximately $60$
-% characters long (or bytes in some engines) is cropped. A leading
-% space might be removed as well.
-% \end{function}
-%
% \begin{function}[added = 2017-12-04]{\msg_show_eval:Nn, \msg_log_eval:Nn}
% \begin{syntax}
% \cs{msg_show_eval:Nn} \meta{function} \Arg{expression}
@@ -520,26 +482,6 @@
% mappings.
% \end{function}
%
-% \begin{function}[rEXP,added = 2018-05-03]{\seq_indexed_map_function:NN}
-% \begin{syntax}
-% \cs{seq_indexed_map_function:NN} \meta{seq~var} \meta{function}
-% \end{syntax}
-% Applies \meta{function} to every entry in the \meta{sequence
-% variable}. The \meta{function} should have signature |:nn|. It
-% receives two arguments for each iteration: the \meta{index} (namely
-% |1| for the first entry, then |2| and so on) and the \meta{item}.
-% \end{function}
-%
-% \begin{function}[added = 2018-05-03]{\seq_indexed_map_inline:Nn}
-% \begin{syntax}
-% \cs{seq_indexed_map_inline:Nn} \meta{seq~var} \Arg{inline function}
-% \end{syntax}
-% Applies \meta{inline function} to every entry in the \meta{sequence
-% variable}. The \meta{inline function} should consist of code which
-% receives the \meta{index} (namely |1| for the first entry, then |2|
-% and so on) as~|#1| and the \meta{item} as~|#2|.
-% \end{function}
-%
% \section{Additions to \pkg{l3sys}}
%
% \begin{variable}[added = 2018-05-02]{\c_sys_engine_version_str}
@@ -958,56 +900,6 @@
%<@@=msg>
% \end{macrocode}
%
-% \begin{macro}[EXP]
-% {
-% \msg_expandable_error:nnnnnn ,
-% \msg_expandable_error:nnnnn ,
-% \msg_expandable_error:nnnn ,
-% \msg_expandable_error:nnn ,
-% \msg_expandable_error:nn ,
-% \msg_expandable_error:nnffff ,
-% \msg_expandable_error:nnfff ,
-% \msg_expandable_error:nnff ,
-% \msg_expandable_error:nnf
-% }
-% \begin{macro}{\@@_expandable_error_module:nn}
-% Pass to an auxiliary the message to display and the module name
-% \begin{macrocode}
-\cs_new:Npn \msg_expandable_error:nnnnnn #1#2#3#4#5#6
- {
- \exp_args:Ne \@@_expandable_error_module:nn
- {
- \exp_args:Nc \exp_args:Noooo
- { \c_@@_text_prefix_tl #1 / #2 }
- { \tl_to_str:n {#3} }
- { \tl_to_str:n {#4} }
- { \tl_to_str:n {#5} }
- { \tl_to_str:n {#6} }
- }
- {#1}
- }
-\cs_new:Npn \msg_expandable_error:nnnnn #1#2#3#4#5
- { \msg_expandable_error:nnnnnn {#1} {#2} {#3} {#4} {#5} { } }
-\cs_new:Npn \msg_expandable_error:nnnn #1#2#3#4
- { \msg_expandable_error:nnnnnn {#1} {#2} {#3} {#4} { } { } }
-\cs_new:Npn \msg_expandable_error:nnn #1#2#3
- { \msg_expandable_error:nnnnnn {#1} {#2} {#3} { } { } { } }
-\cs_new:Npn \msg_expandable_error:nn #1#2
- { \msg_expandable_error:nnnnnn {#1} {#2} { } { } { } { } }
-\cs_generate_variant:Nn \msg_expandable_error:nnnnnn { nnffff }
-\cs_generate_variant:Nn \msg_expandable_error:nnnnn { nnfff }
-\cs_generate_variant:Nn \msg_expandable_error:nnnn { nnff }
-\cs_generate_variant:Nn \msg_expandable_error:nnn { nnf }
-\cs_new:Npn \@@_expandable_error_module:nn #1#2
- {
- \exp_after:wN \exp_after:wN
- \exp_after:wN \@@_use_none_delimit_by_s_stop:w
- \use:n { \::error ! ~ #2 : ~ #1 } \s_@@_stop
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
% \begin{macro}{\msg_show_eval:Nn, \msg_log_eval:Nn, \@@_show_eval:nnN}
% A short-hand used for \cs{int_show:n} and similar functions that
% passes to \cs{tl_show:n} the result of applying |#1| (a
@@ -1301,50 +1193,6 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}
-% {
-% \seq_indexed_map_function:NN, \seq_indexed_map_inline:Nn,
-% \@@_indexed_map:nNN, \@@_indexed_map:Nw
-% }
-% Similar to \cs{seq_map_function:NN} but we keep track of the item
-% index as a |;|-delimited argument of \cs{@@_indexed_map:Nw}.
-% \begin{macrocode}
-\cs_new:Npn \seq_indexed_map_function:NN #1#2
- {
- \@@_indexed_map:NN #1#2
- \prg_break_point:Nn \seq_map_break: { }
- }
-\cs_new_protected:Npn \seq_indexed_map_inline:Nn #1#2
- {
- \int_gincr:N \g__kernel_prg_map_int
- \cs_gset_protected:cpn
- { @@_map_ \int_use:N \g__kernel_prg_map_int :w } ##1##2 {#2}
- \exp_args:NNc \@@_indexed_map:NN #1
- { @@_map_ \int_use:N \g__kernel_prg_map_int :w }
- \prg_break_point:Nn \seq_map_break:
- { \int_gdecr:N \g__kernel_prg_map_int }
- }
-\cs_new:Npn \@@_indexed_map:NN #1#2
- {
- \exp_after:wN \@@_indexed_map:Nw
- \exp_after:wN #2
- \int_value:w 1
- \exp_after:wN \use_i:nn
- \exp_after:wN ;
- #1
- \prg_break: \@@_item:n { } \prg_break_point:
- }
-\cs_new:Npn \@@_indexed_map:Nw #1#2 ; #3 \@@_item:n #4
- {
- #3
- #1 {#2} {#4}
- \exp_after:wN \@@_indexed_map:Nw
- \exp_after:wN #1
- \int_value:w \int_eval:w 1 + #2 ;
- }
-% \end{macrocode}
-% \end{macro}
-%
% \subsection{Additions to \pkg{l3sys}}
%
% \begin{macrocode}
@@ -1449,6 +1297,8 @@
% \end{macro}
% \end{macro}
%
+% \subsection{Additions to \pkg{l3tl}}
+%
% \subsubsection{Building a token list}
%
% \begin{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx b/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
index 1a71aaf93fe..a05860e2868 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx b/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
index 5051cd7fd34..b19b71f3f99 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx b/Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx
index a042985a33a..178cd98b19e 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
@@ -116,10 +116,9 @@
% number of data entries these require will depend on the number of
% colors to be mixed.
% \begin{texnote}
-% The content of \cs{l_@@_current_tl} is space-separated as
-% this allows it to be used directly in specials in many common cases.
-% This internal representation is close to that used by the \texttt{dvips}
-% program.
+% The content of \cs{l_@@_current_tl} comprises two brace groups, the
+% first containing the color model and the second containing the value(s)
+% applicable in that model.
% \end{texnote}
% \end{variable}
%
@@ -142,7 +141,7 @@
%<*package>
\@@_backend_pickup:N \l_@@_current_tl
%</package>
- \@@_select:V \l_@@_current_tl
+ \@@_select:N \l_@@_current_tl
}
% \end{macrocode}
% \end{macro}
@@ -154,28 +153,25 @@
% \end{macrocode}
% \end{variable}
%
-% \begin{macro}{\@@_select:n, \@@_select:V}
-% \begin{macro}{\@@_select:w}
+% \begin{macro}{\@@_select:N}
+% \begin{macro}{\@@_select:nn}
% Take an internal color specification and pass it to the driver. This code
% is needed to ensure the current color but will also be used by the
% higher-level experimental material.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_select:n #1
- { \@@_select:w #1 \s_@@_stop }
-\cs_generate_variant:Nn \@@_select:n { V }
-\cs_new_protected:Npn \@@_select:w #1 ~ #2 \s_@@_stop
- { \use:c { @@_backend_ #1 :w } #2 \s_@@_stop }
+\cs_new_protected:Npn \@@_select:N #1
+ { \exp_after:wN \@@_select:nn #1 }
+\cs_new_protected:Npn \@@_select:nn #1#2
+ { \use:c { @@_backend_ #1 :n } {#2} }
% \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{variable}{\l_@@_current_tl}
-% As the setting data is used only
-% for specials, and those are always space-separated, it makes most sense to
-% hold the internal information in that form.
+% The current color, with the model and
% \begin{macrocode}
\tl_new:N \l_@@_current_tl
-\tl_set:Nn \l_@@_current_tl { gray~0 }
+\tl_set:Nn \l_@@_current_tl { { gray } { 0 } }
% \end{macrocode}
% \end{variable}
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx b/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx
index f52b59a86ef..3aa7eb3998a 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx b/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
index 647c6ac1f79..012e0d32088 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
@@ -930,6 +930,20 @@
% \end{macro}
% \end{macro}
%
+% \subsection{Deprecated \pkg{l3seq} functions}
+%
+% \begin{macro}[EXP, deprecated = 2023-01-01]
+% {
+% \seq_indexed_map_inline:Nn, \seq_indexed_map_function:NN
+% }
+% \begin{macrocode}
+\__kernel_patch_deprecation:nnNNpn { 2022-07-01 } { \seq_map_indexed_inline:Nn }
+\cs_gset:Npn \seq_indexed_map_inline:Nn { \seq_map_indexed_inline:Nn }
+\__kernel_patch_deprecation:nnNNpn { 2022-07-01 } { \seq_map_indexed_function:NN }
+\cs_gset:Npn \seq_indexed_map_function:NN { \seq_map_indexed_function:NN }
+% \end{macrocode}
+% \end{macro}
+%
% \subsubsection{Deprecated \pkg{l3tl} functions}
%
% \begin{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx b/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
index 5a5a8714a96..ffb7269f492 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
@@ -79,7 +79,7 @@ and all files in that bundle must be distributed together.
%
% \title{The \cls{l3doc} class}
% \author{\Team}
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
% \maketitle
% \tableofcontents
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx b/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
index 1651afd3e22..a334b443d02 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx b/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
index bb8218281b7..df60bcd3ab8 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3file.dtx b/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
index e93d117612b..c189e4bdd95 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3final.dtx b/Master/texmf-dist/source/latex/l3kernel/l3final.dtx
index 85926053240..5f3a74fb0d0 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3final.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3final.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx b/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
index 281ef1a9b7f..de8f7b5046f 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
index c0dff407321..3ef09ee2c7b 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
% \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 46d089b2c66..adce22a4265 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
index 7d01b20929c..fd1cffd4948 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
index 15150ba29d2..8c8d4749181 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
index 42597305e65..93835e8c71c 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
index 445f206b511..67960e47fe6 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
index 9f08120f3b0..26c7ed784a3 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
index 442d10c798d..28257218e7e 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
index 2815ad46706..25e1d1cb9dc 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
index 15cdb3b3cd2..281e5339d0a 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
index 123c376a679..6c68c6181e1 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
% \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 28d41e3d065..dcf57a15f99 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
index ff90a196264..81b652565ae 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
index 0338cc9e764..da04ae867c2 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3int.dtx b/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
index 9e05786b9ae..a3d0ca4a8f8 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx b/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
index 3e4f8659c32..6ab5647a82a 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx b/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
index c15b4c7b9e6..e63035f68e8 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
index 4032b445815..c9dd6209f66 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx b/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx
index 0ff70d14655..0a71938f2b2 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx b/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
index 6fe7da633c0..56181c77b80 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx b/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
index af1e78d3ed2..f7182ea0920 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
@@ -423,6 +423,46 @@
% all (see the discussion of message redirection).
% \end{function}
%
+% \subsection{Expandable error messages}
+%
+% In very rare cases it may be necessary to produce errors in an
+% expansion-only context. The functions in this section should only be
+% used if there is no alternative approach using \cs{msg_error:nnnnnn}
+% or other non-expandable commands from the previous section. Despite
+% having a similar interface as non-expandable messages, expandable
+% errors must be handled internally very differently from normal error
+% messages, as none of the tools to print to the terminal or the log
+% file are expandable. As a result, short-hands such as |\{| or |\\| do
+% not work, and messages must be very short (with default settings,
+% they are truncated after approximately 50 characters). It is
+% advisable to ensure that the message is understandable even when
+% truncated, by putting the most important information up front.
+% Another particularity of expandable messages is that they
+% cannot be redirected or turned off by the user.
+%
+% \begin{function}[EXP, added = 2015-08-06, updated = 2019-02-28]
+% {
+% \msg_expandable_error:nnnnnn ,
+% \msg_expandable_error:nnnnn ,
+% \msg_expandable_error:nnnn ,
+% \msg_expandable_error:nnn ,
+% \msg_expandable_error:nn ,
+% \msg_expandable_error:nnffff ,
+% \msg_expandable_error:nnfff ,
+% \msg_expandable_error:nnff ,
+% \msg_expandable_error:nnf ,
+% }
+% \begin{syntax}
+% \cs{msg_expandable_error:nnnnnn} \Arg{module} \Arg{message} \Arg{arg one} \Arg{arg two} \Arg{arg three} \Arg{arg four}
+% \end{syntax}
+% Issues an \enquote{Undefined error} message from \TeX{} itself
+% using the undefined control sequence \cs{::error} then prints
+% \enquote{! \meta{module}: }\meta{error message}, which should be
+% short. With default settings, anything beyond approximately $60$
+% characters long (or bytes in some engines) is cropped. A leading
+% space might be removed as well.
+% \end{function}
+%
% \section{Redirecting messages}
%
% Each message has a \enquote{name}, which can be used to alter the behaviour
@@ -2098,6 +2138,56 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}[EXP]
+% {
+% \msg_expandable_error:nnnnnn ,
+% \msg_expandable_error:nnnnn ,
+% \msg_expandable_error:nnnn ,
+% \msg_expandable_error:nnn ,
+% \msg_expandable_error:nn ,
+% \msg_expandable_error:nnffff ,
+% \msg_expandable_error:nnfff ,
+% \msg_expandable_error:nnff ,
+% \msg_expandable_error:nnf
+% }
+% \begin{macro}{\@@_expandable_error_module:nn}
+% Pass to an auxiliary the message to display and the module name
+% \begin{macrocode}
+\cs_new:Npn \msg_expandable_error:nnnnnn #1#2#3#4#5#6
+ {
+ \exp_args:Ne \@@_expandable_error_module:nn
+ {
+ \exp_args:Nc \exp_args:Noooo
+ { \c_@@_text_prefix_tl #1 / #2 }
+ { \tl_to_str:n {#3} }
+ { \tl_to_str:n {#4} }
+ { \tl_to_str:n {#5} }
+ { \tl_to_str:n {#6} }
+ }
+ {#1}
+ }
+\cs_new:Npn \msg_expandable_error:nnnnn #1#2#3#4#5
+ { \msg_expandable_error:nnnnnn {#1} {#2} {#3} {#4} {#5} { } }
+\cs_new:Npn \msg_expandable_error:nnnn #1#2#3#4
+ { \msg_expandable_error:nnnnnn {#1} {#2} {#3} {#4} { } { } }
+\cs_new:Npn \msg_expandable_error:nnn #1#2#3
+ { \msg_expandable_error:nnnnnn {#1} {#2} {#3} { } { } { } }
+\cs_new:Npn \msg_expandable_error:nn #1#2
+ { \msg_expandable_error:nnnnnn {#1} {#2} { } { } { } { } }
+\cs_generate_variant:Nn \msg_expandable_error:nnnnnn { nnffff }
+\cs_generate_variant:Nn \msg_expandable_error:nnnnn { nnfff }
+\cs_generate_variant:Nn \msg_expandable_error:nnnn { nnff }
+\cs_generate_variant:Nn \msg_expandable_error:nnn { nnf }
+\cs_new:Npn \@@_expandable_error_module:nn #1#2
+ {
+ \exp_after:wN \exp_after:wN
+ \exp_after:wN \@@_use_none_delimit_by_s_stop:w
+ \use:n { \::error ! ~ #2 : ~ #1 } \s_@@_stop
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
% \begin{macrocode}
%</initex|package>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
index 23472c21411..3a49253af67 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
index e699596a5bf..52d6794833d 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
index 7158f5e8480..a85becf5e34 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx b/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
index c8e466b3cb4..3368fa159bc 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx b/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
index e20a6ca6ec0..30e355eada4 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
@@ -914,13 +914,12 @@
%
% \subsection{Helpers}
%
-% \begin{macro}
-% {\@@_int_eval:w}
+% \begin{macro}{\@@_int_eval:w}
% Access the primitive: performance is key here, so we do not use
% the slower route \emph{via} \cs{int_eval:n}.
% \begin{macrocode}
\cs_new_eq:NN \@@_int_eval:w \tex_numexpr:D
-% \end{macrocode}
+% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@@_standard_escapechar:}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx b/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
index 7b2121719de..40d829f96cb 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
@@ -578,6 +578,26 @@
% \meta{items} are returned from left to right.
% \end{function}
%
+% \begin{function}[rEXP,added = 2018-05-03]{\seq_map_indexed_function:NN}
+% \begin{syntax}
+% \cs{seq_map_indexed_function:NN} \meta{seq~var} \meta{function}
+% \end{syntax}
+% Applies \meta{function} to every entry in the \meta{sequence
+% variable}. The \meta{function} should have signature |:nn|. It
+% receives two arguments for each iteration: the \meta{index} (namely
+% |1| for the first entry, then |2| and so on) and the \meta{item}.
+% \end{function}
+%
+% \begin{function}[added = 2018-05-03]{\seq_map_indexed_inline:Nn}
+% \begin{syntax}
+% \cs{seq_map_indexed_inline:Nn} \meta{seq~var} \Arg{inline function}
+% \end{syntax}
+% Applies \meta{inline function} to every entry in the \meta{sequence
+% variable}. The \meta{inline function} should consist of code which
+% receives the \meta{index} (namely |1| for the first entry, then |2|
+% and so on) as~|#1| and the \meta{item} as~|#2|.
+% \end{function}
+%
% \begin{function}[rEXP, updated = 2012-06-29]{\seq_map_break:}
% \begin{syntax}
% \cs{seq_map_break:}
@@ -2018,6 +2038,50 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}
+% {
+% \seq_map_indexed_function:NN, \seq_map_indexed_inline:Nn,
+% \@@_map_indexed:nNN, \@@_map_indexed:Nw
+% }
+% Similar to \cs{seq_map_function:NN} but we keep track of the item
+% index as a |;|-delimited argument of \cs{@@_map_indexed:Nw}.
+% \begin{macrocode}
+\cs_new:Npn \seq_map_indexed_function:NN #1#2
+ {
+ \@@_map_indexed:NN #1#2
+ \prg_break_point:Nn \seq_map_break: { }
+ }
+\cs_new_protected:Npn \seq_map_indexed_inline:Nn #1#2
+ {
+ \int_gincr:N \g__kernel_prg_map_int
+ \cs_gset_protected:cpn
+ { @@_map_ \int_use:N \g__kernel_prg_map_int :w } ##1##2 {#2}
+ \exp_args:NNc \@@_map_indexed:NN #1
+ { @@_map_ \int_use:N \g__kernel_prg_map_int :w }
+ \prg_break_point:Nn \seq_map_break:
+ { \int_gdecr:N \g__kernel_prg_map_int }
+ }
+\cs_new:Npn \@@_map_indexed:NN #1#2
+ {
+ \exp_after:wN \@@_map_indexed:Nw
+ \exp_after:wN #2
+ \int_value:w 1
+ \exp_after:wN \use_i:nn
+ \exp_after:wN ;
+ #1
+ \prg_break: \@@_item:n { } \prg_break_point:
+ }
+\cs_new:Npn \@@_map_indexed:Nw #1#2 ; #3 \@@_item:n #4
+ {
+ #3
+ #1 {#2} {#4}
+ \exp_after:wN \@@_map_indexed:Nw
+ \exp_after:wN #1
+ \int_value:w \int_eval:w 1 + #2 ;
+ }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\seq_count:N, \seq_count:c}
% \begin{macro}{\@@_count:w, \@@_count_end:w}
% Since counting the items in a sequence is quite common, we optimize
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx b/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
index d8a1466c2fb..7b534be25c8 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx b/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
index f614da1a7ef..9163b494d0e 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx b/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx
index 4000a2d1f70..6a910b80400 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3str.dtx b/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
index 97d8fa5b436..a6fad22d022 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
index 911986e5d8c..8a27d4b78e8 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
index d2b228bb80d..b8e534b4b6e 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx
index 9509997cfde..2543dbebae7 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text.dtx
index 65032dbe3b9..00648a4b842 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3text.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3text.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
index 23bac066573..a5662491e16 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
index d265802b0f4..b10167ca25d 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3token.dtx b/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
index b3780ba69ed..d12c5deeed7 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx b/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
index 109d860637b..28452d5a2c8 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-06-03}
+% \date{Released 2020-06-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
index a82491c6aaa..8f5e5c407e6 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
@@ -25,7 +25,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvipdfmx.def}{2020-06-03}{}
+ {l3backend-dvipdfmx.def}{2020-06-18}{}
{L3 backend support: dvipdfmx}
\cs_new_eq:NN \__kernel_backend_literal:e \tex_special:D
\cs_new_protected:Npn \__kernel_backend_literal:n #1
@@ -52,8 +52,8 @@
{
\tl_set:Nx #1
{
- spot ~
- \exp_after:wN \use:n \current@color \c_space_tl 1
+ { spot }
+ { \exp_after:wN \use:n \current@color \c_space_tl 1 }
}
}
{
@@ -62,33 +62,22 @@
}
}
\cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3
- { \tl_set:Nn #3 { #1 ~ #2 } }
+ { \tl_set:Nn #3 { {#1} {#2} } }
}
}
-\cs_new_protected:Npn \__color_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
- {
- \__color_backend_select:x
- {
- cmyk~
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4}
- }
- }
-\cs_new_protected:Npn \__color_backend_gray:w #1 \s__color_stop
- { \__color_backend_select:x { gray~ \fp_eval:n {#1} } }
-\cs_new_protected:Npn \__color_backend_rgb:w #1 ~ #2 ~ #3 \s__color_stop
- {
- \__color_backend_select:x
- { rgb~ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} }
- }
-\cs_new_protected:Npn \__color_backend_spot:w #1 ~ #2 \s__color_stop
- { \__color_backend_select:n { #1 } }
+\cs_new_protected:Npn \__color_backend_cmyk:n #1
+ { \__color_backend_select:n { cmyk ~ #1 } }
+\cs_new_protected:Npn \__color_backend_gray:n #1
+ { \__color_backend_select:n { gray ~ #1 } }
+\cs_new_protected:Npn \__color_backend_rgb:n #1
+ { \__color_backend_select:n { rgb ~ #1 } }
+\cs_new_protected:Npn \__color_backend_spot:n #1
+ { \__color_backend_select:n {#1} }
\cs_new_protected:Npn \__color_backend_select:n #1
{
\__kernel_backend_literal:n { color~push~ #1 }
\group_insert_after:N \__color_backend_reset:
}
-\cs_generate_variant:Nn \__color_backend_select:n { x }
\cs_new_protected:Npn \__color_backend_reset:
{ \__kernel_backend_literal:n { color~pop } }
%% File: l3backend-box.dtx
@@ -219,7 +208,7 @@
{ \dim_to_decimal_in_bp:n {#1} ~ w }
}
\cs_new_protected:Npn \__draw_backend_miterlimit:n #1
- { \__draw_backend_literal:x { \fp_eval:n {#1} ~ M } }
+ { \__draw_backend_literal:x { #1 ~ M } }
\cs_new_protected:Npn \__draw_backend_cap_butt:
{ \__draw_backend_literal:n { 0 ~ J } }
\cs_new_protected:Npn \__draw_backend_cap_round:
@@ -232,38 +221,18 @@
{ \__draw_backend_literal:n { 1 ~ j } }
\cs_new_protected:Npn \__draw_backend_join_bevel:
{ \__draw_backend_literal:n { 2 ~ j } }
-\cs_new_protected:Npn \__draw_backend_color_fill_cmyk:nnnn #1#2#3#4
- {
- \__draw_backend_color_select:x
- {
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
- k
- }
- }
-\cs_new_protected:Npn \__draw_backend_color_stroke_cmyk:nnnn #1#2#3#4
- {
- \__draw_backend_color_select:x
- {
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
- k
- }
- }
+\cs_new_protected:Npn \__draw_backend_color_fill_cmyk:n #1
+ { \__draw_backend_color_select:n { #1 ~ k } }
+\cs_new_protected:Npn \__draw_backend_color_stroke_cmyk:n #1
+ { \__draw_backend_color_select:n { #1 ~ K } }
\cs_new_protected:Npn \__draw_backend_color_fill_gray:n #1
- { \__draw_backend_color_select:x { \fp_eval:n {#1} ~ g } }
+ { \__draw_backend_color_select:n { #1 ~ g } }
\cs_new_protected:Npn \__draw_backend_color_stroke_gray:n #1
- { \__draw_backend_color_select:x { \fp_eval:n {#1} ~ G } }
-\cs_new_protected:Npn \__draw_backend_color_fill_rgb:nnn #1#2#3
- {
- \__draw_backend_color_select:x
- { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ rg }
- }
-\cs_new_protected:Npn \__draw_backend_color_stroke_rgb:nnn #1#2#3
- {
- \__draw_backend_color_select:x
- { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ RG }
- }
+ { \__draw_backend_color_select:n { #1 ~ G } }
+\cs_new_protected:Npn \__draw_backend_color_fill_rgb:n #1
+ { \__draw_backend_color_select:n { #1 ~ rg } }
+\cs_new_protected:Npn \__draw_backend_color_stroke_rgb:n #1
+ { \__draw_backend_color_select:n { #1 ~ RG } }
\cs_new_eq:NN \__draw_backend_color_select:n \__kernel_backend_literal_pdf:n
\cs_generate_variant:Nn \__draw_backend_color_select:n { x }
\cs_new_protected:Npn \__draw_backend_cm:nnnn #1#2#3#4
@@ -339,13 +308,8 @@
\cs_new_protected:Npn \__draw_backend_box_use:Nnnnn #1#2#3#4#5
{
\__kernel_backend_scope_begin:
- \__kernel_backend_literal:x
- {
- pdf:btrans~matrix~
- \fp_eval:n {#2} ~ \fp_eval:n {#3} ~
- \fp_eval:n {#4} ~ \fp_eval:n {#5} ~
- 0 ~ 0
- }
+ \__kernel_backend_literal:n
+ { pdf:btrans~matrix~ #2 ~ #3 ~ #4 ~ #5 ~ 0 ~ 0 }
\hbox_overlap_right:n { \box_use:N #1 }
\__kernel_backend_literal:n { pdf:etrans }
\__kernel_backend_scope_end:
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
index 4c768d9628a..bf161ed1b35 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
@@ -25,7 +25,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvips.def}{2020-06-03}{}
+ {l3backend-dvips.def}{2020-06-18}{}
{L3 backend support: dvips}
\cs_new_eq:NN \__kernel_backend_literal:e \tex_special:D
\cs_new_protected:Npn \__kernel_backend_literal:n #1
@@ -73,8 +73,8 @@
{
\tl_set:Nx #1
{
- spot ~
- \exp_after:wN \use:n \current@color \c_space_tl 1
+ { spot }
+ { \exp_after:wN \use:n \current@color \c_space_tl 1 }
}
}
{
@@ -83,34 +83,23 @@
}
}
\cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3
- { \tl_set:Nn #3 { #1 ~ #2 } }
+ { \tl_set:Nn #3 { {#1} {#2} } }
}
}
-\cs_new_protected:Npn \__color_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
- {
- \__color_backend_select:x
- {
- cmyk~
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4}
- }
- }
-\cs_new_protected:Npn \__color_backend_gray:w #1 \s__color_stop
- { \__color_backend_select:x { gray~ \fp_eval:n {#1} } }
-\cs_new_protected:Npn \__color_backend_rgb:w #1 ~ #2 ~ #3 \s__color_stop
- {
- \__color_backend_select:x
- { rgb~ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} }
- }
-\cs_new_protected:Npn \__color_backend_spot:w #1 ~ #2 \s__color_stop
- { \__color_backend_select:n { #1 } }
+\cs_new_protected:Npn \__color_backend_cmyk:n #1
+ { \__color_backend_select:n { cmyk ~ #1 } }
+\cs_new_protected:Npn \__color_backend_gray:n #1
+ { \__color_backend_select:n { gray ~ #1 } }
+\cs_new_protected:Npn \__color_backend_rgb:n #1
+ { \__color_backend_select:n { rgb ~ #1 } }
+\cs_new_protected:Npn \__color_backend_spot:n #1
+ { \__color_backend_select:n {#1} }
\cs_new_protected:Npn \__color_backend_select:n #1
{
\__kernel_backend_literal:n { color~push~ #1 }
\__kernel_backend_postscript:n { /color.fc~{ }~def }
\group_insert_after:N \__color_backend_reset:
}
-\cs_generate_variant:Nn \__color_backend_select:n { x }
\cs_new_protected:Npn \__color_backend_reset:
{ \__kernel_backend_literal:n { color~pop } }
%% File: l3backend-box.dtx
@@ -324,7 +313,7 @@
{ \dim_to_decimal_in_bp:n {#1} ~ setlinewidth }
}
\cs_new_protected:Npn \__draw_backend_miterlimit:n #1
- { \__draw_backend_literal:x { \fp_eval:n {#1} ~ setmiterlimit } }
+ { \__draw_backend_literal:n { #1 ~ setmiterlimit } }
\cs_new_protected:Npn \__draw_backend_cap_butt:
{ \__draw_backend_literal:n { 0 ~ setlinecap } }
\cs_new_protected:Npn \__draw_backend_cap_round:
@@ -337,61 +326,32 @@
{ \__draw_backend_literal:n { 1 ~ setlinejoin } }
\cs_new_protected:Npn \__draw_backend_join_bevel:
{ \__draw_backend_literal:n { 2 ~ setlinejoin } }
-\cs_new_protected:Npn \__draw_backend_color_fill_cmyk:nnnn #1#2#3#4
- {
- \__draw_backend_color_fill:x
- {
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
- setcmykcolor
- }
- }
-\cs_new_protected:Npn \__draw_backend_color_stroke_cmyk:nnnn #1#2#3#4
- {
- \__draw_backend_color_stroke:x
- {
- cmyk ~
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4}
- }
- }
-\cs_new_protected:Npn \__draw_backend_color_fill_gray:n #1
- { \__draw_backend_color_fill:x { \fp_eval:n {#1} ~ setgray } }
+\cs_new_protected:Npn \__draw_backend_color_fill_cmyk:n #1
+ { \__draw_backend_color_fill:n { #1 ~ setcmykcolor } }
+\cs_new_protected:Npn \__draw_backend_color_stroke_cmyk:n #1
+ { \__draw_backend_color_stroke:n { cmyk ~ #1 } }
\cs_new_protected:Npn \__draw_backend_color_stroke_gray:n #1
- { \__draw_backend_color_stroke:x { gray ~ \fp_eval:n {#1} } }
-\cs_new_protected:Npn \__draw_backend_color_fill_rgb:nnn #1#2#3
- {
- \__draw_backend_color_fill:x
- { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ setrgbcolor }
- }
-\cs_new_protected:Npn \__draw_backend_color_stroke_rgb:nnn #1#2#3
- {
- \__draw_backend_color_stroke:x
- { rgb ~ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} }
- }
+ { \__draw_backend_color_fill:n { #1 ~ setgray } }
+\cs_new_protected:Npn \__draw_backend_color_fill_gray:n #1
+ { \__draw_backend_color_stroke:n { gray ~ #1 } }
+\cs_new_protected:Npn \__draw_backend_color_fill_rgb:n #1
+ { \__draw_backend_color_fill:n { #1 ~ setrgbcolor } }
+\cs_new_protected:Npn \__draw_backend_color_stroke_rgb:n #1
+ { \__draw_backend_color_stroke:n { rgb ~ #1 } }
\cs_new_protected:Npn \__draw_backend_color_fill:n #1
{
\__kernel_backend_postscript:n
{ /color.fc ~ { #1 } ~ def }
}
-\cs_generate_variant:Nn \__draw_backend_color_fill:n { x }
\cs_new_protected:Npn \__draw_backend_color_stroke:n #1
{
\__kernel_backend_literal:n { color~push~#1 }
\group_insert_after:N \__draw_color_reset:
}
-\cs_generate_variant:Nn \__draw_backend_color_stroke:n { x }
\cs_new_protected:Npn \__draw_backend_cm:nnnn #1#2#3#4
{
\__draw_backend_literal:n
- {
- [
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
- 0 ~ 0
- ] ~
- concat
- }
+ { [ #1 ~ #2 ~ #3 ~ #4 ~ 0 ~ 0 ] ~ concat }
}
\cs_new_protected:Npn \__draw_backend_box_use:Nnnnn #1#2#3#4#5
{
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
index 06d084a246d..a8c31ce3c10 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
@@ -25,7 +25,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvisvgm.def}{2020-06-03}{}
+ {l3backend-dvisvgm.def}{2020-06-18}{}
{L3 backend support: dvisvgm}
\cs_new_eq:NN \__kernel_backend_literal:e \tex_special:D
\cs_new_protected:Npn \__kernel_backend_literal:n #1
@@ -53,8 +53,8 @@
{
\tl_set:Nx #1
{
- spot ~
- \exp_after:wN \use:n \current@color \c_space_tl 1
+ { spot }
+ { \exp_after:wN \use:n \current@color \c_space_tl 1 }
}
}
{
@@ -63,33 +63,22 @@
}
}
\cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3
- { \tl_set:Nn #3 { #1 ~ #2 } }
+ { \tl_set:Nn #3 { {#1} {#2} } }
}
}
-\cs_new_protected:Npn \__color_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
- {
- \__color_backend_select:x
- {
- cmyk~
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4}
- }
- }
-\cs_new_protected:Npn \__color_backend_gray:w #1 \s__color_stop
- { \__color_backend_select:x { gray~ \fp_eval:n {#1} } }
-\cs_new_protected:Npn \__color_backend_rgb:w #1 ~ #2 ~ #3 \s__color_stop
- {
- \__color_backend_select:x
- { rgb~ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} }
- }
-\cs_new_protected:Npn \__color_backend_spot:w #1 ~ #2 \s__color_stop
- { \__color_backend_select:n { #1 } }
+\cs_new_protected:Npn \__color_backend_cmyk:n #1
+ { \__color_backend_select:n { cmyk ~ #1 } }
+\cs_new_protected:Npn \__color_backend_gray:n #1
+ { \__color_backend_select:n { gray ~ #1 } }
+\cs_new_protected:Npn \__color_backend_rgb:n #1
+ { \__color_backend_select:n { rgb ~ #1 } }
+\cs_new_protected:Npn \__color_backend_spot:n #1
+ { \__color_backend_select:n {#1} }
\cs_new_protected:Npn \__color_backend_select:n #1
{
\__kernel_backend_literal:n { color~push~ #1 }
\group_insert_after:N \__color_backend_reset:
}
-\cs_generate_variant:Nn \__color_backend_select:n { x }
\cs_new_protected:Npn \__color_backend_reset:
{ \__kernel_backend_literal:n { color~pop } }
%% File: l3backend-box.dtx
@@ -353,7 +342,7 @@
\cs_new_protected:Npn \__draw_backend_linewidth:n #1
{ \__draw_backend_scope:x { stroke-width=" \dim_to_decimal:n {#1} " } }
\cs_new_protected:Npn \__draw_backend_miterlimit:n #1
- { \__draw_backend_scope:x { stroke-miterlimit=" \fp_eval:n {#1} " } }
+ { \__draw_backend_scope:x { stroke-miterlimit=" #1 " } }
\cs_new_protected:Npn \__draw_backend_cap_butt:
{ \__draw_backend_scope:n { stroke-linecap="butt" } }
\cs_new_protected:Npn \__draw_backend_cap_round:
@@ -366,25 +355,21 @@
{ \__draw_backend_scope:n { stroke-linejoin="round" } }
\cs_new_protected:Npn \__draw_backend_join_bevel:
{ \__draw_backend_scope:n { stroke-linejoin="bevel" } }
-\cs_new_protected:Npn \__draw_backend_color_fill_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \__draw_backend_color_fill_cmyk:n #1
+ { \__draw_backend_color_fill_cmyk:w #1 \s__draw_stop }
+\cs_new_protected:Npn \__draw_backend_color_fill_cmyk:w
+ #1 ~ #2 ~ #3 ~ #4 \s__draw_stop
{
\use:x
{
\__draw_backend_color_fill:nnn
- { \fp_eval:n { -100 * ( (#1) * ( 1 - (#4) ) - 1 ) } }
- { \fp_eval:n { -100 * ( (#2) * ( 1 - (#4) ) + #4 - 1 ) } }
- { \fp_eval:n { -100 * ( (#3) * ( 1 - (#4) ) + #4 - 1 ) } }
- }
- }
-\cs_new_protected:Npn \__draw_backend_color_stroke_cmyk:nnnn #1#2#3#4
- {
- \__draw_backend_select:x
- {
- cmyk~
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4}
+ { \fp_eval:n { -100 * ( 1 - min ( 1 , #1 + #4 ) ) } }
+ { \fp_eval:n { -100 * ( 1 - min ( 1 , #2 + #4 ) ) } }
+ { \fp_eval:n { -100 * ( 1 - min ( 1 , #3 + #4 ) ) } }
}
}
+\cs_new_protected:Npn \__draw_backend_color_stroke_cmyk:n #1
+ { \__draw_backend_select:n { cmyk ~ #1 } }
\cs_new_protected:Npn \__draw_backend_color_fill_gray:n #1
{
\use:x
@@ -397,7 +382,7 @@
{ \__draw_backend_color_fill:nnn {#1} {#1} {#1} }
\cs_new_protected:Npn \__draw_backend_color_stroke_gray:n #1
{ \__draw_backend_select:x { gray~ \fp_eval:n {#1} } }
-\cs_new_protected:Npn \__draw_backend_color_fill_rgb:nnn #1#2#3
+\cs_new_protected:Npn \__draw_backend_color_fill_rgb:n #1
{
\use:x
{
@@ -422,24 +407,14 @@
"
}
}
-\cs_new_protected:Npn \__draw_backend_color_stroke_rgb:nnn #1#2#3
- {
- \__draw_backend_select:x
- { rgb~ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} }
- }
+\cs_new_protected:Npn \__draw_backend_color_stroke_rgb:n #1
+ { \__draw_backend_select:n { rgb ~ #1 } }
\cs_new_protected:Npn \__draw_backend_cm:nnnn #1#2#3#4
{
\__draw_backend_scope:n
{
transform =
- "
- matrix
- (
- \fp_eval:n {#1} , \fp_eval:n {#2} ,
- \fp_eval:n {#3} , \fp_eval:n {#4} ,
- 0pt , 0pt
- )
- "
+ " matrix ( #1 , #2 , #3 , #4 , 0pt , 0pt ) "
}
}
\cs_new_protected:Npn \__draw_backend_box_use:Nnnnn #1#2#3#4#5#6#7
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def
index 1e89dc857e6..688d84b9c79 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def
@@ -25,7 +25,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-pdfmode.def}{2020-06-03}{}
+ {l3backend-pdfmode.def}{2020-06-18}{}
{L3 backend support: PDF mode}
\cs_new_eq:NN \__kernel_backend_literal:e \tex_special:D
\cs_new_protected:Npn \__kernel_backend_literal:n #1
@@ -82,20 +82,20 @@
#1 ~ #2 ~ #3 ~ #4 ~ #5 ~ #6 \s__color_stop #7
{
\str_if_eq:nnTF {#2} { g }
- { \tl_set:Nn #7 { gray ~ #1 } }
+ { \tl_set:Nn #7 { { gray } {#1} } }
{
\str_if_eq:nnTF {#4} { rg }
- { \tl_set:Nn #7 { rgb ~ #1 ~ #2 ~ #3 } }
+ { \tl_set:Nn #7 { { rgb } { #1 ~ #2 ~ #3 } } }
{
\str_if_eq:nnTF {#5} { k }
- { \tl_set:Nn #7 { cmyk ~ #1 ~ #2 ~ #3 ~ #4 } }
+ { \tl_set:Nn #7 { { cmyk } { #1 ~ #2 ~ #3 ~ #4 } } }
{
\str_if_eq:nnTF {#2} { cs }
{
- \tl_set:Nx #7 { spot ~ \use_none:n #1 ~ #5 }
+ \tl_set:Nx #7 { { spot } { \use_none:n #1 ~ #5 } }
}
{
- \tl_set:Nn #7 { gray ~ 0 }
+ \tl_set:Nn #7 { { gray } { 0 } }
}
}
}
@@ -104,40 +104,16 @@
}
}
\int_new:N \l__kernel_color_stack_int
-\cs_new_protected:Npn \__color_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
- {
- \use:x
- {
- \__color_backend_cmyk:nnnn
- { \fp_eval:n {#1} }
- { \fp_eval:n {#2} }
- { \fp_eval:n {#3} }
- { \fp_eval:n {#4} }
- }
- }
-\cs_new_protected:Npn \__color_backend_cmyk:nnnn #1#2#3#4
- {
- \__color_backend_select:n
- { #1 ~ #2 ~ #3 ~ #4 ~ k ~ #1 ~ #2 ~ #3 ~ #4 ~ K }
- }
-\cs_new_protected:Npn \__color_backend_gray:w #1 \s__color_stop
- { \exp_args:Nx \__color_backend_gray:n { \fp_eval:n {#1} } }
+\cs_new_protected:Npn \__color_backend_cmyk:n #1
+ { \__color_backend_select:n { #1 ~ k ~ #1 ~ K } }
\cs_new_protected:Npn \__color_backend_gray:n #1
{ \__color_backend_select:n { #1 ~ g ~ #1 ~ G } }
-\cs_new_protected:Npn \__color_backend_rgb:w #1~ #2 ~ #3 \s__color_stop
- {
- \use:x
- {
- \__color_backend_rgb:nnn
- { \fp_eval:n {#1} }
- { \fp_eval:n {#2} }
- { \fp_eval:n {#3} }
- }
- }
-\cs_new_protected:Npn \__color_backend_rgb:nnn #1#2#3
- { \__color_backend_select:n { #1 ~ #2 ~ #3 ~ rg ~ #1 ~ #2 ~ #3 ~ RG } }
+\cs_new_protected:Npn \__color_backend_rgb:n #1
+ { \__color_backend_select:n { #1 ~ rg ~ #1 ~ RG } }
+\cs_new_protected:Npn \__color_backend_spot:n #1
+ { \__color_backend_spot:w #1 \s__color_stop }
\cs_new_protected:Npn \__color_backend_spot:w #1 ~ #2 \s__color_stop
- { \__color_backend_select:n { /#1 ~ cs ~ /#1 ~ CS ~ #2 ~ sc ~ #2 ~ SC } }
+ { \__color_backend_select:n { /#1 ~ cs ~ /#1 ~ CS ~ #2 ~ scn ~ #2 ~ SCN } }
\cs_new_protected:Npx \__color_backend_select:n #1
{
\cs_if_exist:NTF \tex_pdfextension:D
@@ -146,7 +122,6 @@
\exp_not:N \l__kernel_color_stack_int push {#1}
\group_insert_after:N \exp_not:N \__color_backend_reset:
}
-\cs_generate_variant:Nn \__color_backend_select:n { x }
\cs_new_protected:Npx \__color_backend_reset:
{
\cs_if_exist:NTF \tex_pdfextension:D
@@ -295,7 +270,7 @@
{ \dim_to_decimal_in_bp:n {#1} ~ w }
}
\cs_new_protected:Npn \__draw_backend_miterlimit:n #1
- { \__draw_backend_literal:x { \fp_eval:n {#1} ~ M } }
+ { \__draw_backend_literal:x { #1 ~ M } }
\cs_new_protected:Npn \__draw_backend_cap_butt:
{ \__draw_backend_literal:n { 0 ~ J } }
\cs_new_protected:Npn \__draw_backend_cap_round:
@@ -308,38 +283,18 @@
{ \__draw_backend_literal:n { 1 ~ j } }
\cs_new_protected:Npn \__draw_backend_join_bevel:
{ \__draw_backend_literal:n { 2 ~ j } }
-\cs_new_protected:Npn \__draw_backend_color_fill_cmyk:nnnn #1#2#3#4
- {
- \__draw_backend_color_select:x
- {
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
- k
- }
- }
-\cs_new_protected:Npn \__draw_backend_color_stroke_cmyk:nnnn #1#2#3#4
- {
- \__draw_backend_color_select:x
- {
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
- k
- }
- }
+\cs_new_protected:Npn \__draw_backend_color_fill_cmyk:n #1
+ { \__draw_backend_color_select:n { #1 ~ k } }
+\cs_new_protected:Npn \__draw_backend_color_stroke_cmyk:n #1
+ { \__draw_backend_color_select:n { #1 ~ K } }
\cs_new_protected:Npn \__draw_backend_color_fill_gray:n #1
- { \__draw_backend_color_select:x { \fp_eval:n {#1} ~ g } }
+ { \__draw_backend_color_select:n { #1 ~ g } }
\cs_new_protected:Npn \__draw_backend_color_stroke_gray:n #1
- { \__draw_backend_color_select:x { \fp_eval:n {#1} ~ G } }
-\cs_new_protected:Npn \__draw_backend_color_fill_rgb:nnn #1#2#3
- {
- \__draw_backend_color_select:x
- { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ rg }
- }
-\cs_new_protected:Npn \__draw_backend_color_stroke_rgb:nnn #1#2#3
- {
- \__draw_backend_color_select:x
- { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ RG }
- }
+ { \__draw_backend_color_select:n { #1 ~ G } }
+\cs_new_protected:Npn \__draw_backend_color_fill_rgb:n #1
+ { \__draw_backend_color_select:n { #1 ~ rg } }
+\cs_new_protected:Npn \__draw_backend_color_stroke_rgb:n #1
+ { \__draw_backend_color_select:n { #1 ~ RG } }
\cs_new_protected:Npx \__draw_backend_color_select:n #1
{
\cs_if_exist:NTF \tex_pdfextension:D
@@ -358,11 +313,7 @@
\cs_generate_variant:Nn \__draw_backend_color_select:n { x }
\cs_new_protected:Npn \__draw_backend_cm:nnnn #1#2#3#4
{
- \__kernel_backend_matrix:x
- {
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4}
- }
+ \__kernel_backend_matrix:n { #1 ~ #2 ~ #3 ~ #4 }
}
\cs_new_protected:Npn \__draw_backend_box_use:Nnnnn #1#2#3#4#5
{
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-xdvipdfmx.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-xdvipdfmx.def
index e385c1bcf80..2a093aae8dc 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-xdvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-xdvipdfmx.def
@@ -25,7 +25,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-xdvipdfmx.def}{2020-06-03}{}
+ {l3backend-xdvipdfmx.def}{2020-06-18}{}
{L3 backend support: xdvipdfmx}
\cs_new_eq:NN \__kernel_backend_literal:e \tex_special:D
\cs_new_protected:Npn \__kernel_backend_literal:n #1
@@ -52,8 +52,8 @@
{
\tl_set:Nx #1
{
- spot ~
- \exp_after:wN \use:n \current@color \c_space_tl 1
+ { spot }
+ { \exp_after:wN \use:n \current@color \c_space_tl 1 }
}
}
{
@@ -62,33 +62,22 @@
}
}
\cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3
- { \tl_set:Nn #3 { #1 ~ #2 } }
+ { \tl_set:Nn #3 { {#1} {#2} } }
}
}
-\cs_new_protected:Npn \__color_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
- {
- \__color_backend_select:x
- {
- cmyk~
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4}
- }
- }
-\cs_new_protected:Npn \__color_backend_gray:w #1 \s__color_stop
- { \__color_backend_select:x { gray~ \fp_eval:n {#1} } }
-\cs_new_protected:Npn \__color_backend_rgb:w #1 ~ #2 ~ #3 \s__color_stop
- {
- \__color_backend_select:x
- { rgb~ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} }
- }
-\cs_new_protected:Npn \__color_backend_spot:w #1 ~ #2 \s__color_stop
- { \__color_backend_select:n { #1 } }
+\cs_new_protected:Npn \__color_backend_cmyk:n #1
+ { \__color_backend_select:n { cmyk ~ #1 } }
+\cs_new_protected:Npn \__color_backend_gray:n #1
+ { \__color_backend_select:n { gray ~ #1 } }
+\cs_new_protected:Npn \__color_backend_rgb:n #1
+ { \__color_backend_select:n { rgb ~ #1 } }
+\cs_new_protected:Npn \__color_backend_spot:n #1
+ { \__color_backend_select:n {#1} }
\cs_new_protected:Npn \__color_backend_select:n #1
{
\__kernel_backend_literal:n { color~push~ #1 }
\group_insert_after:N \__color_backend_reset:
}
-\cs_generate_variant:Nn \__color_backend_select:n { x }
\cs_new_protected:Npn \__color_backend_reset:
{ \__kernel_backend_literal:n { color~pop } }
%% File: l3backend-box.dtx
@@ -219,7 +208,7 @@
{ \dim_to_decimal_in_bp:n {#1} ~ w }
}
\cs_new_protected:Npn \__draw_backend_miterlimit:n #1
- { \__draw_backend_literal:x { \fp_eval:n {#1} ~ M } }
+ { \__draw_backend_literal:x { #1 ~ M } }
\cs_new_protected:Npn \__draw_backend_cap_butt:
{ \__draw_backend_literal:n { 0 ~ J } }
\cs_new_protected:Npn \__draw_backend_cap_round:
@@ -232,38 +221,18 @@
{ \__draw_backend_literal:n { 1 ~ j } }
\cs_new_protected:Npn \__draw_backend_join_bevel:
{ \__draw_backend_literal:n { 2 ~ j } }
-\cs_new_protected:Npn \__draw_backend_color_fill_cmyk:nnnn #1#2#3#4
- {
- \__draw_backend_color_select:x
- {
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
- k
- }
- }
-\cs_new_protected:Npn \__draw_backend_color_stroke_cmyk:nnnn #1#2#3#4
- {
- \__draw_backend_color_select:x
- {
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
- k
- }
- }
+\cs_new_protected:Npn \__draw_backend_color_fill_cmyk:n #1
+ { \__draw_backend_color_select:n { #1 ~ k } }
+\cs_new_protected:Npn \__draw_backend_color_stroke_cmyk:n #1
+ { \__draw_backend_color_select:n { #1 ~ K } }
\cs_new_protected:Npn \__draw_backend_color_fill_gray:n #1
- { \__draw_backend_color_select:x { \fp_eval:n {#1} ~ g } }
+ { \__draw_backend_color_select:n { #1 ~ g } }
\cs_new_protected:Npn \__draw_backend_color_stroke_gray:n #1
- { \__draw_backend_color_select:x { \fp_eval:n {#1} ~ G } }
-\cs_new_protected:Npn \__draw_backend_color_fill_rgb:nnn #1#2#3
- {
- \__draw_backend_color_select:x
- { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ rg }
- }
-\cs_new_protected:Npn \__draw_backend_color_stroke_rgb:nnn #1#2#3
- {
- \__draw_backend_color_select:x
- { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ RG }
- }
+ { \__draw_backend_color_select:n { #1 ~ G } }
+\cs_new_protected:Npn \__draw_backend_color_fill_rgb:n #1
+ { \__draw_backend_color_select:n { #1 ~ rg } }
+\cs_new_protected:Npn \__draw_backend_color_stroke_rgb:n #1
+ { \__draw_backend_color_select:n { #1 ~ RG } }
\cs_new_eq:NN \__draw_backend_color_select:n \__kernel_backend_literal_pdf:n
\cs_generate_variant:Nn \__draw_backend_color_select:n { x }
\cs_new_protected:Npn \__draw_backend_cm:nnnn #1#2#3#4
@@ -339,13 +308,8 @@
\cs_new_protected:Npn \__draw_backend_box_use:Nnnnn #1#2#3#4#5
{
\__kernel_backend_scope_begin:
- \__kernel_backend_literal:x
- {
- pdf:btrans~matrix~
- \fp_eval:n {#2} ~ \fp_eval:n {#3} ~
- \fp_eval:n {#4} ~ \fp_eval:n {#5} ~
- 0 ~ 0
- }
+ \__kernel_backend_literal:n
+ { pdf:btrans~matrix~ #2 ~ #3 ~ #4 ~ #5 ~ 0 ~ 0 }
\hbox_overlap_right:n { \box_use:N #1 }
\__kernel_backend_literal:n { pdf:etrans }
\__kernel_backend_scope_end:
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty b/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
index 460e957494e..8cfd64a9f3c 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
@@ -20,7 +20,7 @@
%%
%% File: l3benchmark.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3benchmark}{2020-06-03}{}
+\ProvidesExplPackage{l3benchmark}{2020-06-18}{}
{L3 Experimental benchmarking}
\sys_if_engine_luatex:TF
{
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty b/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty
index fb13a807d29..05010d629cf 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty
@@ -20,7 +20,7 @@
%%
%% File: l3cctab.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3cctab}{2020-06-03}{}
+\ProvidesExplPackage{l3cctab}{2020-06-18}{}
{L3 Experimental category code tables}
\int_new:N \g__cctab_allocate_int
\int_gset:Nn \g__cctab_allocate_int { -1 }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
index 86ebda3e33e..5020a57c4dd 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
\RequirePackage{expl3}
-\ProvidesExplPackage{l3color}{2020-06-03}{}
+\ProvidesExplPackage{l3color}{2020-06-18}{}
{L3 Experimental color support}
\tl_new:N \l__color_internal_tl
\scan_new:N \s__color_mark
@@ -33,13 +33,13 @@
\cs_new_protected:Npn \__color_extract:nNN #1#2#3
{
\exp_after:wN \exp_after:wN \exp_after:wN
- \__color_extract:NNw
+ \__color_extract:NNnn
\exp_after:wN \exp_after:wN \exp_after:wN #2
\exp_after:wN \exp_after:wN \exp_after:wN #3
- \cs:w l__color_named_ #1 _tl \cs_end: \s__color_stop
+ \cs:w l__color_named_ #1 _tl \cs_end:
}
\cs_generate_variant:Nn \__color_extract:nNN { V }
-\cs_new_protected:Npn \__color_extract:NNw #1#2 #3 ~ #4 \s__color_stop
+\cs_new_protected:Npn \__color_extract:NNnn #1#2#3#4
{
\tl_set:Nn #1 {#3}
\tl_set:Nn #2 {#4}
@@ -117,7 +117,7 @@
\__color_extract:nNN {#2} \l__color_model_tl \l__color_value_tl
\__color_parse_loop:w #3 ! ! ! ! \s__color_stop
\tl_set:Nx \l__color_internal_tl
- { \l__color_model_tl \c_space_tl \l__color_value_tl }
+ { { \l__color_model_tl } { \l__color_value_tl } }
\exp_args:NNNV \group_end:
\tl_set:Nn #1 \l__color_internal_tl
}
@@ -216,26 +216,30 @@
\fp_eval:n { #5 * #1 + #9 * ( 1 - #1 ) }
}
\cs_new:Npn \__color_parse_model_gray:w #1 , #2 \s__color_stop
- { gray ~ \__color_parse_number:n {#1} }
+ { { gray } { \__color_parse_number:n {#1} } }
\cs_new:Npn \__color_parse_model_rgb:w #1 , #2 , #3 , #4 \s__color_stop
{
- rgb ~
- \__color_parse_number:n {#1} ~
- \__color_parse_number:n {#2} ~
- \__color_parse_number:n {#3}
+ { rgb }
+ {
+ \__color_parse_number:n {#1} ~
+ \__color_parse_number:n {#2} ~
+ \__color_parse_number:n {#3}
+ }
}
\cs_new:Npn \__color_parse_model_cmyk:w #1 , #2 , #3 , #4 , #5 \s__color_stop
{
- cmyk ~
- \__color_parse_number:n {#1} ~
- \__color_parse_number:n {#2} ~
- \__color_parse_number:n {#3} ~
- \__color_parse_number:n {#4}
+ { cmyk }
+ {
+ \__color_parse_number:n {#1} ~
+ \__color_parse_number:n {#2} ~
+ \__color_parse_number:n {#3} ~
+ \__color_parse_number:n {#4}
+ }
}
\cs_new:Npn \__color_parse_model_spot:w #1 , #2 \s__color_stop
{
- spot ~
- \__color_parse_spot_aux:w #1 ! 100 ! \s__color_stop
+ { spot }
+ { \__color_parse_spot_aux:w #1 ! 100 ! \s__color_stop }
}
\cs_new:Npn \__color_parse_spot_aux:w #1 ! #2 ! #3 \s__color_stop
{ #1 ~ \fp_eval:n { #2 / 100 } }
@@ -250,9 +254,11 @@
}
\cs_new:Npn \__color_parse_model_hsb:nnn #1#2#3
{
- rgb ~
- \exp_args:Ne \__color_parse_model_hsb_aux:nnn
- { \fp_eval:n { 6 * #1 } } {#2} {#3}
+ { rgb }
+ {
+ \exp_args:Ne \__color_parse_model_hsb_aux:nnn
+ { \fp_eval:n { 6 * #1 } } {#2} {#3}
+ }
}
\cs_new:Npn \__color_parse_model_hsb_aux:nnn #1#2#3
{
@@ -292,34 +298,38 @@
{ \__color_parse_model_HTML_aux:w #1 0 0 0 0 0 0 \s__color_stop }
\cs_new:Npn \__color_parse_model_HTML_aux:w #1#2#3#4#5#6#7 \s__color_stop
{
- rgb ~
- \fp_eval:n { round(\int_from_hex:n {#1#2} / 255,5) } ~
- \fp_eval:n { round(\int_from_hex:n {#3#4} / 255,5) } ~
- \fp_eval:n { round(\int_from_hex:n {#5#6} / 255,5) }
+ { rgb }
+ {
+ \fp_eval:n { round(\int_from_hex:n {#1#2} / 255,5) } ~
+ \fp_eval:n { round(\int_from_hex:n {#3#4} / 255,5) } ~
+ \fp_eval:n { round(\int_from_hex:n {#5#6} / 255,5) }
+ }
}
\cs_new:Npn \__color_parse_model_RGB:w #1 , #2 , #3 , #4 \s__color_stop
{
- rgb ~
- \fp_eval:n { round(#1 / 255,5) } ~
- \fp_eval:n { round(#2 / 255,5) } ~
- \fp_eval:n { round(#3 / 255,5) }
+ { rgb }
+ {
+ \fp_eval:n { round(#1 / 255,5) } ~
+ \fp_eval:n { round(#2 / 255,5) } ~
+ \fp_eval:n { round(#3 / 255,5) }
+ }
}
\tl_new:N \l_color_fixed_model_tl
\cs_new_protected:Npn \__color_check_model:N #1
{
\tl_if_empty:NF \l_color_fixed_model_tl
{
- \exp_after:wN \__color_check_model:w #1 \s__color_stop
+ \exp_after:wN \__color_check_model:nn #1
\tl_if_eq:NNF \l__color_model_tl \l_color_fixed_model_tl
{
\__color_convert:VVN \l__color_model_tl \l_color_fixed_model_tl
\l__color_value_tl
}
\tl_set:Nx #1
- { \l_color_fixed_model_tl \c_space_tl \l__color_value_tl }
+ { { \l_color_fixed_model_tl } { \l__color_value_tl } }
}
}
-\cs_new_protected:Npn \__color_check_model:w #1 ~ #2 \s__color_stop
+\cs_new_protected:Npn \__color_check_model:nn #1#2
{
\tl_set:Nn \l__color_model_tl {#1}
\tl_set:Nn \l__color_value_tl {#2}
@@ -327,7 +337,7 @@
\cs_new_protected:Npn \__color_select:
{
\tl_set_eq:cN { l__color_named_ . _tl } \l__color_current_tl
- \__color_select:V \l__color_current_tl
+ \__color_select:N \l__color_current_tl
}
\cs_new_protected:Npn \color_select:n #1
{
@@ -344,7 +354,7 @@
\cs_if_exist:cTF { __color_parse_model_ #1 :w }
{
\tl_set:Nx #3
- { \use:c { __color_parse_model_ #1 :w } #2 , 0 , 0 , 0 , 0 \s__color_stop }
+ { \use:c { __color_parse_model_ #1 :w } #2 , 0 , 0 , 0 , 0 \s__color_stop }
\__color_check_model:N #3
}
{
@@ -399,21 +409,17 @@
{#1}
{
\__color_if_defined:nTF {#1}
- { \exp_last_unbraced:Nv \__color_show:w { l__color_named_ #1 _tl } \s__color_stop }
+ { \exp_last_unbraced:Nv \__color_show:nn { l__color_named_ #1 _tl } }
{ }
}
{ }
{ }
}
-\cs_new:Npn \__color_show:w #1 ~ #2 \s__color_stop
+\cs_new:Npn \__color_show:nn #1#2
{
\msg_show_item_unbraced:nn { model } {#1}
- \exp_args:Nnf \msg_show_item_unbraced:nn { value }
- { \use:c { __color_show_ #1 :w } #2 \s__color_stop }
+ \msg_show_item_unbraced:nn { value } {#2}
}
-\cs_new:Npn \__color_show_gray:w #1 \s__color_stop { #1 }
-\cs_new:Npn \__color_show_rgb:w #1 ~ #2 ~ #3 \s__color_stop { #1 ,~ #2 ,~ #3 }
-\cs_new:Npn \__color_show_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop { #1 ,~ #2 ,~ #3 ,~ #4 }
\__kernel_msg_new:nnnn { color } { unknown-color }
{ Unknown~color~'#1'. }
{
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
index 76faead77f0..8c812a5529c 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
@@ -28,7 +28,7 @@
%%
%% File: l3draw.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3draw}{2020-06-03}{}
+\ProvidesExplPackage{l3draw}{2020-06-18}{}
{L3 Experimental core drawing support}
\RequirePackage { l3color }
\scan_new:N \s__draw_mark
@@ -1677,7 +1677,7 @@
}
\seq_new:N \l__draw_tmp_seq
\cs_new_protected:Npn \draw_miterlimit:n #1
- { \__draw_backend_miterlimit:n { \fp_eval:n {#1} } }
+ { \exp_args:Nx \__draw_backend_miterlimit:n { \fp_eval:n {#1} } }
\cs_new_protected:Npn \draw_cap_butt: { \__draw_backend_cap_butt: }
\cs_new_protected:Npn \draw_cap_rectangle: { \__draw_backend_cap_rectangle: }
\cs_new_protected:Npn \draw_cap_round: { \__draw_backend_cap_round: }
@@ -1695,21 +1695,10 @@
\cs_new_protected:Npn \__draw_color:nn #1#2
{
\color_parse:nN {#2} \l__draw_color_tmp_tl
- \__draw_color_aux:Vn \l__draw_color_tmp_tl {#1}
- }
-\cs_new_protected:Npn \__draw_color_aux:nn #1#2
- { \__draw_color:nw {#2} #1 \s__draw_stop }
-\cs_generate_variant:Nn \__draw_color_aux:nn { V }
-\cs_new_protected:Npn \__draw_color:nw #1#2 ~ #3 \s__draw_stop
- { \use:c { __draw_color_ #2 :nw } {#1} #3 \s__draw_stop }
-\cs_new_protected:Npn \__draw_color_cmyk:nw #1#2 ~ #3 ~ #4 ~ #5 \s__draw_stop
- { \use:c { __draw_backend_color_ #1 _cmyk:nnnn } {#2} {#3} {#4} {#5} }
-\cs_new_protected:Npn \__draw_color_gray:nw #1#2 \s__draw_stop
- { \use:c { __draw_backend_color_ #1 _gray:n } {#2} }
-\cs_new_protected:Npn \__draw_color_rgb:nw #1#2 ~ #3 ~ #4 \s__draw_stop
- { \use:c { __draw_backend_color_ #1 _rgb:nnn } {#2} {#3} {#4} }
-\cs_new_protected:Npn \__draw_color_spot:nw #1#2 ~ #3 \s__draw_stop
- { \use:c { __draw_backend_color_ #1 _spot:nn } {#2} {#3} }
+ \exp_after:wN \__draw_color:nnn \l__draw_color_tmp_tl {#1}
+ }
+\cs_new_protected:Npn \__draw_color:nnn #1#2#3
+ { \use:c { __draw_backend_color_ #3 _ #1 :n } {#2} }
%% File: l3draw-transforms.dtx
\bool_new:N \l__draw_matrix_active_bool
\fp_new:N \l__draw_matrix_a_fp
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty b/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty
index 807a3339bf7..1b43f2d5701 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty
@@ -20,7 +20,7 @@
%%
%% File: l3graphics.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3graphics}{2020-06-03}{}
+\ProvidesExplPackage{l3graphics}{2020-06-18}{}
{L3 Experimental graphics inclusion support}
\ior_new:N \l__graphics_tmp_ior
\tl_new:N \l__graphics_tmp_tl
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3pdf/l3pdf.sty b/Master/texmf-dist/tex/latex/l3experimental/l3pdf/l3pdf.sty
index 255f388a75f..937f0a65c35 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3pdf/l3pdf.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3pdf/l3pdf.sty
@@ -20,7 +20,7 @@
%%
%% File: l3pdf.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3pdf}{2020-06-03}{}
+\ProvidesExplPackage{l3pdf}{2020-06-18}{}
{L3 Experimental core PDF support}
\scan_new:N \s__pdf_stop
\bool_new:N \g__pdf_init_bool
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 a0b0da8da52..444c8280fcd 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
\RequirePackage{expl3}
-\ProvidesExplPackage{l3str-format}{2020-06-03}{}
+\ProvidesExplPackage{l3str-format}{2020-06-18}{}
{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 92c47b4066a..53e0ebf675b 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
\RequirePackage{expl3}
-\ProvidesExplPackage{l3sys-shell}{2020-06-03}{}
+\ProvidesExplPackage{l3sys-shell}{2020-06-18}{}
{L3 Experimental system shell functions}
\scan_new:N \s__sys_stop
\quark_new:N \q__sys_nil
diff --git a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
index af5f8feeb48..d87a6c8fc7e 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
\RequirePackage{xparse}
-\ProvidesExplPackage{xcoffins}{2020-06-03}{}
+\ProvidesExplPackage{xcoffins}{2020-06-18}{}
{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 7de602702be..00729fb634f 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
@@ -32,7 +32,7 @@
}%
\endinput
}
-\ProvidesExplPackage{l3galley}{2020-06-03}{}
+\ProvidesExplPackage{l3galley}{2020-06-18}{}
{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 8b61537746d..ef965f138dd 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
@@ -20,7 +20,7 @@
%%
%% File: xgalley.dtx
\RequirePackage{xparse}
-\ProvidesExplPackage{xgalley}{2020-06-03}{}
+\ProvidesExplPackage{xgalley}{2020-06-18}{}
{L3 Experimental galley}
\RequirePackage{xparse,xtemplate,l3galley}
\clist_new:N \l__galley_tmpa_clist
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index d1eab62be8b..c954b30dfb2 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -68,7 +68,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2020-06-03}%
+\def\ExplFileDate{2020-06-18}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -6410,6 +6410,39 @@
}
\cs_generate_variant:Nn \seq_map_variable:NNn { Nc }
\cs_generate_variant:Nn \seq_map_variable:NNn { c , cc }
+\cs_new:Npn \seq_map_indexed_function:NN #1#2
+ {
+ \__seq_map_indexed:NN #1#2
+ \prg_break_point:Nn \seq_map_break: { }
+ }
+\cs_new_protected:Npn \seq_map_indexed_inline:Nn #1#2
+ {
+ \int_gincr:N \g__kernel_prg_map_int
+ \cs_gset_protected:cpn
+ { __seq_map_ \int_use:N \g__kernel_prg_map_int :w } ##1##2 {#2}
+ \exp_args:NNc \__seq_map_indexed:NN #1
+ { __seq_map_ \int_use:N \g__kernel_prg_map_int :w }
+ \prg_break_point:Nn \seq_map_break:
+ { \int_gdecr:N \g__kernel_prg_map_int }
+ }
+\cs_new:Npn \__seq_map_indexed:NN #1#2
+ {
+ \exp_after:wN \__seq_map_indexed:Nw
+ \exp_after:wN #2
+ \int_value:w 1
+ \exp_after:wN \use_i:nn
+ \exp_after:wN ;
+ #1
+ \prg_break: \__seq_item:n { } \prg_break_point:
+ }
+\cs_new:Npn \__seq_map_indexed:Nw #1#2 ; #3 \__seq_item:n #4
+ {
+ #3
+ #1 {#2} {#4}
+ \exp_after:wN \__seq_map_indexed:Nw
+ \exp_after:wN #1
+ \int_value:w \int_eval:w 1 + #2 ;
+ }
\cs_new:Npn \seq_count:N #1
{
\int_eval:n
@@ -10823,6 +10856,37 @@
\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 }
+\cs_new:Npn \msg_expandable_error:nnnnnn #1#2#3#4#5#6
+ {
+ \exp_args:Ne \__msg_expandable_error_module:nn
+ {
+ \exp_args:Nc \exp_args:Noooo
+ { \c__msg_text_prefix_tl #1 / #2 }
+ { \tl_to_str:n {#3} }
+ { \tl_to_str:n {#4} }
+ { \tl_to_str:n {#5} }
+ { \tl_to_str:n {#6} }
+ }
+ {#1}
+ }
+\cs_new:Npn \msg_expandable_error:nnnnn #1#2#3#4#5
+ { \msg_expandable_error:nnnnnn {#1} {#2} {#3} {#4} {#5} { } }
+\cs_new:Npn \msg_expandable_error:nnnn #1#2#3#4
+ { \msg_expandable_error:nnnnnn {#1} {#2} {#3} {#4} { } { } }
+\cs_new:Npn \msg_expandable_error:nnn #1#2#3
+ { \msg_expandable_error:nnnnnn {#1} {#2} {#3} { } { } { } }
+\cs_new:Npn \msg_expandable_error:nn #1#2
+ { \msg_expandable_error:nnnnnn {#1} {#2} { } { } { } { } }
+\cs_generate_variant:Nn \msg_expandable_error:nnnnnn { nnffff }
+\cs_generate_variant:Nn \msg_expandable_error:nnnnn { nnfff }
+\cs_generate_variant:Nn \msg_expandable_error:nnnn { nnff }
+\cs_generate_variant:Nn \msg_expandable_error:nnn { nnf }
+\cs_new:Npn \__msg_expandable_error_module:nn #1#2
+ {
+ \exp_after:wN \exp_after:wN
+ \exp_after:wN \__msg_use_none_delimit_by_s_stop:w
+ \use:n { \::error ! ~ #2 : ~ #1 } \s__msg_stop
+ }
%% File: l3file.dtx
\tl_new:N \l__ior_internal_tl
\int_const:Nn \c__ior_term_ior { 16 }
@@ -26688,16 +26752,15 @@
\cs_new_protected:Npn \color_ensure_current:
{
\__color_backend_pickup:N \l__color_current_tl
- \__color_select:V \l__color_current_tl
+ \__color_select:N \l__color_current_tl
}
\scan_new:N \s__color_stop
-\cs_new_protected:Npn \__color_select:n #1
- { \__color_select:w #1 \s__color_stop }
-\cs_generate_variant:Nn \__color_select:n { V }
-\cs_new_protected:Npn \__color_select:w #1 ~ #2 \s__color_stop
- { \use:c { __color_backend_ #1 :w } #2 \s__color_stop }
+\cs_new_protected:Npn \__color_select:N #1
+ { \exp_after:wN \__color_select:nn #1 }
+\cs_new_protected:Npn \__color_select:nn #1#2
+ { \use:c { __color_backend_ #1 :n } {#2} }
\tl_new:N \l__color_current_tl
-\tl_set:Nn \l__color_current_tl { gray~0 }
+\tl_set:Nn \l__color_current_tl { { gray } { 0 } }
%% File: l3coffins.dtx
\box_new:N \l__coffin_internal_box
\dim_new:N \l__coffin_internal_dim
@@ -30448,37 +30511,6 @@
\cs:w flag~#1 \cs_end: 0 ;
\fi:
}
-\cs_new:Npn \msg_expandable_error:nnnnnn #1#2#3#4#5#6
- {
- \exp_args:Ne \__msg_expandable_error_module:nn
- {
- \exp_args:Nc \exp_args:Noooo
- { \c__msg_text_prefix_tl #1 / #2 }
- { \tl_to_str:n {#3} }
- { \tl_to_str:n {#4} }
- { \tl_to_str:n {#5} }
- { \tl_to_str:n {#6} }
- }
- {#1}
- }
-\cs_new:Npn \msg_expandable_error:nnnnn #1#2#3#4#5
- { \msg_expandable_error:nnnnnn {#1} {#2} {#3} {#4} {#5} { } }
-\cs_new:Npn \msg_expandable_error:nnnn #1#2#3#4
- { \msg_expandable_error:nnnnnn {#1} {#2} {#3} {#4} { } { } }
-\cs_new:Npn \msg_expandable_error:nnn #1#2#3
- { \msg_expandable_error:nnnnnn {#1} {#2} {#3} { } { } { } }
-\cs_new:Npn \msg_expandable_error:nn #1#2
- { \msg_expandable_error:nnnnnn {#1} {#2} { } { } { } { } }
-\cs_generate_variant:Nn \msg_expandable_error:nnnnnn { nnffff }
-\cs_generate_variant:Nn \msg_expandable_error:nnnnn { nnfff }
-\cs_generate_variant:Nn \msg_expandable_error:nnnn { nnff }
-\cs_generate_variant:Nn \msg_expandable_error:nnn { nnf }
-\cs_new:Npn \__msg_expandable_error_module:nn #1#2
- {
- \exp_after:wN \exp_after:wN
- \exp_after:wN \__msg_use_none_delimit_by_s_stop:w
- \use:n { \::error ! ~ #2 : ~ #1 } \s__msg_stop
- }
\cs_new_protected:Npn \msg_show_eval:Nn #1#2
{ \exp_args:Nf \__msg_show_eval:nnN { #1 {#2} } {#2} \tl_show:n }
\cs_new_protected:Npn \msg_log_eval:Nn #1#2
@@ -30619,39 +30651,6 @@
{ \seq_set_from_inline_x:Nnn #1 {#2} { #3 {##1} } }
\cs_new_protected:Npn \seq_gset_from_function:NnN #1#2#3
{ \seq_gset_from_inline_x:Nnn #1 {#2} { #3 {##1} } }
-\cs_new:Npn \seq_indexed_map_function:NN #1#2
- {
- \__seq_indexed_map:NN #1#2
- \prg_break_point:Nn \seq_map_break: { }
- }
-\cs_new_protected:Npn \seq_indexed_map_inline:Nn #1#2
- {
- \int_gincr:N \g__kernel_prg_map_int
- \cs_gset_protected:cpn
- { __seq_map_ \int_use:N \g__kernel_prg_map_int :w } ##1##2 {#2}
- \exp_args:NNc \__seq_indexed_map:NN #1
- { __seq_map_ \int_use:N \g__kernel_prg_map_int :w }
- \prg_break_point:Nn \seq_map_break:
- { \int_gdecr:N \g__kernel_prg_map_int }
- }
-\cs_new:Npn \__seq_indexed_map:NN #1#2
- {
- \exp_after:wN \__seq_indexed_map:Nw
- \exp_after:wN #2
- \int_value:w 1
- \exp_after:wN \use_i:nn
- \exp_after:wN ;
- #1
- \prg_break: \__seq_item:n { } \prg_break_point:
- }
-\cs_new:Npn \__seq_indexed_map:Nw #1#2 ; #3 \__seq_item:n #4
- {
- #3
- #1 {#2} {#4}
- \exp_after:wN \__seq_indexed_map:Nw
- \exp_after:wN #1
- \int_value:w \int_eval:w 1 + #2 ;
- }
\str_const:Nx \c_sys_engine_version_str
{
\str_case:on \c_sys_engine_str
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
index cb8d09c4f0d..52f1e1edb19 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
-\def\ExplFileDate{2020-06-03}%
+\def\ExplFileDate{2020-06-18}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\def\tempa{LaTeX2e}%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
index 538c3fddab2..b385a59bd6e 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
@@ -19,26 +19,34 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2020-06-03}%
+\def\ExplFileDate{2020-06-18}%
\let\ExplLoaderFileDate\ExplFileDate
\everyjob\expandafter{\the\everyjob
\message{L3 programming layer <\ExplFileDate>}%
}
-\protected\def\ProvidesExplPackage#1#2#3#4%
+\protected\def\ProvidesExplPackage
+ {\@expl@provides@file@@Nnnnnn\ProvidesPackage{Package}}
+\protected\def\ProvidesExplClass
+ {\@expl@provides@file@@Nnnnnn\ProvidesClass{Document Class}}
+\protected\def\ProvidesExplFile
+ {\@expl@provides@file@@Nnnnnn\ProvidesFile{File}}
+\protected\long\def\@expl@provides@file@@Nnnnnn#1#2#3#4#5#6%
{%
- \ProvidesPackage{#1}[#2 \ifx\relax#3\relax\else v#3\space\fi #4]%
+ \ifnum0%
+ \ifdefined#11\fi
+ \ifx\relax#1\else1\fi
+ =11
+ \expandafter#1%
+ \else
+ \@expl@provides@generic@@wnnw{#2}%
+ \fi
+ {#3}[{#4 \ifx\relax#5\relax\else v#5\space\fi #6}]%
\ExplSyntaxOn
- }%
-\protected\def\ProvidesExplClass#1#2#3#4%
- {%
- \ProvidesClass{#1}[#2 \ifx\relax#3\relax\else v#3\space\fi #4]%
- \ExplSyntaxOn
- }%
-\protected\def\ProvidesExplFile#1#2#3#4%
+ }
+\protected\long\def\@expl@provides@generic@@wnnw#1\fi#2[#3]%
{%
- \ProvidesFile{#1}[#2 \ifx\relax#3\relax\else v#3\space\fi #4]%
- \ExplSyntaxOn
- }%
+ \immediate\write-1{#1: #2 #3}%
+ }
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname tex\string _let:D\endcsname\relax
\expandafter\@firstofone
@@ -50,10 +58,13 @@
\expandafter\ifx\csname tex\string _let:D\endcsname\relax
\expandafter\endinput
\fi
-\ifdefined\@pushfilenameaux
+\ifcsname\detokenize{g__expl_reload_bool}\endcsname
\ExplSyntaxOn
+ \bool_gset_true:N \g__expl_reload_bool
+\else
+ \bool_new:N \g__expl_reload_bool
\fi
-\cs_if_exist:NF \c__expl_def_ext_tl
+\tl_if_exist:NF \c__expl_def_ext_tl
{ \tl_const:Nn \c__expl_def_ext_tl { def } }
\cs_gset_protected:Npn \__kernel_sys_configuration_load:n #1
{
@@ -88,12 +99,19 @@
\sys_load_deprecation:
}
}
-\tl_put_left:Nn \document
+\cs_if_exist:NF \@expl@sys@load@backend@@
+ {
+ \tl_put_left:Nn \document
+ {
+ \endgroup
+ \@expl@sys@load@backend@@
+ \begingroup
+ }
+ }
+\cs_gset_protected:Npn \@expl@sys@load@backend@@
{
- \endgroup
\str_if_exist:NF \c_sys_backend_str
{ \sys_load_backend:n { } }
- \begingroup
}
\cs_if_free:cTF { ver@expl3.sty }
{
@@ -107,11 +125,16 @@
\reverse_if:N \if_cs_exist:N \s__expl_stop
\scan_new:N \s__expl_stop
\fi:
-\tl_put_left:Nn \@pushfilename
+\cs_if_exist:NF \@expl@push@filename@@
+ {
+ \tl_put_left:Nn \@pushfilename { \@expl@push@filename@@ }
+ \tl_put_right:Nn \@pushfilename { \@expl@push@filename@aux@@ }
+ }
+\cs_gset_protected:Npn \@expl@push@filename@@
{
\exp_args:Nx \__kernel_file_input_push:n
{
- \tl_to_str:N \@currname
+ \tl_to_str:N \@currname .
\tl_to_str:N \@currext
}
\tl_put_left:Nx \l__expl_status_stack_tl
@@ -122,13 +145,17 @@
}
\ExplSyntaxOff
}
-\tl_put_right:Nn \@pushfilename { \@pushfilenameaux }
-\cs_set_protected:Npn \@pushfilenameaux #1#2#3
+\cs_gset_protected:Npn \@expl@push@filename@aux@@ #1#2#3
{
\str_gset:Nn \g_file_curr_name_str {#3}
#1 #2 {#3}
}
-\tl_put_right:Nn \@popfilename
+\cs_if_exist:NF \@expl@pop@filename@@
+ {
+ \tl_put_right:Nn \@popfilename
+ { \@expl@pop@filename@@ }
+ }
+\cs_gset_protected:Npn \@expl@pop@filename@@
{
\__kernel_file_input_pop:
\tl_if_empty:NTF \l__expl_status_stack_tl
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
index 4ded77abe6b..17df13adb3f 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
@@ -19,28 +19,36 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2020-06-03}%
+\def\ExplFileDate{2020-06-18}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%
\ExplFileDate\space
L3 programming layer (loader)
]%
-\protected\def\ProvidesExplPackage#1#2#3#4%
+\protected\def\ProvidesExplPackage
+ {\@expl@provides@file@@Nnnnnn\ProvidesPackage{Package}}
+\protected\def\ProvidesExplClass
+ {\@expl@provides@file@@Nnnnnn\ProvidesClass{Document Class}}
+\protected\def\ProvidesExplFile
+ {\@expl@provides@file@@Nnnnnn\ProvidesFile{File}}
+\protected\long\def\@expl@provides@file@@Nnnnnn#1#2#3#4#5#6%
{%
- \ProvidesPackage{#1}[#2 \ifx\relax#3\relax\else v#3\space\fi #4]%
+ \ifnum0%
+ \ifdefined#11\fi
+ \ifx\relax#1\else1\fi
+ =11
+ \expandafter#1%
+ \else
+ \@expl@provides@generic@@wnnw{#2}%
+ \fi
+ {#3}[{#4 \ifx\relax#5\relax\else v#5\space\fi #6}]%
\ExplSyntaxOn
- }%
-\protected\def\ProvidesExplClass#1#2#3#4%
- {%
- \ProvidesClass{#1}[#2 \ifx\relax#3\relax\else v#3\space\fi #4]%
- \ExplSyntaxOn
- }%
-\protected\def\ProvidesExplFile#1#2#3#4%
+ }
+\protected\long\def\@expl@provides@generic@@wnnw#1\fi#2[#3]%
{%
- \ProvidesFile{#1}[#2 \ifx\relax#3\relax\else v#3\space\fi #4]%
- \ExplSyntaxOn
- }%
+ \immediate\write-1{#1: #2 #3}%
+ }
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname tex\string _let:D\endcsname\relax
\expandafter\@firstofone
@@ -52,10 +60,13 @@
\expandafter\ifx\csname tex\string _let:D\endcsname\relax
\expandafter\endinput
\fi
-\ifdefined\@pushfilenameaux
+\ifcsname\detokenize{g__expl_reload_bool}\endcsname
\ExplSyntaxOn
+ \bool_gset_true:N \g__expl_reload_bool
+\else
+ \bool_new:N \g__expl_reload_bool
\fi
-\cs_if_exist:NF \c__expl_def_ext_tl
+\tl_if_exist:NF \c__expl_def_ext_tl
{ \tl_const:Nn \c__expl_def_ext_tl { def } }
\cs_gset_protected:Npn \__kernel_sys_configuration_load:n #1
{
@@ -71,7 +82,7 @@
\@onefilewithoptions {#1} [ ] [ ]
\c__expl_def_ext_tl
}
-\cs_if_exist:NF \l__expl_options_clist
+\clist_if_exist:NF \l__expl_options_clist
{ \clist_new:N \l__expl_options_clist }
\DeclareOption*
{ \clist_put_right:NV \l__expl_options_clist \CurrentOption }
@@ -103,14 +114,29 @@
\sys_load_deprecation:
}
}
+\cs_if_exist:NF \@expl@sys@load@backend@@
+ {
+ \tl_put_left:Nn \document
+ {
+ \endgroup
+ \@expl@sys@load@backend@@
+ \begingroup
+ }
+ }
+\cs_gset_protected:Npn \@expl@sys@load@backend@@
+ {
+ \str_if_exist:NF \c_sys_backend_str
+ { \sys_load_backend:n { } }
+ }
\keys_set:nV { sys } \l__expl_options_clist
\str_if_exist:NF \c_sys_backend_str
{ \sys_load_backend:n { } }
-\cs_if_exist:NT \@pushfilenameaux
+\bool_if:NT \g__expl_reload_bool
{
\cs_gset_eq:NN \__kernel_sys_configuration_load:n
\__kernel_sys_configuration_load_std:n
- \endinput
+ \ExplSyntaxOff
+ \file_input_stop:
}
\cs_if_free:cTF { ver@expl3.sty }
{
@@ -124,11 +150,16 @@
\reverse_if:N \if_cs_exist:N \s__expl_stop
\scan_new:N \s__expl_stop
\fi:
-\tl_put_left:Nn \@pushfilename
+\cs_if_exist:NF \@expl@push@filename@@
+ {
+ \tl_put_left:Nn \@pushfilename { \@expl@push@filename@@ }
+ \tl_put_right:Nn \@pushfilename { \@expl@push@filename@aux@@ }
+ }
+\cs_gset_protected:Npn \@expl@push@filename@@
{
\exp_args:Nx \__kernel_file_input_push:n
{
- \tl_to_str:N \@currname
+ \tl_to_str:N \@currname .
\tl_to_str:N \@currext
}
\tl_put_left:Nx \l__expl_status_stack_tl
@@ -139,13 +170,17 @@
}
\ExplSyntaxOff
}
-\tl_put_right:Nn \@pushfilename { \@pushfilenameaux }
-\cs_set_protected:Npn \@pushfilenameaux #1#2#3
+\cs_gset_protected:Npn \@expl@push@filename@aux@@ #1#2#3
{
\str_gset:Nn \g_file_curr_name_str {#3}
#1 #2 {#3}
}
-\tl_put_right:Nn \@popfilename
+\cs_if_exist:NF \@expl@pop@filename@@
+ {
+ \tl_put_right:Nn \@popfilename
+ { \@expl@pop@filename@@ }
+ }
+\cs_gset_protected:Npn \@expl@pop@filename@@
{
\__kernel_file_input_pop:
\tl_if_empty:NTF \l__expl_status_stack_tl
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3deprecation.def b/Master/texmf-dist/tex/latex/l3kernel/l3deprecation.def
index 2eb91079290..f088cf38802 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3deprecation.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3deprecation.def
@@ -207,6 +207,10 @@
\cs_gset:Npn \str_if_eq_x:nnF { \str_if_eq:eeF }
\__kernel_patch_deprecation:nnNNpn { 2020-01-01 } { \str_if_eq:eeTF }
\cs_gset:Npn \str_if_eq_x:nnTF { \str_if_eq:eeTF }
+\__kernel_patch_deprecation:nnNNpn { 2022-07-01 } { \seq_map_indexed_inline:Nn }
+\cs_gset:Npn \seq_indexed_map_inline:Nn { \seq_map_indexed_inline:Nn }
+\__kernel_patch_deprecation:nnNNpn { 2022-07-01 } { \seq_map_indexed_function:NN }
+\cs_gset:Npn \seq_indexed_map_function:NN { \seq_map_indexed_function:NN }
\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \file_get:nnN }
\cs_gset_protected:Npn \tl_set_from_file:Nnn #1#2#3
{ \file_get:nnN {#3} {#2} #1 }