summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md15
-rw-r--r--Master/texmf-dist/doc/latex/l3backend/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/l3backend/l3backend-code.pdfbin907780 -> 907105 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.pdfbin610060 -> 610545 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/interface3.pdfbin1801752 -> 1803277 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/interface3.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3doc.pdfbin565282 -> 565744 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdfbin150985 -> 151414 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news.pdfbin396222 -> 396223 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news01.pdfbin122959 -> 122959 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news02.pdfbin150919 -> 150919 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news03.pdfbin148747 -> 148747 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news04.pdfbin114754 -> 114754 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news05.pdfbin112524 -> 112524 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news06.pdfbin151591 -> 151591 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news07.pdfbin128344 -> 128344 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news08.pdfbin163484 -> 163484 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news09.pdfbin250159 -> 250161 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news09.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news10.pdfbin150302 -> 150302 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news11.pdfbin170102 -> 170102 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news12.pdfbin205020 -> 205020 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv9
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdfbin82720 -> 82856 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdfbin296259 -> 296746 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdfbin231103 -> 231577 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdfbin241893 -> 242381 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3.pdfbin7624172 -> 7620398 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/CHANGELOG.md11
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e-demo.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdfbin412717 -> 412900 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/xfp/xfp.pdfbin332422 -> 332573 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdfbin551698 -> 551837 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdfbin448862 -> 449003 bytes
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx14
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx28
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/expl3.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3basics.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3bitset.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3box.dtx10
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3clist.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx10
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3color.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3debug.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx9
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3doc.dtx10
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3expan.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3file.dtx8
-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-functions.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx4
-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-symbolic.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-types.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3int.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3keys.dtx309
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3msg.dtx22
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3names.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx15
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3prg.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3prop.dtx58
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3quark.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3regex.dtx46
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3seq.dtx4
-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.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3tl-build.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3tl.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3token.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3packages/xfp/xfp.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx7
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.pro (renamed from Master/texmf-dist/dvips/l3backend/l3backend-dvips.pro)0
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def15
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex238
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.ltx2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3debug.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3doc.cls2
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty5
131 files changed, 559 insertions, 510 deletions
diff --git a/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md
index ecd85938815..68f697ac5f5 100644
--- a/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md
@@ -6,6 +6,14 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2024-05-08]
+
+### Changed
+- Use built-in conversion for CMYK colors with `dvisvgm` (see \#1538)
+
+### Fixed
+- CMYK output from `dvisvgm`
+
## [2024-04-11]
### Added
@@ -40,7 +48,7 @@ this project uses date-based 'snapshot' version identifiers.
## [2023-11-09]
### Changed
-- Changed `luaotfload` integration to allow coexistance with (x)color.
+- Changed `luaotfload` integration to allow coexistence with (x)color.
## [2023-11-04]
@@ -225,7 +233,7 @@ this project uses date-based 'snapshot' version identifiers.
backend)
### Changed
-- Implementation of color wtih (x)dvipdfmx (requires an up-to-date
+- Implementation of color with (x)dvipdfmx (requires an up-to-date
backend)
## [2020-09-24]
@@ -347,7 +355,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/2024-04-11...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-05-08...HEAD
+[2024-05-08]: https://github.com/latex3/latex3/compare/2024-04-11...2024-05-08
[2024-04-11]: https://github.com/latex3/latex3/compare/2024-03-14...2024-04-11
[2024-03-14]: https://github.com/latex3/latex3/compare/2024-02-20...2024-03-14
[2024-02-20]: https://github.com/latex3/latex3/compare/2024-01-04...2024-02-20
diff --git a/Master/texmf-dist/doc/latex/l3backend/README.md b/Master/texmf-dist/doc/latex/l3backend/README.md
index 058fa63cc2a..77eb5915262 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 2024-04-11
+Release 2024-05-08
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/l3backend/l3backend-code.pdf b/Master/texmf-dist/doc/latex/l3backend/l3backend-code.pdf
index d298479c420..6490f33dbd1 100644
--- a/Master/texmf-dist/doc/latex/l3backend/l3backend-code.pdf
+++ b/Master/texmf-dist/doc/latex/l3backend/l3backend-code.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 e770f3fe368..82eb45806ae 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
@@ -7,6 +7,15 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2024-05-08]
+
+### Added
+- Full set of variants for `\prop_(g)put_if_not_in:Nnn`
+- `keys_set_groups:nnn(n)N` to match `keys_set_exclude_groups:nnn(n)N`
+
+### Fixed
+- Implementation of deprecated `\pdf_object_write:nn`
+
## [2024-04-11]
### Added
@@ -878,7 +887,7 @@ this project uses date-based 'snapshot' version identifiers.
improve target placement, solve pdfTeX and makeindex warnings
### Fixed
-- Evalutate integer constants only once (issue [\#861](https://github.com/latex3/latex3/issues/861))
+- Evaluate integer constants only once (issue [\#861](https://github.com/latex3/latex3/issues/861))
- Detect `\ior_map_inline:Nn` calls on undefined streams (issue [\#194](https://github.com/latex3/latex3/issues/194))
### Deprecated
@@ -1725,7 +1734,8 @@ this project uses date-based 'snapshot' version identifiers.
- Step functions have been added for dim variables,
e.g. `\dim_step_inline:nnnn`
-[Unreleased]: https://github.com/latex3/latex3/compare/2024-04-11...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-05-08...HEAD
+[2024-05-08]: https://github.com/latex3/latex3/compare/2024-04-11...2024-05-08
[2024-04-11]: https://github.com/latex3/latex3/compare/2024-03-14...2024-04-11
[2024-03-14]: https://github.com/latex3/latex3/compare/2024-02-20...2024-03-14
[2024-02-20]: https://github.com/latex3/latex3/compare/2024-02-18...2024-02-20
diff --git a/Master/texmf-dist/doc/latex/l3kernel/README.md b/Master/texmf-dist/doc/latex/l3kernel/README.md
index 70d106b4967..0928ea46ce2 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 2024-04-11
+Release 2024-05-08
Overview
--------
diff --git a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
index 56a734d6bf2..dd4f07af685 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 bf177baf39d..309d9c92a78 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 1bf31032ee8..613eb673b0f 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
@@ -58,7 +58,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-04-11}
+\date{Released 2024-05-08}
\pagenumbering{roman}
\maketitle
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf
index 6ef4101a782..9a856d8aed0 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
index 6ce1fc34e27..d2fe34a02b8 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 aa266291267..eeea0487e71 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 2eb7750066a..eed44515b53 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 832e6f583d0..34df11b4f67 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 dd6b7e7e9af..fa2fc3a7b90 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 1d20917d2b9..c1b5f0e5553 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 36c813db4dd..a3dc4d6e022 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 f0e99f47276..765174a222f 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 b9cbba576a8..d9d2c2a2812 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 c812ae5e670..810cc505a02 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 eff6e741fe0..1491fdd32c0 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/l3news09.tex b/Master/texmf-dist/doc/latex/l3kernel/l3news09.tex
index 55ed700a2cf..43293ff1d6c 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news09.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news09.tex
@@ -1421,7 +1421,7 @@ Basically help is possible on any level and it doesn't need to involve programmi
\item help on shaping the document interface layer
\end{itemize}
These concepts, as well as their implementation, are under discussion on the list \texttt{latex-l}.\footnote{Instructions for joining and browsing archives at:\\ \url{http://latex-project.org/code.html}}
-The list has only a fairly low level of traffic right now as actual implementation and development tasks are typically discussed directly among the few active implementors. But this might change if more people join.
+The list has only a fairly low level of traffic right now as actual implementation and development tasks are typically discussed directly among the few active implementers. But this might change if more people join.
\subsection{And something else \dots}
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf
index 4ac02d46844..496795ff165 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 27011b2c4bc..68a16e25396 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 86b5ffa0637..f99bb210372 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/l3prefixes.csv b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv
index 54fb41bdeb2..7baa984582c 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv
@@ -96,6 +96,7 @@ fmuft,unicodefonttable,Frank Mittelbach,https://www.latex-project.org/,https://g
fmwao,widows-and-orphans,Frank Mittelbach,https://www.latex-project.org/,https://github.com/FrankMittelbach/fmitex-widows-and-orphans.git,https://github.com/FrankMittelbach/fmitex-widows-and-orphans/issues,2018-09-26,2018-09-26,
fnote,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex2e.git,https://github.com/latex3/latex2e/issues,2023-10-17,2023-10-17,
fnpct,fnpct,Clemens Niederberger,https://github.com/cgnieder/fnpct/,https://github.com/cgnieder/fnpct.git,https://github.com/cgnieder/fnpct/issues,2013-03-16,2020-04-14,
+fontscale,fontscale,Oliver Beery,https://github.com/beeryoliver/fontscale,https://github.com/beeryoliver/fontscale.git,https://github.com/beeryoliver/fontscale/issues,2024-04-18,2024-04-18,
fontsizes,fontsizes,Julien Rivaud,,,,,2018-06-13,
fontspec,fontspec,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/fontspec.git,https://github.com/latex3/fontspec/issues,2013-03-16,2024-02-15,
fp,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
@@ -124,9 +125,11 @@ intarray,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,ht
ior,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
iot,iot,Island of TeX,https://islandoftex.gitlab.io,https://gitlab.com/islandoftex/texmf,https://gitlab.com/groups/islandoftex/texmf/-/issues,2023-07-18,2023-07-18,
iow,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
+istqb,istqb,Vít Starý Novotný,https://github.com/istqborg/istqb_product_base/,https://github.com/istqborg/istqb_product_base.git,https://github.com/istqborg/istqb_product_base/issues,2024-04-24,2024-04-24,
iwonamath,iwonamath,Boris Veytsman,https://github.com/borisveytsman/iwonamath,https://github.com/borisveytsman/iwonamath,https://github.com/borisveytsman/iwonamath/issues,2023-09-04,2023-09-04,
jiazhu,jiazhu,Qing Lee,https://github.com/CTeX-org/ctex-kit,https://github.com/CTeX-org/ctex-kit.git,https://github.com/CTeX-org/ctex-kit/issues,2020-05-17,2020-05-17,
job,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2021-04-23,2021-04-23,
+jsonparse,jsonparse,Jasper Habicht,https://github.com/jasperhabicht/jsonparse,https://github.com/jasperhabicht/jsonparse/jsponsparse.git,https://github.com/jasperhabicht/jsonparse/issues,2024-04-14,2024-04-14,
kernel,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
keys,"l3kernel,l3keys2e,ltkeys",The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
keyval,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
@@ -137,11 +140,11 @@ left,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https:
lltxmath,lualatex-math,Philipp Stephani,https://github.com/phst/lualatex-math,https://github.com/phst/lualatex-math.git,https://github.com/phst/lualatex-math/issues,2012-11-07,2012-11-07,
log,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
lua,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
-luabridge,lt3luabridge,Vít Novotný,https://ctan.org/pkg/lt3luabridge,https://github.com/witiko/lt3luabridge.git,https://github.com/witiko/lt3luabridge/issues,2022-06-25,2022-06-25,
+luabridge,lt3luabridge,Vít Starý Novotný,https://ctan.org/pkg/lt3luabridge,https://github.com/witiko/lt3luabridge.git,https://github.com/witiko/lt3luabridge/issues,2022-06-25,2024-04-24,
luatex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
lwc,lua-widow-control,Max Chernoff,https://github.com/gucci-on-fleek/lua-widow-control,https://github.com/gucci-on-fleek/lua-widow-control.git,https://github.com/gucci-on-fleek/lua-widow-control/issues,2022-02-24,2022-02-24,
mark,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
-markdown,markdown,Vít Novotný,https://ctan.org/pkg/markdown,https://github.com/witiko/markdown.git,https://github.com/witiko/markdown/issues,2021-09-08,2021-09-08,
+markdown,markdown,Vít Starý Novotný,https://ctan.org/pkg/markdown,https://github.com/witiko/markdown.git,https://github.com/witiko/markdown/issues,2021-09-08,2024-04-24,
marks,l3kernel/xmarks,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2020-02-17,2020-02-17,
marks,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex2e.git,https://github.com/latex3/latex2e/issues,2021-03-03,2021-03-03,
math,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
@@ -218,6 +221,7 @@ reverse,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,htt
right,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
rivbook,rivbook,Julien Rivaud,,,,2018-06-13,2018-06-14,
rivmath,rivmath,Julien Rivaud,,,,2018-06-13,2018-06-13,
+rpgicons,rpgicons,Jasper Habicht,https://github.com/jasperhabicht/rpgicons,https://github.com/jasperhabicht/rpgicons/rpgicons.git,https://github.com/jasperhabicht/rpgicons/issues,2024-04-29,2024-04-29,
sanuml,sanitize-umlaut,Thomas F. Sturm,https://github.com/T-F-S/sanitize-umlaut,https://github.com/T-F-S/sanitize-umlaut.git,https://github.com/T-F-S/sanitize-umlaut/issues,2022-07-19,2022-07-19,
scan,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
schulma,schulmathematik,Keno Wehr,https://ctan.org/pkg/schulmathematik,,,2021-08-23,2021-08-23,
@@ -275,6 +279,7 @@ vcoffin,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,htt
wheelchart,wheelchart,Matthias Floré,,,,2023-12-07,2023-12-07,
withargs,withargs,Michiel Helvensteijn,,,,2014-02-05,2014-02-05,
witharrows,witharrows,François Pantigny,,,,2019-12-19,2019-12-19,
+wstf,wrapstuff,Qing Lee,https://github.com/qinglee/wrapstuff,https://github.com/qinglee/wrapstuff.git,https://github.com/qinglee/wrapstuff/issues,2024-04-18,2024-04-18,
xeCJK,xecjk,Qing Lee,https://github.com/CTeX-org/ctex-kit,https://github.com/CTeX-org/ctex-kit.git,https://github.com/CTeX-org/ctex-kit/issues,2013-05-26,2013-05-26,
xetex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
xfrac,xfrac,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/xfrac.git,https://github.com/latex3/xfrac/issues,2012-09-27,2024-02-14,
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf
index 0506709020c..0a721bca11a 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 8b2f592339a..33333f832f3 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 da169cd8b16..2cffd774e37 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 2024-04-11}
+\date{Released 2024-05-08}
\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 1f2f4ca513c..64bf0da4e80 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 85f83bf0e3d..0b21c09da07 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 2024-04-11}
+\date{Released 2024-05-08}
\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 721513e8859..b54a47f899d 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 d1b4b0082c2..86ad15568a9 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 2024-04-11}
+\date{Released 2024-05-08}
\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 9dda7182f4f..77c8b818920 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 f0aaeb20c87..623b9cc1a0d 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/source3.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/source3.tex
@@ -57,7 +57,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-04-11}
+\date{Released 2024-05-08}
\pagenumbering{roman}
\maketitle
diff --git a/Master/texmf-dist/doc/latex/l3packages/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3packages/CHANGELOG.md
index b12b36ec76b..cd9143da08d 100644
--- a/Master/texmf-dist/doc/latex/l3packages/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/l3packages/CHANGELOG.md
@@ -7,6 +7,12 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2024-05-08]
+
+### Changed
+- Prepare for kernel adjustments to templates:
+ `\IfInstanceExist(TF)` as alias for `\IfInstanceExists(TF)`
+
## [2024-03-14]
### Changed
@@ -133,7 +139,7 @@ this project uses date-based 'snapshot' version identifiers.
## [2021-05-07]
### Fixed
-- Implmentation of `\DeclareRestrictedTemplate`
+- Implementation of `\DeclareRestrictedTemplate`
- Incorrect use of restricted template in `xfrac`
## [2021-03-12]
@@ -253,7 +259,8 @@ this project uses date-based 'snapshot' version identifiers.
- Switch to ISO date format
- Improve cross-module use of internal functions
-[Unreleased]: https://github.com/latex3/latex3/compare/2024-03-14...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-05-08...HEAD
+[2024-05-08]: https://github.com/latex3/latex3/compare/2024-03-14...2024-05-08
[2024-03-14]: https://github.com/latex3/latex3/compare/2024-02-18...2024-03-14
[2024-02-18]: https://github.com/latex3/latex3/compare/2024-02-13...2024-02-18
[2024-02-13]: https://github.com/latex3/latex3/compare/2023-10-10...2024-02-13
diff --git a/Master/texmf-dist/doc/latex/l3packages/README.md b/Master/texmf-dist/doc/latex/l3packages/README.md
index 601e8d229ac..10899672d64 100644
--- a/Master/texmf-dist/doc/latex/l3packages/README.md
+++ b/Master/texmf-dist/doc/latex/l3packages/README.md
@@ -1,6 +1,6 @@
# `l3packages`: Higher-level LaTeX3 Concepts (Deprecated)
-Release 2024-03-14
+Release 2024-05-08
## Overview
diff --git a/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e-demo.tex b/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e-demo.tex
index fda8fa40ff1..a7565a79443 100644
--- a/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e-demo.tex
+++ b/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e-demo.tex
@@ -16,7 +16,7 @@
% Load the class with some options.
% The class itself recognises `option1', leaving `option2' and
-% `option3' as global optons which are not yet used.
+% `option3' as global options which are not yet used.
\documentclass[option1=check,option2=more stuff,option3=unused]
{l3keys2e-class}
diff --git a/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf b/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf
index ecf18342cf8..df3821afb8d 100644
--- a/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf
+++ b/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3packages/xfp/xfp.pdf b/Master/texmf-dist/doc/latex/l3packages/xfp/xfp.pdf
index 1bfdb015967..2097c2b0799 100644
--- a/Master/texmf-dist/doc/latex/l3packages/xfp/xfp.pdf
+++ b/Master/texmf-dist/doc/latex/l3packages/xfp/xfp.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf b/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf
index 91a774d39f9..bb31c0a5e68 100644
--- a/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf
+++ b/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf b/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf
index b52381f6dc9..b70bd7c991a 100644
--- a/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf
+++ b/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx
index fbac5033179..81c51b5b72f 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -70,27 +70,27 @@
% \begin{macrocode}
\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-dvipdfmx.def}{2024-04-11}{}
+ {l3backend-dvipdfmx.def}{2024-05-08}{}
{L3 backend support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-dvips.def}{2024-04-11}{}
+ {l3backend-dvips.def}{2024-05-08}{}
{L3 backend support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-dvisvgm.def}{2024-04-11}{}
+ {l3backend-dvisvgm.def}{2024-05-08}{}
{L3 backend support: dvisvgm}
%</dvisvgm>
%<*luatex>
- {l3backend-luatex.def}{2024-04-11}{}
+ {l3backend-luatex.def}{2024-05-08}{}
{L3 backend support: PDF output (LuaTeX)}
%</luatex>
%<*pdftex>
- {l3backend-pdftex.def}{2024-04-11}{}
+ {l3backend-pdftex.def}{2024-05-08}{}
{L3 backend support: PDF output (pdfTeX)}
%</pdftex>
%<*xetex>
- {l3backend-xetex.def}{2024-04-11}{}
+ {l3backend-xetex.def}{2024-05-08}{}
{L3 backend support: XeTeX}
%</xetex>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx
index 93d83293ef8..8bfd0e14946 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx
index 307432d554f..1dae4b5ce9c 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -920,7 +920,7 @@
% Here, \texttt{dvipdfmx}/\XeTeX{} we write direct PDF specials for the fill,
% and only use the stack for the stroke color (see above for comments on why
% we cannot use multiple stacks with these backends). \LuaTeX{} and \pdfTeX{}
-% have mutiple stacks that can deal with fill and stroke. For \texttt{dvips}
+% have multiple stacks that can deal with fill and stroke. For \texttt{dvips}
% we have to manage fill and stroke color ourselves. We also handle
% \texttt{dvisvgm} independently, as there we can create SVG directly.
%
@@ -1138,8 +1138,7 @@
% \@@_backend_fill_rgb:n ,
% \@@_backend_fill:n
% }
-% Fill color here is the same as general color \emph{except} we skip the
-% stroke part.
+% Fill color here is the same as general color.
% \begin{macrocode}
\cs_new_protected:Npn \@@_backend_fill_cmyk:n #1
{ \@@_backend_fill:n { cmyk ~ #1 } }
@@ -1155,27 +1154,19 @@
% \end{macro}
%
% \begin{macro}{\@@_backend_stroke_cmyk:n}
-% \begin{macro}{\@@_backend_stroke_cmyk:w}
% \begin{macro}{\@@_backend_stroke_gray:n, \@@_backend_stroke_gray_aux:n}
% \begin{macro}{\@@_backend_stroke_rgb:n}
% \begin{macro}{\@@_backend_stroke_rgb:w}
% \begin{macro}{\@@_backend:nnn}
-% For drawings in SVG, we use scopes for all stroke colors. That
-% requires using \texttt{RGB} values, which luckily are easy to
-% convert here (|cmyk| to |RGB| is a fixed function).
+% For drawings in SVG, we use scopes for all stroke colors. The backend
+% provides the necessary conversion for CMYK but only if that is set as
+% the main color: a little bit of gymnastics as a result.
% \begin{macrocode}
\cs_new_protected:Npn \@@_backend_stroke_cmyk:n #1
- { \@@_backend_cmyk:w #1 \s_@@_stop }
-\cs_new_protected:Npn \@@_backend_stroke_cmyk:w
- #1 ~ #2 ~ #3 ~ #4 \s_@@_stop
{
- \use:e
- {
- \@@_backend:nnn
- { \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 ) ) } }
- }
+ \@@_backend_fill_cmyk:n {#1}
+ \__kernel_backend_scope:n { stroke = "{?color}" }
+ \@@_backend_reset:
}
\cs_new_protected:Npn \@@_backend_stroke_gray:n #1
{
@@ -1221,7 +1212,6 @@
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
%
% \begin{macro}
% {
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx
index c651ab92fed..02d84ed6566 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -776,7 +776,7 @@
% \end{macro}
%
% \begin{macro}{\@@_backend_begin:, \@@_backend_end:}
-% A drawing needs to be set up such that the co-ordinate system is
+% A drawing needs to be set up such that the coordinate system is
% translated. That is done inside a scope, which as described below
% \begin{macrocode}
\cs_new_protected:Npn \@@_backend_begin:
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx
index e20457368da..f487a323c13 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx
index 486f5648224..4eb70cc5367 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -184,7 +184,7 @@ false setglobal
% For finding the anchor point of a destination link. We make the use case
% a separate function as it comes up a lot, and as this makes it easier to
% adjust if we need additional effects. We also need a more complex approach
-% to convert a co-ordinate pair correctly when defining a rectangle: this
+% to convert a coordinate pair correctly when defining a rectangle: this
% can otherwise be out when using a landscape page. (Thanks to Alexander
% Grahn for the approach here.)
% \begin{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx
index 0c29574c377..1798146eecc 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx
index cf09c0eec22..31ad60b7b67 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -266,7 +266,7 @@
%
% \begin{macro}{\@@_backend_annotation:nnnn}
% Annotations are objects, but we track them separately. Notably, they are
-% not in the object data lists. Here, to get the co-ordinates of the
+% not in the object data lists. Here, to get the coordinates of the
% annotation, we need to have the data collected at the PostScript level.
% That requires a bit of box trickery (effectively a \LaTeXe{} |picture|
% of zero size). Once the data is collected, use it to set up the annotation
@@ -376,7 +376,7 @@
% \begin{macro}{\@@_backend_link_minima:}
% \begin{macro}{\@@_backend_link_outerbox:n}
% \begin{macro}{\@@_backend_link_sf_save:, \@@_backend_link_sf_restore:}
-% Links are crated like annotations but with dedicated code to allow for
+% Links are created like annotations but with dedicated code to allow for
% adjusting the size of the rectangle. In contrast to \pkg{hyperref}, we
% grab the link content as a box which can then unbox: this allows the same
% interface as for \pdfTeX{}.
diff --git a/Master/texmf-dist/source/latex/l3kernel/expl3.dtx b/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
index 56a62010fae..f4129aeb027 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{2024-04-11}%
+\def\ExplFileDate{2024-05-08}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -1287,7 +1287,7 @@
% still compatible) version in which the error mentioned above showed
% up. If loading as a package, \file{expl3-code.tex} got read and here
% the \pkg{expl3} syntax is on. Otherwise it was already loaded in a
-% sligtly older kernel, so we fire the incompatibility error message and
+% slightly older kernel, so we fire the incompatibility error message and
% abort loading.
% \begin{macrocode}
\ifodd\csname\detokenize{l__kernel_expl_bool}\endcsname
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx b/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
index eabf678caa6..4c00ec00329 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3bitset.dtx b/Master/texmf-dist/source/latex/l3kernel/l3bitset.dtx
index b0bd996d261..22cf7dc1f78 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3bitset.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3bitset.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx b/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
index 2c51bf3bb04..e17c0569091 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3box.dtx b/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
index 2d4902950fb..5d5aa540278 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -928,8 +928,8 @@
% \cs{box_set_viewport:Nnnnn} \meta{box} \Arg{llx} \Arg{lly} \Arg{urx} \Arg{ury}
% \end{syntax}
% Adjusts the bounding box of the \meta{box} such that it has lower-left
-% co-ordinates (\meta{llx}, \meta{lly}) and upper-right co-ordinates
-% (\meta{urx}, \meta{ury}). All four co-ordinate positions are
+% coordinates (\meta{llx}, \meta{lly}) and upper-right coordinates
+% (\meta{urx}, \meta{ury}). All four coordinate positions are
% \meta{dim exprs}. Material outside of the bounding box is
% still displayed in the output unless \cs{box_set_clipped:N} is
% subsequently applied.
@@ -1846,7 +1846,7 @@
% \put(40,49){E}
% \put(21,59){O}
% \end{picture}
-% \caption{Co-ordinates of a box prior to rotation.}
+% \caption{Coordinates of a box prior to rotation.}
% \label{fig:l3box:rotation}
% \end{figure}
% The formulae are, for a point $P$ and angle $\alpha$:
@@ -2066,7 +2066,7 @@
}
% \end{macrocode}
% With at least one real scaling to do, the next phase is to find the new
-% edge co-ordinates. In the $x$~direction this is relatively easy: just
+% edge coordinates. In the $x$~direction this is relatively easy: just
% scale the right edge. In the $y$~direction, both dimensions have to be
% scaled, and this again needs the absolute scale value.
% Once that is all done, the common resize/rescale code can be employed.
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx b/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx
index dd35fb00a3d..a8c5232b3e1 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx b/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
index c67f70db2c8..ebbfa29ddcc 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx b/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
index 164d10019db..76bbc78d995 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -375,7 +375,7 @@
% poles of the coffin.
%
% Notice that the poles of a coffin are defined by four values:
-% the $x$ and $y$ co-ordinates of a point that the pole
+% the $x$ and $y$ coordinates of a point that the pole
% passes through and the $x$- and $y$-components of a
% vector denoting the direction of the pole. It is the ratio between
% the later, rather than the absolute values, which determines the
@@ -897,7 +897,7 @@
% Special coffins: these cannot be set up earlier as they need
% \cs{coffin_new:N}. The empty coffin is set as a box as the full
% coffin-setting system needs some material which is not yet available.
-% The empty coffin is creted entirely by hand: not everything is in place
+% The empty coffin is created entirely by hand: not everything is in place
% yet.
% \begin{macrocode}
\coffin_new:N \c_empty_coffin
@@ -1197,7 +1197,7 @@
% ($a$, $b$, $c$, $d$) and
% ($a'$, $b'$, $c'$, $d'$). These are arguments
% $1$--$4$ and $5$--$8$, respectively. In both
-% cases $a$ and $b$ are the co-ordinates of a point on the
+% cases $a$ and $b$ are the coordinates of a point on the
% pole and $c$ and $d$ define the direction of the pole. Finding
% the intersection depends on the directions of the poles, which are
% given by $d / c$ and $d' / c'$. However, if one of the poles
@@ -1541,7 +1541,7 @@
% \end{macro}
%
% \begin{macro}{\@@_rotate_pole:Nnnnnn}
-% Rotating a single pole simply means shifting the co-ordinate of
+% Rotating a single pole simply means shifting the coordinate of
% the pole and its direction. The rotation here is about the bottom-left
% corner of the coffin.
% \begin{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3color.dtx b/Master/texmf-dist/source/latex/l3kernel/l3color.dtx
index 0edc225c526..f9383d04040 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3color.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx b/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx
index 6dbe13f96e6..7fb64a8c13e 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -69,7 +69,7 @@
%
% Standard file identification.
% \begin{macrocode}
-\ProvidesExplFile{l3debug.def}{2024-04-11}{}{L3 Debugging support}
+\ProvidesExplFile{l3debug.def}{2024-05-08}{}{L3 Debugging support}
% \end{macrocode}
%
% \begin{variable}{\s_@@_stop}
@@ -1152,7 +1152,7 @@
% \end{macrocode}
%
% The functions here can get a bit repetitive, so we define a helper
-% which can re-use the same patch code repeatedly. The main part of the
+% which can reuse the same patch code repeatedly. The main part of the
% patch is the same, so we just have to deal with the part which varies
% depending on the type of expression.
% \begin{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx b/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
index 7af8700df76..d947bb45991 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -330,13 +330,14 @@
\cs_new_protected:Npn \pdf_object_new:nn #1#2
{
\prop_gput:Nnn \g_@@_object_prop {#1} {#2}
- \@@_backend_object_new:n {#1}
+ \pdf_object_new:n {#1}
}
\__kernel_patch_deprecation:nnNNpn { 2022-08-30 } { [\pdf_object_write:n] }
\cs_new_protected:Npn \pdf_object_write:nn #1#2
{
- \exp_args:Nne \@@_backend_object_write:nnn
- {#1} { \prop_item:Nn \g_@@_object_prop {#1} } {#2}
+ \exp_args:Nee \@@_backend_object_write:nnn
+ { \@@_object_retrieve:n {#1} }
+ { \prop_item:Nn \g_@@_object_prop {#1} } {#2}
\bool_gset_true:N \g_@@_init_bool
}
\cs_generate_variant:Nn \pdf_object_write:nn { nx }
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx b/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
index 9156bd385e5..24efea50c7d 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
@@ -71,7 +71,7 @@ and all files in that bundle must be distributed together.
% This isn't included in the typeset documentation because it's a bit
% ugly:
%<*class>
-\ProvidesExplClass{l3doc}{2024-04-11}{}
+\ProvidesExplClass{l3doc}{2024-05-08}{}
{L3 Experimental documentation class}
%</class>
% \fi
@@ -84,7 +84,7 @@ and all files in that bundle must be distributed together.
% require you to do updates, if the class changes.}}
%
% \author{\Team}
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
% \maketitle
% \tableofcontents
%
@@ -365,7 +365,7 @@ and all files in that bundle must be distributed together.
% \begin{syntax}
% \cs{tn} \oarg{options} \marg{csname}
% \end{syntax}
-% Analoguous to \cs{cs} but intended for \enquote{traditional} \TeX{}
+% Analogous to \cs{cs} but intended for \enquote{traditional} \TeX{}
% or \LaTeXe{} commands; they are indexed accordingly. This is in
% fact equivalent to \cs{cs} |[module=TeX, replace=false,|
% \meta{options}|]| \Arg{csname}.
@@ -3320,7 +3320,7 @@ and all files in that bundle must be distributed together.
% we can check now whether the macro is tested. If the \env{macro}
% environment which is being ended is the outermost one, then wrap
% each macro in \tn{texttt} (with the addition of |TF| if relevant)
-% and typeset two informations: that this ends the definition of some
+% and typeset two pieces of information: that this ends the definition of some
% macros, and that they are documented on some page.
% \begin{macrocode}
\cs_new_protected:Npn \@@_macro_end:
@@ -4498,7 +4498,7 @@ and all files in that bundle must be distributed together.
%
% \begin{macro}{\@@_key_trim_module:n, \@@_key_drop_underscores:}
% Helper that removes from \cs{l_@@_index_module_tl} everything after
-% the first occurence of |#1|. Helper that removes any leading
+% the first occurrence of |#1|. Helper that removes any leading
% underscore from \cs{l_@@_index_key_tl}.
% \begin{macrocode}
\cs_new_protected:Npn \@@_key_trim_module:n #1
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx b/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
index c2733e810ef..a3b62db0afb 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx b/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
index e79b5f32b90..7b859acaa59 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -135,7 +135,7 @@
% then used to define variants of the
% \meta{original argument specifier} if these are not already
% defined; entries which correspond to existing functions are silently
-% ingored. For each \meta{variant} given, a function is created
+% ignored. For each \meta{variant} given, a function is created
% that expands its arguments as detailed and passes them
% to the \meta{parent control sequence}. So for example
% \begin{verbatim}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3file.dtx b/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
index 6111d270cab..ba460e3feeb 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -429,7 +429,7 @@
%
% \begin{function}[added = 2019-03-23]{\ior_get_term:nN, \ior_str_get_term:nN}
% \begin{syntax}
-% \cs{ior_get_term:nN} \meta{prompt} \meta{token list variable}
+% \cs{ior_get_term:nN} \Arg{prompt} \meta{token list variable}
% \end{syntax}
% Function that reads one or more lines (until an equal number of left
% and right braces are found) from the terminal and stores
@@ -673,7 +673,7 @@
% \end{texnote}
% \end{function}
%
-% \section{File opertions}
+% \section{File operations}
%
% \subsection{Basic file operations}
%
@@ -3818,7 +3818,7 @@
%
% The function starts by checking that the kernel date is defined, and
% if not zero is used to force the error route. The kernel date is
-% then compared with the argument requested date (ususally the
+% then compared with the argument requested date (usually the
% packaging date of the dependency). If the kernel date is less than
% the required date, it's an error and the loading should abort.
% \begin{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx b/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
index c3bd4a5085a..bf7776f4494 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
index d54f0920858..9ef1944a995 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
% \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 c9d0c228f56..f788b85df97 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
index d3dcb68dde3..83c9cc87fa4 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
index a0536c12995..e42fb383fef 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
index 6fbc9de52c7..31eb49093d5 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
index 356c32b2328..e35f0ae55e1 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-functions.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-functions.dtx
index f6c9ec346fe..e7667eaa9bc 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-functions.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-functions.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
index 9df6a4730a4..49ad2b1c023 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
index ee2eedbc227..7999be79669 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -430,7 +430,7 @@
% second attempt would be to call \cs{@@_parse_operand:Nw} with the
% \meta{precedence} of the previous operator, but |0>-2+3| is then
% parsed as |0>-(2+3)|: the addition is performed because it binds more
-% tightly than the comparision which precedes~|-|. The correct approach
+% tightly than the comparison which precedes~|-|. The correct approach
% is for a unary~|-| to perform operations whose precedence is greater
% than both that of the previous operation, and that of the unary~|-|
% itself. The unary~|-| is given a precedence higher than
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
index ce5a0c48f70..2a3d00cb581 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
index 48ae82730c7..b96d496b22b 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-symbolic.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-symbolic.dtx
index 901ce7a27ca..cdb7383949d 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-symbolic.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-symbolic.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
index 5a4a3b41f9f..bca459effa0 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
% \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 d8585ebe662..8e8bc1cbf89 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-types.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-types.dtx
index 2c23c613930..9764606e83d 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-types.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-types.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
index 7cef5739702..d49d2431cb9 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
index 24f4ac85f80..8b8026a6b8d 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -89,7 +89,7 @@
% Assignments are always global.
% \end{function}
%
-% \section{Couting entries in floating point arrays}
+% \section{Counting entries in floating point arrays}
%
% \begin{function}[EXP, added = 2018-05-05]{\fparray_count:N, \fparray_count:c}
% \begin{syntax}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3int.dtx b/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
index a1c9458436f..c4e8408af25 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -186,7 +186,7 @@
% encountered that cannot form part of such an expression. If that
% token is \cs{scan_stop:} it is removed, otherwise not. Spaces do
% \emph{not} terminate the expression. However, spaces terminate
-% explict integers, and this may terminate the expression: for
+% explicit integers, and this may terminate the expression: for
% instance, \cs{int_eval:w} \verb*|1 + 1 9| (with explicit space
% tokens inserted using |~| in a code setting) expands to \texttt{29}
% since the digit~\texttt{9} is not part of the expression. Expansion
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx b/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
index bbc41c0cdb3..20e6219ef81 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -109,7 +109,7 @@
% global.
% \end{function}
%
-% \section{Couting entries in integer arrays}
+% \section{Counting entries in integer arrays}
%
% \begin{function}[EXP, added = 2018-03-29]{\intarray_count:N, \intarray_count:c}
% \begin{syntax}
@@ -277,7 +277,7 @@ end, 'protected', 'global')
% \end{macro}
% \end{macro}
%
-% Before we get to the first command implmented in Lua, we first need some
+% Before we get to the first command implemented in Lua, we first need some
% definitions. Since \texttt{token.create} only works correctly if \TeX{}
% has seen the tokens before, we first run a short \TeX{} sequence to ensure
% that all relevant control sequences are known.
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx b/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
index 1706bb594a7..6779a3ca6c2 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
index a1d2c011691..f03c628a63f 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -585,7 +585,7 @@
% by creating sub-keys of the choice key. This can be carried out in
% two ways.
%
-% In many cases, choices execute similar code which is dependant only
+% In many cases, choices execute similar code which is dependent only
% on the name of the choice or the position of the choice in the
% list of all possibilities. Here, the keys can share the same code, and can
% be rapidly created using the \texttt{.choices:nn} property.
@@ -876,7 +876,7 @@
% \cs{keys_set_exclude_groups:nnnN} \Arg{module} \Arg{groups} \Arg{keyval list} \meta{tl}
% \cs{keys_set_exclude_groups:nnnnN} \Arg{module} \Arg{groups} \Arg{keyval list} \meta{root} \meta{tl}
% \end{syntax}
-% Sets keys by excluding those in the specificied \meta{groups}.
+% Sets keys by excluding those in the specified \meta{groups}.
% The \meta{groups} are
% given as a comma-separated list. Unknown keys are not assigned to any
% group and are thus always set. The key--value pairs for each
@@ -891,10 +891,14 @@
% the key names and values are returned.
% \end{function}
%
-% \begin{function}[added = 2013-07-14, updated = 2017-05-27]
+% \begin{function}[added = 2013-07-14, updated = 2024-05-08]
% {
% \keys_set_groups:nnn, \keys_set_groups:nnV,
-% \keys_set_groups:nnv, \keys_set_groups:nno
+% \keys_set_groups:nnv, \keys_set_groups:nno,
+% \keys_set_groups:nnnN, \keys_set_groups:nnVN,
+% \keys_set_groups:nnvN, \keys_set_groups:nnoN,
+% \keys_set_groups:nnnnN, \keys_set_groups:nnVnN,
+% \keys_set_groups:nnvnN, \keys_set_groups:nnonN,
% }
% \begin{syntax}
% \cs{keys_set_groups:nnn} \Arg{module} \Arg{groups} \Arg{keyval list}
@@ -902,7 +906,10 @@
% Activates key filtering in an \enquote{opt-in} sense: only keys assigned to
% one or more of the \meta{groups} specified are set. The \meta{groups} are
% given as a comma-separated list. Unknown keys are not assigned to any
-% group and are thus never set.
+% group and are thus never set. The key--value pairs for each
+% key which is filtered out are stored in the \meta{tl} in a
+% comma-separated form (\emph{i.e.}~an edited version of the \meta{keyval
+% list}). The \cs{keys_set_groups:nnn} version skips this stage
% \end{function}
%
% \section{Digesting keys}
@@ -1667,20 +1674,27 @@
% \end{macrocode}
% \end{variable}
%
-% \begin{variable}{\l_@@_selective_bool, \l_@@_filtered_bool}
+% \begin{variable}{\l_@@_selective_bool, \l_@@_exclude_bool}
% Two booleans for using key groups: one to indicate that \enquote{selective}
% setting is active, a second to specify which type (\enquote{opt-in}
% or \enquote{opt-out}).
% \begin{macrocode}
\bool_new:N \l_@@_selective_bool
-\bool_new:N \l_@@_filtered_bool
+\bool_new:N \l_@@_exclude_bool
% \end{macrocode}
% \end{variable}
%
-% \begin{variable}{\l_@@_selective_seq}
+% \begin{variable}{\l_@@_selective_clist}
% The list of key groups being filtered in or out during selective setting.
% \begin{macrocode}
-\seq_new:N \l_@@_selective_seq
+\seq_new:N \l_@@_selective_clist
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\l_@@_tmp_clist}
+% Scratch space used as a data dump.
+% \begin{macrocode}
+\seq_new:N \l_@@_tmp_clist
% \end{macrocode}
% \end{variable}
%
@@ -2787,36 +2801,58 @@
%
% \subsection{Setting keys}
%
-% \begin{macro}
-% {
-% \keys_set:nn, \keys_set:nV, \keys_set:nv, \keys_set:ne,
-% \keys_set:no, \keys_set:nx,
-% \@@_set:nn
-% }
+% \begin{macro}{\@@_set:nnnnNn}
+% \begin{macro}{\@@_set:nnnnnnnNn}
+% \begin{macro}[EXP]{\@@_reset_bool:N, \@@_reset_var:N}
+% \begin{macro}{\@@_set:nn}
% \begin{macro}{\@@_set:nnn}
-% A simple wrapper allowing for nesting.
-% \begin{macrocode}
-\cs_new_protected:Npn \keys_set:nn #1#2
+% The aim here is to allow nesting of key setting without needing lots of
+% tracking. That is done by expanding the appropriate tokens \enquote{around}
+% the core keyval parsing. As there are several different sub-paths, this
+% needs a few steps and some generic auxiliaries. The arguments here are
+% \begin{enumerate}
+% \item The root for keys
+% \item The key groups
+% \item The keys themselves
+% \item The relative root for return of unset keys
+% \item The \texttt{clist} var for returning unset keys
+% \item The code to set up the correct selection approach
+% \end{enumerate}
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_set:nnnnNn
+ {
+ \exp_args:Nooo \@@_set:nnnnnnnNn
+ \l_@@_unused_clist
+ \l_@@_selective_clist
+ \l_@@_relative_tl
+ }
+\cs_new_protected:Npn \@@_set:nnnnnnnNn #1#2#3#4#5#6#7#8#9
{
+ \clist_clear:N \l_@@_unused_clist
+ \clist_set:Ne \l_@@_selective_clist { \tl_to_str:n {#5} }
+ \tl_set:Nn \l_@@_relative_tl {#7}
\use:e
{
- \bool_set_false:N \exp_not:N \l_@@_only_known_bool
- \bool_set_false:N \exp_not:N \l_@@_filtered_bool
- \bool_set_false:N \exp_not:N \l_@@_selective_bool
- \tl_set:Nn \exp_not:N \l_@@_relative_tl
- { \exp_not:N \q_@@_no_value }
- \@@_set:nn \exp_not:n { {#1} {#2} }
- \bool_if:NT \l_@@_only_known_bool
- { \bool_set_true:N \exp_not:N \l_@@_only_known_bool }
- \bool_if:NT \l_@@_filtered_bool
- { \bool_set_true:N \exp_not:N \l_@@_filtered_bool }
- \bool_if:NT \l_@@_selective_bool
- { \bool_set_true:N \exp_not:N \l_@@_selective_bool }
- \tl_set:Nn \exp_not:N \l_@@_relative_tl
- { \exp_not:o \l_@@_relative_tl }
+ \exp_not:n
+ {
+ #9
+ \@@_set:nn {#4} {#6}
+ }
+ \@@_reset_bool:N \l_@@_only_known_bool
+ \@@_reset_bool:N \l_@@_exclude_bool
+ \@@_reset_bool:N \l_@@_selective_bool
}
+ \clist_set_eq:NN #8 \l_@@_unused_clist
+ \__kernel_tl_set:Nx \l_@@_unused_clist { \exp_not:n {#1} }
+ \__kernel_tl_set:Nx \l_@@_selective_clist {#2}
+ \__kernel_tl_set:Nx \l_@@_relative_tl { \exp_not:n {#3} }
+ }
+\cs_new:Npn \@@_reset_bool:N #1
+ {
+ \exp_not:c
+ { bool_set_ \bool_if:NTF #1 { true } { false } :N }
+ \exp_not:N #1
}
-\cs_generate_variant:Nn \keys_set:nn { nV , nv , ne , no , nx }
\cs_new_protected:Npn \@@_set:nn #1#2
{ \exp_args:No \@@_set:nnn \l_@@_module_str {#1} {#2} }
\cs_new_protected:Npn \@@_set:nnn #1#2#3
@@ -2828,80 +2864,72 @@
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
%
% \begin{macro}
% {
-% \keys_set_known:nnN, \keys_set_known:nVN,
-% \keys_set_known:nvN, \keys_set_known:neN,
-% \keys_set_known:noN
+% \keys_set:nn, \keys_set:nV, \keys_set:nv, \keys_set:ne,
+% \keys_set:no, \keys_set:nx
% }
+% A simple wrapper allowing for nesting.
+% \begin{macrocode}
+\cs_new_protected:Npn \keys_set:nn #1#2
+ {
+ \@@_set:nnnnNn
+ {#1} { } {#2} { \q_@@_no_value } \l_@@_tmp_clist
+ {
+ \bool_set_false:N \l_@@_only_known_bool
+ \bool_set_false:N \l_@@_exclude_bool
+ \bool_set_false:N \l_@@_selective_bool
+ }
+ }
+\cs_generate_variant:Nn \keys_set:nn { nV , nv , ne , no , nx }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}
% {
% \keys_set_known:nnnN, \keys_set_known:nVnN,
% \keys_set_known:nvnN, \keys_set_known:nenN,
% \keys_set_known:nonN
% }
-% \begin{macro}{\@@_set_known:nnnnN}
+% \begin{macro}
+% {
+% \keys_set_known:nnN, \keys_set_known:nVN,
+% \keys_set_known:nvN, \keys_set_known:neN,
+% \keys_set_known:noN
+% }
% \begin{macro}
% {
% \keys_set_known:nn, \keys_set_known:nV,
% \keys_set_known:nv, \keys_set_known:ne,
% \keys_set_known:no
% }
-% \begin{macro}{\@@_set_known:nnn}
-% Setting known keys simply means setting the appropriate boolean, then
-% running the standard code. To allow for nested setting, any existing
-% value of \cs{l_@@_unused_clist} is saved on the stack and reset
-% afterwards. Note that for speed/simplicity reasons we use a \texttt{tl}
-% operation to set the \texttt{clist} here!
+% Simply set the right variables.
% \begin{macrocode}
-\cs_new_protected:Npn \keys_set_known:nnN #1#2#3
- {
- \exp_args:No \@@_set_known:nnnnN
- \l_@@_unused_clist \q_@@_no_value {#1} {#2} #3
- }
-\cs_generate_variant:Nn \keys_set_known:nnN { nV , nv , ne , no }
\cs_new_protected:Npn \keys_set_known:nnnN #1#2#3#4
{
- \exp_args:No \@@_set_known:nnnnN
- \l_@@_unused_clist {#3} {#1} {#2} #4
+ \@@_set:nnnnNn
+ {#1} { } {#2} {#3} #4
+ {
+ \bool_set_true:N \l_@@_only_known_bool
+ \bool_set_false:N \l_@@_exclude_bool
+ \bool_set_false:N \l_@@_selective_bool
+ }
}
\cs_generate_variant:Nn \keys_set_known:nnnN { nV , nv , ne , no }
-\cs_new_protected:Npn \@@_set_known:nnnnN #1#2#3#4#5
- {
- \clist_clear:N \l_@@_unused_clist
- \@@_set_known:nnn {#2} {#3} {#4}
- \__kernel_tl_set:Nx #5 { \exp_not:o \l_@@_unused_clist }
- \__kernel_tl_set:Nx \l_@@_unused_clist { \exp_not:n {#1} }
- }
+\cs_new_protected:Npn \keys_set_known:nnN #1#2#3
+ { \keys_set_known:nnnN {#1} {#2} { \q_@@_no_value } #3 }
+\cs_generate_variant:Nn \keys_set_known:nnN { nV , nv , ne , no }
\cs_new_protected:Npn \keys_set_known:nn #1#2
- { \@@_set_known:nnn \q_@@_no_value {#1} {#2} }
+ { \keys_set_known:nnnN {#1} {#2} { \q_@@_no_value } \l_@@_tmp_clist }
\cs_generate_variant:Nn \keys_set_known:nn { nV , nv , ne , no }
-\cs_new_protected:Npn \@@_set_known:nnn #1#2#3
- {
- \use:e
- {
- \bool_set_true:N \exp_not:N \l_@@_only_known_bool
- \bool_set_false:N \exp_not:N \l_@@_filtered_bool
- \bool_set_false:N \exp_not:N \l_@@_selective_bool
- \tl_set:Nn \exp_not:N \l_@@_relative_tl { \exp_not:n {#1} }
- \@@_set:nn \exp_not:n { {#2} {#3} }
- \bool_if:NF \l_@@_only_known_bool
- { \bool_set_false:N \exp_not:N \l_@@_only_known_bool }
- \bool_if:NT \l_@@_filtered_bool
- { \bool_set_true:N \exp_not:N \l_@@_filtered_bool }
- \bool_if:NT \l_@@_selective_bool
- { \bool_set_true:N \exp_not:N \l_@@_selective_bool }
- \tl_set:Nn \exp_not:N \l_@@_relative_tl
- { \exp_not:o \l_@@_relative_tl }
- }
- }
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
-% \end{macro}
%
% \begin{macro}
% {
@@ -2913,97 +2941,68 @@
% \keys_set_exclude_groups:nnnnN, \keys_set_exclude_groups:nnVnN,
% \keys_set_exclude_groups:nnvnN, \keys_set_exclude_groups:nnonN
% }
-% \begin{macro}{\@@_set_exclude_groups:nnnnnN}
% \begin{macro}
% {
% \keys_set_exclude_groups:nnn, \keys_set_exclude_groups:nnV,
% \keys_set_exclude_groups:nnv, \keys_set_exclude_groups:nno
% }
-% \begin{macro}{\@@_set_exclude_groups:nnnn}
% \begin{macro}
% {
-% \keys_set_groups:nnn, \keys_set_groups:nnV, \keys_set_groups:nnv,
-% \keys_set_groups:nno
+% \keys_set_groups:nnnN, \keys_set_groups:nnVN,
+% \keys_set_groups:nnvN, \keys_set_groups:nnoN
+% }
+% \begin{macro}
+% {
+% \keys_set_groups:nnnnN, \keys_set_groups:nnVnN,
+% \keys_set_groups:nnvnN, \keys_set_groups:nnonN
+% }
+% \begin{macro}
+% {
+% \keys_set_groups:nnn, \keys_set_groups:nnV,
+% \keys_set_groups:nnv, \keys_set_groups:nno
% }
-% \begin{macro}{\@@_set_selective:nnn}
-% \begin{macro}{\@@_set_selective:nnnn}
-% The idea of setting keys in a selective manner again uses booleans
-% wrapped around the basic code. The comments on \cs{keys_set_known:nnN}
-% also apply here. We have a bit more shuffling to do to keep everything
-% nestable.
+% The same for (exclusion) groups.
% \begin{macrocode}
-\cs_new_protected:Npn \keys_set_exclude_groups:nnnN #1#2#3#4
- {
- \exp_args:No \@@_set_exclude_groups:nnnnnN
- \l_@@_unused_clist
- \q_@@_no_value {#1} {#2} {#3} #4
- }
-\cs_generate_variant:Nn \keys_set_exclude_groups:nnnN { nnV , nnv , nno }
\cs_new_protected:Npn \keys_set_exclude_groups:nnnnN #1#2#3#4#5
{
- \exp_args:No \@@_set_exclude_groups:nnnnnN
- \l_@@_unused_clist {#4} {#1} {#2} {#3} #5
+ \@@_set:nnnnNn
+ {#1} {#2} {#3} {#4} #5
+ {
+ \bool_set_false:N \l_@@_only_known_bool
+ \bool_set_true:N \l_@@_exclude_bool
+ \bool_set_true:N \l_@@_selective_bool
+ }
}
\cs_generate_variant:Nn \keys_set_exclude_groups:nnnnN { nnV , nnv , nno }
-\cs_new_protected:Npn \@@_set_exclude_groups:nnnnnN #1#2#3#4#5#6
+\cs_new_protected:Npn \keys_set_exclude_groups:nnnN #1#2#3#4
+ { \keys_set_exclude_groups:nnnnN {#1} {#2} {#3} { \q_@@_no_value } #4 }
+\cs_generate_variant:Nn \keys_set_exclude_groups:nnnN { nnV , nnv , nno }
+\cs_new_protected:Npn \keys_set_exclude_groups:nnn #1#2#3
{
- \clist_clear:N \l_@@_unused_clist
- \@@_set_exclude_groups:nnnn {#2} {#3} {#4} {#5}
- \__kernel_tl_set:Nx #6 { \exp_not:o \l_@@_unused_clist }
- \__kernel_tl_set:Nx \l_@@_unused_clist { \exp_not:n {#1} }
+ \keys_set_exclude_groups:nnnnN {#1} {#2} {#3}
+ { \q_@@_no_value } \l_@@_tmp_clist
}
-\cs_new_protected:Npn \keys_set_exclude_groups:nnn #1#2#3
- {\@@_set_exclude_groups:nnnn \q_@@_no_value {#1} {#2} {#3} }
\cs_generate_variant:Nn \keys_set_exclude_groups:nnn { nnV , nnv , nno }
-\cs_new_protected:Npn \@@_set_exclude_groups:nnnn #1#2#3#4
+\cs_new_protected:Npn \keys_set_groups:nnnnN #1#2#3#4#5
{
- \use:e
+ \@@_set:nnnnNn
+ {#1} {#2} {#3} {#4} #5
{
- \bool_set_false:N \exp_not:N \l_@@_only_known_bool
- \bool_set_true:N \exp_not:N \l_@@_filtered_bool
- \bool_set_true:N \exp_not:N \l_@@_selective_bool
- \tl_set:Nn \exp_not:N \l_@@_relative_tl { \exp_not:n {#1} }
- \@@_set_selective:nnn \exp_not:n { {#2} {#3} {#4} }
- \bool_if:NT \l_@@_only_known_bool
- { \bool_set_true:N \exp_not:N \l_@@_only_known_bool }
- \bool_if:NF \l_@@_filtered_bool
- { \bool_set_false:N \exp_not:N \l_@@_filtered_bool }
- \bool_if:NF \l_@@_selective_bool
- { \bool_set_false:N \exp_not:N \l_@@_selective_bool }
- \tl_set:Nn \exp_not:N \l_@@_relative_tl
- { \exp_not:o \l_@@_relative_tl }
+ \bool_set_false:N \l_@@_only_known_bool
+ \bool_set_false:N \l_@@_exclude_bool
+ \bool_set_true:N \l_@@_selective_bool
}
}
+\cs_generate_variant:Nn \keys_set_groups:nnnnN { nnV , nnv , nno }
+\cs_new_protected:Npn \keys_set_groups:nnnN #1#2#3#4
+ { \keys_set_groups:nnnnN {#1} {#2} {#3} { \q_@@_no_value } #4 }
+\cs_generate_variant:Nn \keys_set_groups:nnnN { nnV , nnv , nno }
\cs_new_protected:Npn \keys_set_groups:nnn #1#2#3
{
- \use:e
- {
- \bool_set_false:N \exp_not:N \l_@@_only_known_bool
- \bool_set_false:N \exp_not:N \l_@@_filtered_bool
- \bool_set_true:N \exp_not:N \l_@@_selective_bool
- \tl_set:Nn \exp_not:N \l_@@_relative_tl
- { \exp_not:N \q_@@_no_value }
- \@@_set_selective:nnn \exp_not:n { {#1} {#2} {#3} }
- \bool_if:NT \l_@@_only_known_bool
- { \bool_set_true:N \exp_not:N \l_@@_only_known_bool }
- \bool_if:NF \l_@@_filtered_bool
- { \bool_set_true:N \exp_not:N \l_@@_filtered_bool }
- \bool_if:NF \l_@@_selective_bool
- { \bool_set_false:N \exp_not:N \l_@@_selective_bool }
- \tl_set:Nn \exp_not:N \l_@@_relative_tl
- { \exp_not:o \l_@@_relative_tl }
- }
+ \keys_set_groups:nnnnN {#1} {#2} {#3}
+ { \q_@@_no_value } \l_@@_tmp_clist
}
\cs_generate_variant:Nn \keys_set_groups:nnn { nnV , nnv , nno }
-\cs_new_protected:Npn \@@_set_selective:nnn
- { \exp_args:No \@@_set_selective:nnnn \l_@@_selective_seq }
-\cs_new_protected:Npn \@@_set_selective:nnnn #1#2#3#4
- {
- \exp_args:NNe \seq_set_from_clist:Nn
- \l_@@_selective_seq { \tl_to_str:n {#3} }
- \@@_set:nn {#2} {#4}
- \tl_set:Nn \l_@@_selective_seq {#1}
- }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -3011,8 +3010,6 @@
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
-% \end{macro}
%
% \begin{macro}{\keys_precompile:nnN}
% A simple wrapper.
@@ -3127,7 +3124,7 @@
\@@_check_groups:
}
{
- \bool_if:NTF \l_@@_filtered_bool
+ \bool_if:NTF \l_@@_exclude_bool
\@@_execute:
\@@_store_unused:
}
@@ -3138,7 +3135,7 @@
% set active. That requires two mappings, and again a different outcome
% depending on whether opt-in or opt-out is set.
% It is safe to use \cs{clist_if_in:NnTF} because
-% both \cs{l_@@_selective_seq} and \cs{l_@@_groups_clist} contain the
+% both \cs{l_@@_selective_clist} and \cs{l_@@_groups_clist} contain the
% groups as strings, without leading/trailing spaces in any item,
% since the \pkg{l3clist} functions were applied to the result of
% applying \cs{tl_to_str:n}.
@@ -3146,22 +3143,22 @@
\cs_new_protected:Npn \@@_check_groups:
{
\bool_set_false:N \l_@@_tmp_bool
- \seq_map_inline:Nn \l_@@_selective_seq
+ \clist_map_inline:Nn \l_@@_selective_clist
{
\clist_if_in:NnT \l_@@_groups_clist {##1}
{
\bool_set_true:N \l_@@_tmp_bool
- \seq_map_break:
+ \clist_map_break:
}
}
\bool_if:NTF \l_@@_tmp_bool
{
- \bool_if:NTF \l_@@_filtered_bool
+ \bool_if:NTF \l_@@_exclude_bool
\@@_store_unused:
\@@_execute:
}
{
- \bool_if:NTF \l_@@_filtered_bool
+ \bool_if:NTF \l_@@_exclude_bool
\@@_execute:
\@@_store_unused:
}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx b/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx
index ed7dadf2220..fd30799ea1d 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx b/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
index f0107d465be..19d92a15916 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -452,7 +452,7 @@ ltxutils.filedump = filedump
%
% \begin{macro}[int]{md5.HEX}
% Hash a string and return the hash in uppercase hexadecimal format.
-% In some engines, this is build-in. For traditional \LuaTeX{}, the conversion
+% In some engines, this is built-in. For traditional \LuaTeX{}, the conversion
% to hexadecimal has to be done by us.
% \begin{macrocode}
local md5_HEX = md5.HEX
@@ -664,7 +664,7 @@ end)
%<@@=lua>
% \end{macrocode}
%
-% The Lua state is not dumped when a forat is written, therefore any Lua
+% The Lua state is not dumped when a format is written, therefore any Lua
% variables filled doing format building need to be restored in order to
% be accessible during normal runs.
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx b/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
index ab4d882dcbf..96fc2311935 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -92,7 +92,7 @@
% will allow to filter out specifically messages from the \texttt{submodule}.
%
% Some authors may find the need to include spaces as |~| characters
-% tedious. This can be avoided by locally reseting the cateogry code
+% tedious. This can be avoided by locally resetting the category code
% of \verb*| |.
% \begin{verbatim}
% \char_set_catcode_space:n { `\ }
@@ -203,7 +203,9 @@
% \end{quote}
% This function can be redefined to alter the language in which the
% message is given, using |#1| as the name of the \meta{module} to
-% be included.
+% be included. Any redefinition \emph{must} produce output containing
+% the \meta{module} name, and will affect all messages using the
+% \pkg{expl3} mechanism.
% \end{function}
%
% \begin{function}[EXP]{\msg_critical_text:n}
@@ -217,7 +219,9 @@
% \end{quote}
% This function can be redefined to alter the language in which the
% message is given, using |#1| as the name of the \meta{module} to
-% be included.
+% be included. Any redefinition \emph{must} produce output containing
+% the \meta{module} name, and will affect all messages using the
+% \pkg{expl3} mechanism.
% \end{function}
%
% \begin{function}[EXP]{\msg_error_text:n}
@@ -231,7 +235,9 @@
% \end{quote}
% This function can be redefined to alter the language in which the
% message is given, using |#1| as the name of the \meta{module} to
-% be included.
+% be included. Any redefinition \emph{must} produce output containing
+% the \meta{module} name, and will affect all messages using the
+% \pkg{expl3} mechanism.
% \end{function}
%
% \begin{function}[EXP]{\msg_warning_text:n}
@@ -247,6 +253,9 @@
% message is given, using |#1| as the name of the \meta{module} to
% be included. The \meta{type} of \meta{module} may be adjusted:
% |Package| is the standard outcome: see \cs{msg_module_type:n}.
+% Any redefinition \emph{must} produce output containing
+% the \meta{module} name, and will affect all messages using the
+% \pkg{expl3} mechanism.
% \end{function}
%
% \begin{function}[EXP]{\msg_info_text:n}
@@ -262,6 +271,9 @@
% message is given, using |#1| as the name of the \meta{module} to
% be included. The \meta{type} of \meta{module} may be adjusted:
% |Package| is the standard outcome: see \cs{msg_module_type:n}.
+% Any redefinition \emph{must} produce output containing
+% the \meta{module} name, and will affect all messages using the
+% \pkg{expl3} mechanism.
% \end{function}
%
% \begin{function}[EXP,updated = 2018-09-30]{\msg_see_documentation_text:n}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
index 468481c28c6..c2af4697f2a 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -1540,7 +1540,7 @@ end, 'global')
% \begin{macro}[no-user-doc]{\tex_filedump:D}
% An emulated primitive for getting a hexdump from a (partial) file.
% The length has a default of |0|. This is consistent with
-% \pdfTeX, but it effectivly makes the primitive useless without an
+% \pdfTeX, but it effectively makes the primitive useless without an
% explicit |length|. Therefore we allow the keyword |whole| to be used
% instead of a length, indicating that the whole remaining file should
% be read.
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx b/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx
index b0b17f26902..007cb5b5ad1 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -179,11 +179,13 @@
% created. This is particularly useful for anonymous objects.
% \end{function}
%
-% \begin{function}[EXP, added = 2021-02-10]{\pdf_pageobject_ref:n}
+% \begin{function}[EXP, added = 2021-02-10, updated = 2024-04-22]
+% {\pdf_pageobject_ref:n}
% \begin{syntax}
-% \cs{pdf_pagobject_ref:n} \Arg{pageobject}
+% \cs{pdf_pageobject_ref:n} \Arg{abspage}
% \end{syntax}
-% Inserts the appropriate information to reference the \meta{pageobject}.
+% Inserts the appropriate information to reference the \meta{abspage};
+% the latter is expanded fully before further processing.
% \end{function}
%
% \section{Version}
@@ -230,6 +232,9 @@
% \end{syntax}
% Sets the page size (mediabox) of the PDF being created to the
% \meta{width} and \meta{height}, both of which are \meta{dimexpr}.
+% The page size can only be set at the start of the output with
+% \texttt{dvips}; with other backends, this can be adjusted on a
+% per-page basis.
% \end{function}
%
% \section{Compression}
@@ -659,7 +664,7 @@ end,'global')
% \begin{macro}{\pdf_pageobject_ref:n}
% \begin{macrocode}
\cs_new:Npn \pdf_pageobject_ref:n #1
- { \@@_backend_pageobject_ref:n {#1} }
+ { \exp_args:Ne \@@_backend_pageobject_ref:n {#1} }
% \end{macrocode}
% \end{macro}
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
index ea76955d82f..96ef859b3fc 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
index 6d8054e956d..3350b277927 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -299,12 +299,24 @@
% codes are ignored.
% \end{function}
%
-% \begin{function}[added = 2024-03-30]
+% \begin{function}[added = 2024-03-30, updated = 2024-05-07]
% {
-% \prop_put_if_not_in:Nnn, \prop_put_if_not_in:NVn, \prop_put_if_not_in:NnV,
-% \prop_put_if_not_in:cnn, \prop_put_if_not_in:cVn, \prop_put_if_not_in:cnV,
-% \prop_gput_if_not_in:Nnn, \prop_gput_if_not_in:NVn, \prop_gput_if_not_in:NnV,
-% \prop_gput_if_not_in:cnn, \prop_gput_if_not_in:cVn, \prop_gput_if_not_in:cnV
+% \prop_put_if_not_in:Nnn, \prop_put_if_not_in:NnV, \prop_put_if_not_in:Nnv, \prop_put_if_not_in:Nne,
+% \prop_put_if_not_in:NVn, \prop_put_if_not_in:NVV, \prop_put_if_not_in:NVv, \prop_put_if_not_in:NVe,
+% \prop_put_if_not_in:Nvn, \prop_put_if_not_in:NvV, \prop_put_if_not_in:Nvv, \prop_put_if_not_in:Nve,
+% \prop_put_if_not_in:Nen, \prop_put_if_not_in:NeV, \prop_put_if_not_in:Nev, \prop_put_if_not_in:Nee,
+% \prop_put_if_not_in:cnn, \prop_put_if_not_in:cnV, \prop_put_if_not_in:cnv, \prop_put_if_not_in:cne,
+% \prop_put_if_not_in:cVn, \prop_put_if_not_in:cVV, \prop_put_if_not_in:cVv, \prop_put_if_not_in:cVe,
+% \prop_put_if_not_in:cvn, \prop_put_if_not_in:cvV, \prop_put_if_not_in:cvv, \prop_put_if_not_in:cve,
+% \prop_put_if_not_in:cen, \prop_put_if_not_in:ceV, \prop_put_if_not_in:cev, \prop_put_if_not_in:cee,
+% \prop_gput_if_not_in:Nnn, \prop_gput_if_not_in:NnV, \prop_gput_if_not_in:Nnv, \prop_gput_if_not_in:Nne,
+% \prop_gput_if_not_in:NVn, \prop_gput_if_not_in:NVV, \prop_gput_if_not_in:NVv, \prop_gput_if_not_in:NVe,
+% \prop_gput_if_not_in:Nvn, \prop_gput_if_not_in:NvV, \prop_gput_if_not_in:Nvv, \prop_gput_if_not_in:Nve,
+% \prop_gput_if_not_in:Nen, \prop_gput_if_not_in:NeV, \prop_gput_if_not_in:Nev, \prop_gput_if_not_in:Nee,
+% \prop_gput_if_not_in:cnn, \prop_gput_if_not_in:cnV, \prop_gput_if_not_in:cnv, \prop_gput_if_not_in:cne,
+% \prop_gput_if_not_in:cVn, \prop_gput_if_not_in:cVV, \prop_gput_if_not_in:cVv, \prop_gput_if_not_in:cVe,
+% \prop_gput_if_not_in:cvn, \prop_gput_if_not_in:cvV, \prop_gput_if_not_in:cvv, \prop_gput_if_not_in:cve,
+% \prop_gput_if_not_in:cen, \prop_gput_if_not_in:ceV, \prop_gput_if_not_in:cev, \prop_gput_if_not_in:cee
% }
% \begin{syntax}
% \cs{prop_put_if_not_in:Nnn} \meta{property list} \Arg{key} \Arg{value}
@@ -1940,10 +1952,22 @@
% }
% \begin{macro}[tested = m3prop002]
% {
-% \prop_put_if_not_in:Nnn, \prop_put_if_not_in:NVn, \prop_put_if_not_in:NnV,
-% \prop_put_if_not_in:cnn, \prop_put_if_not_in:cVn, \prop_put_if_not_in:cnV,
-% \prop_gput_if_not_in:Nnn, \prop_gput_if_not_in:NVn, \prop_gput_if_not_in:NnV,
-% \prop_gput_if_not_in:cnn, \prop_gput_if_not_in:cVn, \prop_gput_if_not_in:cnV
+% \prop_put_if_not_in:Nnn, \prop_put_if_not_in:NnV, \prop_put_if_not_in:Nnv, \prop_put_if_not_in:Nne,
+% \prop_put_if_not_in:NVn, \prop_put_if_not_in:NVV, \prop_put_if_not_in:NVv, \prop_put_if_not_in:NVe,
+% \prop_put_if_not_in:Nvn, \prop_put_if_not_in:NvV, \prop_put_if_not_in:Nvv, \prop_put_if_not_in:Nve,
+% \prop_put_if_not_in:Nen, \prop_put_if_not_in:NeV, \prop_put_if_not_in:Nev, \prop_put_if_not_in:Nee,
+% \prop_put_if_not_in:cnn, \prop_put_if_not_in:cnV, \prop_put_if_not_in:cnv, \prop_put_if_not_in:cne,
+% \prop_put_if_not_in:cVn, \prop_put_if_not_in:cVV, \prop_put_if_not_in:cVv, \prop_put_if_not_in:cVe,
+% \prop_put_if_not_in:cvn, \prop_put_if_not_in:cvV, \prop_put_if_not_in:cvv, \prop_put_if_not_in:cve,
+% \prop_put_if_not_in:cen, \prop_put_if_not_in:ceV, \prop_put_if_not_in:cev, \prop_put_if_not_in:cee,
+% \prop_gput_if_not_in:Nnn, \prop_gput_if_not_in:NnV, \prop_gput_if_not_in:Nnv, \prop_gput_if_not_in:Nne,
+% \prop_gput_if_not_in:NVn, \prop_gput_if_not_in:NVV, \prop_gput_if_not_in:NVv, \prop_gput_if_not_in:NVe,
+% \prop_gput_if_not_in:Nvn, \prop_gput_if_not_in:NvV, \prop_gput_if_not_in:Nvv, \prop_gput_if_not_in:Nve,
+% \prop_gput_if_not_in:Nen, \prop_gput_if_not_in:NeV, \prop_gput_if_not_in:Nev, \prop_gput_if_not_in:Nee,
+% \prop_gput_if_not_in:cnn, \prop_gput_if_not_in:cnV, \prop_gput_if_not_in:cnv, \prop_gput_if_not_in:cne,
+% \prop_gput_if_not_in:cVn, \prop_gput_if_not_in:cVV, \prop_gput_if_not_in:cVv, \prop_gput_if_not_in:cVe,
+% \prop_gput_if_not_in:cvn, \prop_gput_if_not_in:cvV, \prop_gput_if_not_in:cvv, \prop_gput_if_not_in:cve,
+% \prop_gput_if_not_in:cen, \prop_gput_if_not_in:ceV, \prop_gput_if_not_in:cev, \prop_gput_if_not_in:cee
% }
% \begin{macro}[tested = m3prop002]
% {
@@ -2006,9 +2030,19 @@
\cs_generate_variant:Nn \prop_gput:Nnn
{ cno , co , coo , cnx , cVx , cxV , cxx }
\cs_generate_variant:Nn \prop_put_if_not_in:Nnn
- { NnV , NV , c , cnV , cV }
+ {
+ NnV , Nnv , Nne , NV , NVV , NVv , NVe ,
+ Nv , NvV , Nvv , Nve , Ne , NeV , Nev , Nee ,
+ c , cnV , cnv , cne , cV , cVV , cVv , cVe ,
+ cv , cvV , cvv , cve , ce , ceV , cev , cee
+ }
\cs_generate_variant:Nn \prop_gput_if_not_in:Nnn
- { NnV , NV , c , cnV , cV }
+ {
+ NnV , Nnv , Nne , NV , NVV , NVv , NVe ,
+ Nv , NvV , Nvv , Nve , Ne , NeV , Nev , Nee ,
+ c , cnV , cnv , cne , cV , cVV , cVv , cVe ,
+ cv , cvV , cvv , cve , ce , ceV , cev , cee
+ }
% \end{macrocode}
% Since the true branch of \cs{@@_split:NnTFn} is used as the
% replacement text of an internal macro, and since the \meta{key} and
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx b/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
index 6dba950462c..c989bd4024e 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx b/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
index ce85b562627..ad44b8c6f90 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -2047,9 +2047,9 @@
% phase. Compiled regular expressions consist of the following:
% \begin{itemize}
% \item \cs{@@_class:NnnnN} \meta{boolean} \Arg{tests} \Arg{min}
-% \Arg{more} \meta{lazyness}
+% \Arg{more} \meta{laziness}
% \item \cs{@@_group:nnnN} \Arg{branches} \Arg{min} \Arg{more}
-% \meta{lazyness}, also \cs{@@_group_no_capture:nnnN} and
+% \meta{laziness}, also \cs{@@_group_no_capture:nnnN} and
% \cs{@@_group_resetting:nnnN} with the same syntax.
% \item \cs{@@_branch:n} \Arg{contents}
% \item \cs{@@_command_K:}
@@ -2638,7 +2638,7 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\@@_compile_quantifier_lazyness:nnNN}
+% \begin{macro}{\@@_compile_quantifier_laziness:nnNN}
% Once the \enquote{main} quantifier (\texttt{?}, \texttt{*},
% \texttt{+} or a braced construction) is found, we check whether it
% is lazy (followed by a question mark). We then add to the compiled
@@ -2646,7 +2646,7 @@
% the start-point of the range, its end-point, and a boolean,
% \texttt{true} for lazy and \texttt{false} for greedy operators.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_compile_quantifier_lazyness:nnNN #1#2#3#4
+\cs_new_protected:Npn \@@_compile_quantifier_laziness:nnNN #1#2#3#4
{
\@@_two_if_eq:NNNNTF #3 #4 \@@_compile_special:N ?
{
@@ -2669,15 +2669,15 @@
% \@@_compile_quantifier_+:w
% }
% For each \enquote{basic} quantifier, |?|, |*|, |+|, feed the correct
-% arguments to \cs{@@_compile_quantifier_lazyness:nnNN}, $-1$ means
+% arguments to \cs{@@_compile_quantifier_laziness:nnNN}, $-1$ means
% that there is no upper bound on the number of repetitions.
% \begin{macrocode}
\cs_new_protected:cpn { @@_compile_quantifier_?:w }
- { \@@_compile_quantifier_lazyness:nnNN { 0 } { 1 } }
+ { \@@_compile_quantifier_laziness:nnNN { 0 } { 1 } }
\cs_new_protected:cpn { @@_compile_quantifier_*:w }
- { \@@_compile_quantifier_lazyness:nnNN { 0 } { -1 } }
+ { \@@_compile_quantifier_laziness:nnNN { 0 } { -1 } }
\cs_new_protected:cpn { @@_compile_quantifier_+:w }
- { \@@_compile_quantifier_lazyness:nnNN { 1 } { -1 } }
+ { \@@_compile_quantifier_laziness:nnNN { 1 } { -1 } }
% \end{macrocode}
% \end{macro}
%
@@ -2711,7 +2711,7 @@
{
{ \@@_compile_special:N \c_right_brace_str }
{
- \exp_args:No \@@_compile_quantifier_lazyness:nnNN
+ \exp_args:No \@@_compile_quantifier_laziness:nnNN
{ \int_use:N \l_@@_internal_a_int } 0
}
{ \@@_compile_special:N , }
@@ -2731,7 +2731,7 @@
{
\@@_two_if_eq:NNNNTF #1 #2 \@@_compile_special:N \c_right_brace_str
{
- \exp_args:No \@@_compile_quantifier_lazyness:nnNN
+ \exp_args:No \@@_compile_quantifier_laziness:nnNN
{ \int_use:N \l_@@_internal_a_int } { -1 }
}
{
@@ -2753,7 +2753,7 @@
\else:
\int_sub:Nn \l_@@_internal_b_int \l_@@_internal_a_int
\fi:
- \exp_args:Noo \@@_compile_quantifier_lazyness:nnNN
+ \exp_args:Noo \@@_compile_quantifier_laziness:nnNN
{ \int_use:N \l_@@_internal_a_int }
{ \int_use:N \l_@@_internal_b_int }
}
@@ -4517,13 +4517,13 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_build_transitions_lazyness:NNNNN}
+% \begin{macro}{\@@_build_transitions_laziness:NNNNN}
% This function creates a new state, and puts two transitions starting
% from the old current state. The order of the transitions is
% controlled by |#1|, true for lazy quantifiers, and false for greedy
% quantifiers.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_build_transitions_lazyness:NNNNN #1#2#3#4#5
+\cs_new_protected:Npn \@@_build_transitions_laziness:NNNNN #1#2#3#4#5
{
\@@_build_new_state:
\@@_toks_put_right:Ne \l_@@_left_state_int
@@ -4545,7 +4545,7 @@
% \begin{macro}{\@@_class:NnnnN}
% \begin{macro}[rEXP]{\@@_tests_action_cost:n}
% The arguments are: \meta{boolean} \Arg{tests} \Arg{min} \Arg{more}
-% \meta{lazyness}. First store the tests with a trailing
+% \meta{laziness}. First store the tests with a trailing
% \cs{@@_action_cost:n}, in the true branch of
% \cs{@@_break_point:TF} for positive classes, or the false branch
% for negative classes. The integer \meta{more} is $0$ for fixed
@@ -4599,18 +4599,18 @@
% \cs{@@_class_repeat:n} for the code to match |#1| repetitions,
% and add free transitions from the last state to the previous one,
% and to a new one. In both cases, the order of transitions is
-% controlled by the lazyness boolean |#2|.
+% controlled by the laziness boolean |#2|.
% \begin{macrocode}
\cs_new_protected:Npn \@@_class_repeat:nN #1#2
{
\if_int_compare:w #1 = \c_zero_int
- \@@_build_transitions_lazyness:NNNNN #2
+ \@@_build_transitions_laziness:NNNNN #2
\@@_action_free:n \l_@@_right_state_int
\@@_tests_action_cost:n \l_@@_left_state_int
\else:
\@@_class_repeat:n {#1}
\int_set_eq:NN \l_@@_internal_a_int \l_@@_left_state_int
- \@@_build_transitions_lazyness:NNNNN #2
+ \@@_build_transitions_laziness:NNNNN #2
\@@_action_free:n \l_@@_right_state_int
\@@_action_free:n \l_@@_internal_a_int
\fi:
@@ -4634,7 +4634,7 @@
{ \l_@@_max_state_int + #2 - \c_one_int }
\prg_replicate:nn { #2 }
{
- \@@_build_transitions_lazyness:NNNNN #3
+ \@@_build_transitions_laziness:NNNNN #3
\@@_action_free:n \l_@@_internal_a_int
\@@_tests_action_cost:n \l_@@_right_state_int
}
@@ -4646,7 +4646,7 @@
%
% \begin{macro}{\@@_group_aux:nnnnN}
% Arguments: \Arg{label} \Arg{contents} \Arg{min} \Arg{more}
-% \meta{lazyness}. If \meta{min} is $0$, we need to add a state before
+% \meta{laziness}. If \meta{min} is $0$, we need to add a state before
% building the group, so that the thread which skips the group does
% not also set the start-point of the submatch. After adding one more
% state, the \texttt{left_state} is the left end of the group, from
@@ -4656,7 +4656,7 @@
% build the \textsc{nfa} states for the contents |#2| of the group,
% and we forget about the two integers. Once this is done, perform the
% repetition: either exactly |#3| times, or |#3| or more times, or
-% between |#3| and $|#3|+|#4|$ times, with lazyness |#5|. The
+% between |#3| and $|#3|+|#4|$ times, with laziness |#5|. The
% \meta{label} |#1| is used for submatch tracking. Each of the three
% auxiliaries expects \texttt{left_state} and \texttt{right_state} to
% be set properly.
@@ -4884,7 +4884,7 @@
%
% \begin{macro}{\@@_group_repeat:nnnN}
% We wish to repeat the group between |#2| and $|#2|+|#3|$ times, with
-% a lazyness controlled by |#4|. We insert submatch tracking up front:
+% a laziness controlled by |#4|. We insert submatch tracking up front:
% in principle, we could avoid recording submatches for the first |#2|
% copies of the group, but that forces us to treat specially the case
% $|#2|=0$. Repeat that group with submatch tracking $|#2|+|#3|$ times
@@ -8076,7 +8076,7 @@
% This is not technically a message, but seems related enough to go
% there. The arguments are: |#1| is the minimum number of repetitions;
% |#2| is the number of allowed extra repetitions ($-1$ for infinite
-% number), and |#3| tells us about lazyness.
+% number), and |#3| tells us about laziness.
% \begin{macrocode}
\cs_new:Npn \@@_msg_repeated:nnN #1#2#3
{
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx b/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
index 6be32f7a831..713e4a33b12 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -1690,7 +1690,7 @@
}
% \end{macrocode}
% If the position is ok, \cs{@@_set_item:nNnnNNNN} makes the assignment
-% and returns \texttt{true} (in the case of conditionnals). Here |#1|
+% and returns \texttt{true} (in the case of conditionals). Here |#1|
% is an integer expression (position minus one), it needs to be
% evaluated. The sequence |#5| starts with \cs{s_@@} (even if empty),
% which stops the integer expression and is absorbed by it. The
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx b/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
index a3d9256223d..3eeb891e3dc 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx b/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
index 81a025b4744..9ba87132443 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx b/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx
index 75dbdd095b8..0b280fb109d 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3str.dtx b/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
index efc24fe8eae..d4e08b2dd21 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
index 085b5f2c979..0417a963bc2 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
index 5010114fb4b..888e6e97b91 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -1919,7 +1919,7 @@
% \end{macrocode}
% If there was a hit, output the result with the dot-above and move on.
% Otherwise, look for one of the three letters that can take a combining
-% accent: I, J nd I-ogonek.
+% accent: I, J, and I-ogonek.
% \begin{macrocode}
\cs_new:Npn \@@_change_case_lower_lt_auxi:nnnnn #1#2#3#4#5
{
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx
index 213d8281a96..ab4a6db91e8 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx
index a713cd6e403..ec85eb8be45 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text.dtx
index 56c9a5533c3..a59e047bd78 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -887,7 +887,7 @@
% {\c_@@_chardef_group_begin_token, \c_@@_mathchardef_group_begin_token}
% \begin{variable}
% {\c_@@_chardef_group_end_token, \c_@@_mathchardef_group_end_token}
-% Markers for implict char handling.
+% Markers for implicit char handling.
% \begin{macrocode}
\tex_global:D \tex_chardef:D \c_@@_chardef_space_token = `\ %
\tex_global:D \tex_mathchardef:D \c_@@_mathchardef_space_token = `\ %
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
index a4141dcfe4a..80a7d74cefc 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl-build.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl-build.dtx
index 859dd5025c8..708ea816804 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3tl-build.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3tl-build.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
index 30e16636e54..940b3cb8d0e 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -3339,7 +3339,7 @@
% }
% \begin{macro}[EXP]{\@@_use_none_delimit_by_q_act_stop:w}
% To help control the expansion, \cs{@@_act:NNNn} should always
-% be preceeded by \cs{exp:w} and ends by producing \cs{exp_end:}
+% be preceded by \cs{exp:w} and ends by producing \cs{exp_end:}
% once the result has been obtained. This way no internal token of it can be
% accidentally end up in the input stream.
% Because \cs{s_@@_act_stop} can't appear without braces around it in the
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3token.dtx b/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
index a38860b548c..5c31ab04e72 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx b/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
index 0ee6858f5b9..3b3bd007a4c 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 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -52,7 +52,7 @@
% This module provides Unicode-specific functions along with loading data
% from a range of Unicode Consortium files. Most of the code here is
% internal, but there are a small set of public functions. These work with
-% Unicode \meta{codepoints} and are designed to give useable results with
+% Unicode \meta{codepoints} and are designed to give usable results with
% both Unicode-aware and $8$-bit engines.
%
% \begin{function}[EXP, added = 2022-10-09, updated = 2022-11-09]
diff --git a/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx b/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx
index 817d37a46c1..2e5c419165a 100644
--- a/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx
+++ b/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx
@@ -62,7 +62,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -154,7 +154,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3keys2e}{2024-03-14}{}
+\ProvidesExplPackage{l3keys2e}{2024-05-08}{}
{LaTeX2e option processing using LaTeX3 keys}
% \end{macrocode}
%
diff --git a/Master/texmf-dist/source/latex/l3packages/xfp/xfp.dtx b/Master/texmf-dist/source/latex/l3packages/xfp/xfp.dtx
index 8baebbfc190..fe8dcd51b1d 100644
--- a/Master/texmf-dist/source/latex/l3packages/xfp/xfp.dtx
+++ b/Master/texmf-dist/source/latex/l3packages/xfp/xfp.dtx
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -171,7 +171,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xfp}{2024-03-14}{}
+\ProvidesExplPackage{xfp}{2024-05-08}{}
{L3 Floating point unit}
% \end{macrocode}
%
diff --git a/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx b/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
index 4b731d1e0f6..62ac19ff25d 100644
--- a/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
+++ b/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
@@ -67,7 +67,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -1079,7 +1079,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xparse}{2024-03-14}{}
+\ProvidesExplPackage{xparse}{2024-05-08}{}
{L3 Experimental document command parser}
% \end{macrocode}
%
diff --git a/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx b/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx
index 4aac33434a4..7d20c6142f1 100644
--- a/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx
+++ b/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -704,12 +704,15 @@
\endinput
}
{%
- \ProvidesExplPackage{xtemplate}{2024-03-14}{}
+ \ProvidesExplPackage{xtemplate}{2024-05-08}{}
{L3 Experimental prototype document functions}
\long\protected\def\DeclareRestrictedTemplate#1#2#3#4{%
\DeclareTemplateCopy{#1}{#3}{#2}%
\EditTemplateDefaults{#1}{#3}{#4}%
}%
+ \let\IfInstanceExistT\IfInstanceExistsT
+ \let\IfInstanceExistF\IfInstanceExistsF
+ \let\IfInstanceExistTF\IfInstanceExistsTF
}
\ExplSyntaxOn
\cs_new_protected:Npn \DeclareObjectType #1#2
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
index a8a54ec2dae..77e846f3f16 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvipdfmx.def}{2024-04-11}{}
+ {l3backend-dvipdfmx.def}{2024-05-08}{}
{L3 backend support: dvipdfmx}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
index 0c60ac3e936..d1cc1e78023 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvips.def}{2024-04-11}{}
+ {l3backend-dvips.def}{2024-05-08}{}
{L3 backend support: dvips}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
diff --git a/Master/texmf-dist/dvips/l3backend/l3backend-dvips.pro b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.pro
index 574b83c8b1a..574b83c8b1a 100644
--- a/Master/texmf-dist/dvips/l3backend/l3backend-dvips.pro
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.pro
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
index e1483003cc7..23474878bb2 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvisvgm.def}{2024-04-11}{}
+ {l3backend-dvisvgm.def}{2024-05-08}{}
{L3 backend support: dvisvgm}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
@@ -141,17 +141,10 @@
\__kernel_backend_literal:n { color~push~ #1 }
}
\cs_new_protected:Npn \__color_backend_stroke_cmyk:n #1
- { \__color_backend_cmyk:w #1 \s__color_stop }
-\cs_new_protected:Npn \__color_backend_stroke_cmyk:w
- #1 ~ #2 ~ #3 ~ #4 \s__color_stop
{
- \use:e
- {
- \__color_backend:nnn
- { \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 ) ) } }
- }
+ \__color_backend_fill_cmyk:n {#1}
+ \__kernel_backend_scope:n { stroke = "{?color}" }
+ \__color_backend_reset:
}
\cs_new_protected:Npn \__color_backend_stroke_gray:n #1
{
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
index cdd871cceda..c822ca86f40 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-luatex.def}{2024-04-11}{}
+ {l3backend-luatex.def}{2024-05-08}{}
{L3 backend support: PDF output (LuaTeX)}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
index 3c51094bbc8..53a4e3e35df 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-pdftex.def}{2024-04-11}{}
+ {l3backend-pdftex.def}{2024-05-08}{}
{L3 backend support: PDF output (pdfTeX)}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def
index e05725885ca..6f86de196b1 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-xetex.def}{2024-04-11}{}
+ {l3backend-xetex.def}{2024-05-08}{}
{L3 backend support: XeTeX}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index 8207f52f0fe..cd26bfb47d0 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -75,7 +75,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2024-04-11}%
+\def\ExplFileDate{2024-05-08}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -10078,9 +10078,19 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_generate_variant:Nn \prop_gput:Nnn
{ cno , co , coo , cnx , cVx , cxV , cxx }
\cs_generate_variant:Nn \prop_put_if_not_in:Nnn
- { NnV , NV , c , cnV , cV }
+ {
+ NnV , Nnv , Nne , NV , NVV , NVv , NVe ,
+ Nv , NvV , Nvv , Nve , Ne , NeV , Nev , Nee ,
+ c , cnV , cnv , cne , cV , cVV , cVv , cVe ,
+ cv , cvV , cvv , cve , ce , ceV , cev , cee
+ }
\cs_generate_variant:Nn \prop_gput_if_not_in:Nnn
- { NnV , NV , c , cnV , cV }
+ {
+ NnV , Nnv , Nne , NV , NVV , NVv , NVe ,
+ Nv , NvV , Nvv , Nve , Ne , NeV , Nev , Nee ,
+ c , cnV , cnv , cne , cV , cVV , cVv , cVe ,
+ cv , cvV , cvv , cve , ce , ceV , cev , cee
+ }
\cs_new_protected:Npn \__prop_put:nNNnn #1#2#3#4#5
{
\tl_set:Nn \l__prop_internal_tl
@@ -13739,8 +13749,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\tl_set:Nn \l__keys_relative_tl { \q__keys_no_value }
\str_new:N \l__keys_property_str
\bool_new:N \l__keys_selective_bool
-\bool_new:N \l__keys_filtered_bool
-\seq_new:N \l__keys_selective_seq
+\bool_new:N \l__keys_exclude_bool
+\seq_new:N \l__keys_selective_clist
+\seq_new:N \l__keys_tmp_clist
\clist_new:N \l__keys_unused_clist
\tl_new:N \l_keys_value_tl
\bool_new:N \l__keys_tmp_bool
@@ -14359,27 +14370,40 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__keys_value_requirement:nn { forbidden } {#1} }
\cs_new_protected:cpn { \c__keys_props_root_str .value_required:n } #1
{ \__keys_value_requirement:nn { required } {#1} }
-\cs_new_protected:Npn \keys_set:nn #1#2
+\cs_new_protected:Npn \__keys_set:nnnnNn
+ {
+ \exp_args:Nooo \__keys_set:nnnnnnnNn
+ \l__keys_unused_clist
+ \l__keys_selective_clist
+ \l__keys_relative_tl
+ }
+\cs_new_protected:Npn \__keys_set:nnnnnnnNn #1#2#3#4#5#6#7#8#9
{
+ \clist_clear:N \l__keys_unused_clist
+ \clist_set:Ne \l__keys_selective_clist { \tl_to_str:n {#5} }
+ \tl_set:Nn \l__keys_relative_tl {#7}
\use:e
{
- \bool_set_false:N \exp_not:N \l__keys_only_known_bool
- \bool_set_false:N \exp_not:N \l__keys_filtered_bool
- \bool_set_false:N \exp_not:N \l__keys_selective_bool
- \tl_set:Nn \exp_not:N \l__keys_relative_tl
- { \exp_not:N \q__keys_no_value }
- \__keys_set:nn \exp_not:n { {#1} {#2} }
- \bool_if:NT \l__keys_only_known_bool
- { \bool_set_true:N \exp_not:N \l__keys_only_known_bool }
- \bool_if:NT \l__keys_filtered_bool
- { \bool_set_true:N \exp_not:N \l__keys_filtered_bool }
- \bool_if:NT \l__keys_selective_bool
- { \bool_set_true:N \exp_not:N \l__keys_selective_bool }
- \tl_set:Nn \exp_not:N \l__keys_relative_tl
- { \exp_not:o \l__keys_relative_tl }
+ \exp_not:n
+ {
+ #9
+ \__keys_set:nn {#4} {#6}
+ }
+ \__keys_reset_bool:N \l__keys_only_known_bool
+ \__keys_reset_bool:N \l__keys_exclude_bool
+ \__keys_reset_bool:N \l__keys_selective_bool
}
+ \clist_set_eq:NN #8 \l__keys_unused_clist
+ \__kernel_tl_set:Nx \l__keys_unused_clist { \exp_not:n {#1} }
+ \__kernel_tl_set:Nx \l__keys_selective_clist {#2}
+ \__kernel_tl_set:Nx \l__keys_relative_tl { \exp_not:n {#3} }
+ }
+\cs_new:Npn \__keys_reset_bool:N #1
+ {
+ \exp_not:c
+ { bool_set_ \bool_if:NTF #1 { true } { false } :N }
+ \exp_not:N #1
}
-\cs_generate_variant:Nn \keys_set:nn { nV , nv , ne , no , nx }
\cs_new_protected:Npn \__keys_set:nn #1#2
{ \exp_args:No \__keys_set:nnn \l__keys_module_str {#1} {#2} }
\cs_new_protected:Npn \__keys_set:nnn #1#2#3
@@ -14388,119 +14412,74 @@ Type H <return> for immediate help}\def~{\errmessage{%
\keyval_parse:NNn \__keys_set_keyval:n \__keys_set_keyval:nn {#3}
\str_set:Nn \l__keys_module_str {#1}
}
-\cs_new_protected:Npn \keys_set_known:nnN #1#2#3
+\cs_new_protected:Npn \keys_set:nn #1#2
{
- \exp_args:No \__keys_set_known:nnnnN
- \l__keys_unused_clist \q__keys_no_value {#1} {#2} #3
+ \__keys_set:nnnnNn
+ {#1} { } {#2} { \q__keys_no_value } \l__keys_tmp_clist
+ {
+ \bool_set_false:N \l__keys_only_known_bool
+ \bool_set_false:N \l__keys_exclude_bool
+ \bool_set_false:N \l__keys_selective_bool
+ }
}
-\cs_generate_variant:Nn \keys_set_known:nnN { nV , nv , ne , no }
+\cs_generate_variant:Nn \keys_set:nn { nV , nv , ne , no , nx }
\cs_new_protected:Npn \keys_set_known:nnnN #1#2#3#4
{
- \exp_args:No \__keys_set_known:nnnnN
- \l__keys_unused_clist {#3} {#1} {#2} #4
+ \__keys_set:nnnnNn
+ {#1} { } {#2} {#3} #4
+ {
+ \bool_set_true:N \l__keys_only_known_bool
+ \bool_set_false:N \l__keys_exclude_bool
+ \bool_set_false:N \l__keys_selective_bool
+ }
}
\cs_generate_variant:Nn \keys_set_known:nnnN { nV , nv , ne , no }
-\cs_new_protected:Npn \__keys_set_known:nnnnN #1#2#3#4#5
- {
- \clist_clear:N \l__keys_unused_clist
- \__keys_set_known:nnn {#2} {#3} {#4}
- \__kernel_tl_set:Nx #5 { \exp_not:o \l__keys_unused_clist }
- \__kernel_tl_set:Nx \l__keys_unused_clist { \exp_not:n {#1} }
- }
+\cs_new_protected:Npn \keys_set_known:nnN #1#2#3
+ { \keys_set_known:nnnN {#1} {#2} { \q__keys_no_value } #3 }
+\cs_generate_variant:Nn \keys_set_known:nnN { nV , nv , ne , no }
\cs_new_protected:Npn \keys_set_known:nn #1#2
- { \__keys_set_known:nnn \q__keys_no_value {#1} {#2} }
+ { \keys_set_known:nnnN {#1} {#2} { \q__keys_no_value } \l__keys_tmp_clist }
\cs_generate_variant:Nn \keys_set_known:nn { nV , nv , ne , no }
-\cs_new_protected:Npn \__keys_set_known:nnn #1#2#3
+\cs_new_protected:Npn \keys_set_exclude_groups:nnnnN #1#2#3#4#5
{
- \use:e
+ \__keys_set:nnnnNn
+ {#1} {#2} {#3} {#4} #5
{
- \bool_set_true:N \exp_not:N \l__keys_only_known_bool
- \bool_set_false:N \exp_not:N \l__keys_filtered_bool
- \bool_set_false:N \exp_not:N \l__keys_selective_bool
- \tl_set:Nn \exp_not:N \l__keys_relative_tl { \exp_not:n {#1} }
- \__keys_set:nn \exp_not:n { {#2} {#3} }
- \bool_if:NF \l__keys_only_known_bool
- { \bool_set_false:N \exp_not:N \l__keys_only_known_bool }
- \bool_if:NT \l__keys_filtered_bool
- { \bool_set_true:N \exp_not:N \l__keys_filtered_bool }
- \bool_if:NT \l__keys_selective_bool
- { \bool_set_true:N \exp_not:N \l__keys_selective_bool }
- \tl_set:Nn \exp_not:N \l__keys_relative_tl
- { \exp_not:o \l__keys_relative_tl }
+ \bool_set_false:N \l__keys_only_known_bool
+ \bool_set_true:N \l__keys_exclude_bool
+ \bool_set_true:N \l__keys_selective_bool
}
}
+\cs_generate_variant:Nn \keys_set_exclude_groups:nnnnN { nnV , nnv , nno }
\cs_new_protected:Npn \keys_set_exclude_groups:nnnN #1#2#3#4
- {
- \exp_args:No \__keys_set_exclude_groups:nnnnnN
- \l__keys_unused_clist
- \q__keys_no_value {#1} {#2} {#3} #4
- }
+ { \keys_set_exclude_groups:nnnnN {#1} {#2} {#3} { \q__keys_no_value } #4 }
\cs_generate_variant:Nn \keys_set_exclude_groups:nnnN { nnV , nnv , nno }
-\cs_new_protected:Npn \keys_set_exclude_groups:nnnnN #1#2#3#4#5
- {
- \exp_args:No \__keys_set_exclude_groups:nnnnnN
- \l__keys_unused_clist {#4} {#1} {#2} {#3} #5
- }
-\cs_generate_variant:Nn \keys_set_exclude_groups:nnnnN { nnV , nnv , nno }
-\cs_new_protected:Npn \__keys_set_exclude_groups:nnnnnN #1#2#3#4#5#6
+\cs_new_protected:Npn \keys_set_exclude_groups:nnn #1#2#3
{
- \clist_clear:N \l__keys_unused_clist
- \__keys_set_exclude_groups:nnnn {#2} {#3} {#4} {#5}
- \__kernel_tl_set:Nx #6 { \exp_not:o \l__keys_unused_clist }
- \__kernel_tl_set:Nx \l__keys_unused_clist { \exp_not:n {#1} }
+ \keys_set_exclude_groups:nnnnN {#1} {#2} {#3}
+ { \q__keys_no_value } \l__keys_tmp_clist
}
-\cs_new_protected:Npn \keys_set_exclude_groups:nnn #1#2#3
- {\__keys_set_exclude_groups:nnnn \q__keys_no_value {#1} {#2} {#3} }
\cs_generate_variant:Nn \keys_set_exclude_groups:nnn { nnV , nnv , nno }
-\cs_new_protected:Npn \__keys_set_exclude_groups:nnnn #1#2#3#4
+\cs_new_protected:Npn \keys_set_groups:nnnnN #1#2#3#4#5
{
- \use:e
+ \__keys_set:nnnnNn
+ {#1} {#2} {#3} {#4} #5
{
- \bool_set_false:N \exp_not:N \l__keys_only_known_bool
- \bool_set_true:N \exp_not:N \l__keys_filtered_bool
- \bool_set_true:N \exp_not:N \l__keys_selective_bool
- \tl_set:Nn \exp_not:N \l__keys_relative_tl { \exp_not:n {#1} }
- \__keys_set_selective:nnn \exp_not:n { {#2} {#3} {#4} }
- \bool_if:NT \l__keys_only_known_bool
- { \bool_set_true:N \exp_not:N \l__keys_only_known_bool }
- \bool_if:NF \l__keys_filtered_bool
- { \bool_set_false:N \exp_not:N \l__keys_filtered_bool }
- \bool_if:NF \l__keys_selective_bool
- { \bool_set_false:N \exp_not:N \l__keys_selective_bool }
- \tl_set:Nn \exp_not:N \l__keys_relative_tl
- { \exp_not:o \l__keys_relative_tl }
+ \bool_set_false:N \l__keys_only_known_bool
+ \bool_set_false:N \l__keys_exclude_bool
+ \bool_set_true:N \l__keys_selective_bool
}
}
+\cs_generate_variant:Nn \keys_set_groups:nnnnN { nnV , nnv , nno }
+\cs_new_protected:Npn \keys_set_groups:nnnN #1#2#3#4
+ { \keys_set_groups:nnnnN {#1} {#2} {#3} { \q__keys_no_value } #4 }
+\cs_generate_variant:Nn \keys_set_groups:nnnN { nnV , nnv , nno }
\cs_new_protected:Npn \keys_set_groups:nnn #1#2#3
{
- \use:e
- {
- \bool_set_false:N \exp_not:N \l__keys_only_known_bool
- \bool_set_false:N \exp_not:N \l__keys_filtered_bool
- \bool_set_true:N \exp_not:N \l__keys_selective_bool
- \tl_set:Nn \exp_not:N \l__keys_relative_tl
- { \exp_not:N \q__keys_no_value }
- \__keys_set_selective:nnn \exp_not:n { {#1} {#2} {#3} }
- \bool_if:NT \l__keys_only_known_bool
- { \bool_set_true:N \exp_not:N \l__keys_only_known_bool }
- \bool_if:NF \l__keys_filtered_bool
- { \bool_set_true:N \exp_not:N \l__keys_filtered_bool }
- \bool_if:NF \l__keys_selective_bool
- { \bool_set_false:N \exp_not:N \l__keys_selective_bool }
- \tl_set:Nn \exp_not:N \l__keys_relative_tl
- { \exp_not:o \l__keys_relative_tl }
- }
+ \keys_set_groups:nnnnN {#1} {#2} {#3}
+ { \q__keys_no_value } \l__keys_tmp_clist
}
\cs_generate_variant:Nn \keys_set_groups:nnn { nnV , nnv , nno }
-\cs_new_protected:Npn \__keys_set_selective:nnn
- { \exp_args:No \__keys_set_selective:nnnn \l__keys_selective_seq }
-\cs_new_protected:Npn \__keys_set_selective:nnnn #1#2#3#4
- {
- \exp_args:NNe \seq_set_from_clist:Nn
- \l__keys_selective_seq { \tl_to_str:n {#3} }
- \__keys_set:nn {#2} {#4}
- \tl_set:Nn \l__keys_selective_seq {#1}
- }
\cs_new_protected:Npn \keys_precompile:nnN #1#2#3
{
\bool_set_true:N \l__keys_precompile_bool
@@ -14574,7 +14553,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__keys_check_groups:
}
{
- \bool_if:NTF \l__keys_filtered_bool
+ \bool_if:NTF \l__keys_exclude_bool
\__keys_execute:
\__keys_store_unused:
}
@@ -14582,22 +14561,22 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new_protected:Npn \__keys_check_groups:
{
\bool_set_false:N \l__keys_tmp_bool
- \seq_map_inline:Nn \l__keys_selective_seq
+ \clist_map_inline:Nn \l__keys_selective_clist
{
\clist_if_in:NnT \l__keys_groups_clist {##1}
{
\bool_set_true:N \l__keys_tmp_bool
- \seq_map_break:
+ \clist_map_break:
}
}
\bool_if:NTF \l__keys_tmp_bool
{
- \bool_if:NTF \l__keys_filtered_bool
+ \bool_if:NTF \l__keys_exclude_bool
\__keys_store_unused:
\__keys_execute:
}
{
- \bool_if:NTF \l__keys_filtered_bool
+ \bool_if:NTF \l__keys_exclude_bool
\__keys_execute:
\__keys_store_unused:
}
@@ -26019,7 +25998,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__regex_compile_abort_tokens:e {#1}
#2 #3
}
-\cs_new_protected:Npn \__regex_compile_quantifier_lazyness:nnNN #1#2#3#4
+\cs_new_protected:Npn \__regex_compile_quantifier_laziness:nnNN #1#2#3#4
{
\__regex_two_if_eq:NNNNTF #3 #4 \__regex_compile_special:N ?
{
@@ -26033,11 +26012,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
}
\cs_new_protected:cpn { __regex_compile_quantifier_?:w }
- { \__regex_compile_quantifier_lazyness:nnNN { 0 } { 1 } }
+ { \__regex_compile_quantifier_laziness:nnNN { 0 } { 1 } }
\cs_new_protected:cpn { __regex_compile_quantifier_*:w }
- { \__regex_compile_quantifier_lazyness:nnNN { 0 } { -1 } }
+ { \__regex_compile_quantifier_laziness:nnNN { 0 } { -1 } }
\cs_new_protected:cpn { __regex_compile_quantifier_+:w }
- { \__regex_compile_quantifier_lazyness:nnNN { 1 } { -1 } }
+ { \__regex_compile_quantifier_laziness:nnNN { 1 } { -1 } }
\cs_new_protected:cpn { __regex_compile_quantifier_ \c_left_brace_str :w }
{
\__regex_get_digits:NTFw \l__regex_internal_a_int
@@ -26050,7 +26029,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
{ \__regex_compile_special:N \c_right_brace_str }
{
- \exp_args:No \__regex_compile_quantifier_lazyness:nnNN
+ \exp_args:No \__regex_compile_quantifier_laziness:nnNN
{ \int_use:N \l__regex_internal_a_int } 0
}
{ \__regex_compile_special:N , }
@@ -26070,7 +26049,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\__regex_two_if_eq:NNNNTF #1 #2 \__regex_compile_special:N \c_right_brace_str
{
- \exp_args:No \__regex_compile_quantifier_lazyness:nnNN
+ \exp_args:No \__regex_compile_quantifier_laziness:nnNN
{ \int_use:N \l__regex_internal_a_int } { -1 }
}
{
@@ -26092,7 +26071,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\else:
\int_sub:Nn \l__regex_internal_b_int \l__regex_internal_a_int
\fi:
- \exp_args:Noo \__regex_compile_quantifier_lazyness:nnNN
+ \exp_args:Noo \__regex_compile_quantifier_laziness:nnNN
{ \int_use:N \l__regex_internal_a_int }
{ \int_use:N \l__regex_internal_b_int }
}
@@ -27225,7 +27204,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\int_set_eq:NN \l__regex_right_state_int \l__regex_max_state_int
\int_incr:N \l__regex_max_state_int
}
-\cs_new_protected:Npn \__regex_build_transitions_lazyness:NNNNN #1#2#3#4#5
+\cs_new_protected:Npn \__regex_build_transitions_laziness:NNNNN #1#2#3#4#5
{
\__regex_build_new_state:
\__regex_toks_put_right:Ne \l__regex_left_state_int
@@ -27267,13 +27246,13 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new_protected:Npn \__regex_class_repeat:nN #1#2
{
\if_int_compare:w #1 = \c_zero_int
- \__regex_build_transitions_lazyness:NNNNN #2
+ \__regex_build_transitions_laziness:NNNNN #2
\__regex_action_free:n \l__regex_right_state_int
\__regex_tests_action_cost:n \l__regex_left_state_int
\else:
\__regex_class_repeat:n {#1}
\int_set_eq:NN \l__regex_internal_a_int \l__regex_left_state_int
- \__regex_build_transitions_lazyness:NNNNN #2
+ \__regex_build_transitions_laziness:NNNNN #2
\__regex_action_free:n \l__regex_right_state_int
\__regex_action_free:n \l__regex_internal_a_int
\fi:
@@ -27285,7 +27264,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \l__regex_max_state_int + #2 - \c_one_int }
\prg_replicate:nn { #2 }
{
- \__regex_build_transitions_lazyness:NNNNN #3
+ \__regex_build_transitions_laziness:NNNNN #3
\__regex_action_free:n \l__regex_internal_a_int
\__regex_tests_action_cost:n \l__regex_right_state_int
}
@@ -31934,7 +31913,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_generate_variant:Nn \pdf_object_unnamed_write:nn { ne , nx }
\cs_new:Npn \pdf_object_ref_last: { \__pdf_backend_object_last: }
\cs_new:Npn \pdf_pageobject_ref:n #1
- { \__pdf_backend_pageobject_ref:n {#1} }
+ { \exp_args:Ne \__pdf_backend_pageobject_ref:n {#1} }
\prg_new_conditional:Npnn \pdf_version_compare:Nn #1#2 { p , T , F , TF }
{ \use:c { __pdf_version_compare_ #1 :w } #2 . . \s__pdf_stop }
\cs_new:cpn { __pdf_version_compare_=:w } #1 . #2 . #3 \s__pdf_stop
@@ -37328,13 +37307,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new_protected:Npn \pdf_object_new:nn #1#2
{
\prop_gput:Nnn \g__pdf_object_prop {#1} {#2}
- \__pdf_backend_object_new:n {#1}
+ \pdf_object_new:n {#1}
}
\__kernel_patch_deprecation:nnNNpn { 2022-08-30 } { [\pdf_object_write:n] }
\cs_new_protected:Npn \pdf_object_write:nn #1#2
{
- \exp_args:Nne \__pdf_backend_object_write:nnn
- {#1} { \prop_item:Nn \g__pdf_object_prop {#1} } {#2}
+ \exp_args:Nee \__pdf_backend_object_write:nnn
+ { \__pdf_object_retrieve:n {#1} }
+ { \prop_item:Nn \g__pdf_object_prop {#1} } {#2}
\bool_gset_true:N \g__pdf_init_bool
}
\cs_generate_variant:Nn \pdf_object_write:nn { nx }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
index dd19a6f698a..f99a59004b7 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{2024-04-11}%
+\def\ExplFileDate{2024-05-08}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\catcode`\_=11
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
index 9c853155636..f852288c7e4 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2024-04-11}%
+\def\ExplFileDate{2024-05-08}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\catcode`\_=11
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
index 17f9599acdb..f5561de8b0c 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2024-04-11}%
+\def\ExplFileDate{2024-05-08}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3debug.def b/Master/texmf-dist/tex/latex/l3kernel/l3debug.def
index 8b210aa484a..7b0bea70198 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3debug.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3debug.def
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: l3debug.dtx
-\ProvidesExplFile{l3debug.def}{2024-04-11}{}{L3 Debugging support}
+\ProvidesExplFile{l3debug.def}{2024-05-08}{}{L3 Debugging support}
\scan_new:N \s__debug_stop
\cs_new:Npn \__debug_use_i_delimit_by_s_stop:nw #1 #2 \s__debug_stop {#1}
\quark_new:N \q__debug_recursion_tail
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
index 55284d08838..d37f1f9f214 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
@@ -20,7 +20,7 @@
%%
%% File: l3doc.dtx
\RequirePackage{calc}
-\ProvidesExplClass{l3doc}{2024-04-11}{}
+\ProvidesExplClass{l3doc}{2024-05-08}{}
{L3 Experimental documentation class}
\clist_new:N \g_docinput_clist
\seq_new:N \g_doc_functions_seq
diff --git a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
index 7a35d81618e..23dc455743d 100644
--- a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
@@ -32,7 +32,7 @@
}%
\endinput
}
-\ProvidesExplPackage{l3keys2e}{2024-03-14}{}
+\ProvidesExplPackage{l3keys2e}{2024-05-08}{}
{LaTeX2e option processing using LaTeX3 keys}
\cs_if_exist:NT \ProcessKeysOptions
{ \file_input_stop: }
diff --git a/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty b/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty
index 995615e80e5..e63242d19ac 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty
@@ -32,7 +32,7 @@
}%
\endinput
}
-\ProvidesExplPackage{xfp}{2024-03-14}{}
+\ProvidesExplPackage{xfp}{2024-05-08}{}
{L3 Floating point unit}
\ProvideExpandableDocumentCommand \fpeval { m } { \fp_eval:n {#1} }
\ProvideExpandableDocumentCommand \inteval { m } { \int_eval:n {#1} }
diff --git a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
index e09776c5644..e87a832432f 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
@@ -60,7 +60,7 @@
}
}
\ExplSyntaxOff
-\ProvidesExplPackage{xparse}{2024-03-14}{}
+\ProvidesExplPackage{xparse}{2024-05-08}{}
{L3 Experimental document command parser}
\clist_new:N \l__cmd_options_clist
\DeclareOption* { \clist_put_right:NV \l__cmd_options_clist \CurrentOption }
diff --git a/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty b/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty
index e4ce40461c7..04c80418890 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty
@@ -25,12 +25,15 @@
\endinput
}
{%
- \ProvidesExplPackage{xtemplate}{2024-03-14}{}
+ \ProvidesExplPackage{xtemplate}{2024-05-08}{}
{L3 Experimental prototype document functions}
\long\protected\def\DeclareRestrictedTemplate#1#2#3#4{%
\DeclareTemplateCopy{#1}{#3}{#2}%
\EditTemplateDefaults{#1}{#3}{#4}%
}%
+ \let\IfInstanceExistT\IfInstanceExistsT
+ \let\IfInstanceExistF\IfInstanceExistsF
+ \let\IfInstanceExistTF\IfInstanceExistsTF
}
\ExplSyntaxOn
\cs_new_protected:Npn \DeclareObjectType #1#2