summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-08-06 20:13:31 +0000
committerKarl Berry <karl@freefriends.org>2022-08-06 20:13:31 +0000
commit7102991976623feddaa279ac0ea71a103d357bb0 (patch)
treed0f4d173698a72a91ddbbeef1818c15f203d1588
parent60b01e0eccd38a005fb2611691797b89daeac80f (diff)
l3 (6aug22)
git-svn-id: svn://tug.org/texlive/trunk@64066 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md8
-rw-r--r--Master/texmf-dist/doc/latex/l3backend/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/l3backend/l3backend-code.pdfbin931293 -> 933558 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md19
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/expl3.pdfbin626191 -> 626225 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/interface3.pdfbin1768619 -> 1769273 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/interface3.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3doc.pdfbin558089 -> 558105 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdfbin151855 -> 151843 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news.pdfbin395879 -> 395879 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news01.pdfbin122710 -> 122710 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news02.pdfbin150676 -> 150676 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news03.pdfbin148702 -> 148702 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news04.pdfbin114588 -> 114588 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news05.pdfbin112487 -> 112487 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news06.pdfbin151573 -> 151573 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news07.pdfbin128309 -> 128309 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news08.pdfbin163454 -> 163454 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news09.pdfbin250139 -> 250139 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news10.pdfbin150279 -> 150279 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news11.pdfbin170063 -> 170063 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news12.pdfbin204990 -> 204990 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv3
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdfbin81493 -> 81567 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdfbin296253 -> 296294 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdfbin242927 -> 242959 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdfbin231332 -> 231369 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3.pdfbin7228051 -> 7251031 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3.tex2
-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.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx52
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/expl3.dtx8
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3basics.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3box.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx2
-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.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3color.dtx21
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3debug.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3doc.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3expan.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3file.dtx23
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3flag.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3int.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3keys.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3msg.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3names.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3prg.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3prop.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3quark.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3regex.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3seq.dtx2
-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.dtx31
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx441
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx12
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text.dtx81
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3tl.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3token.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx2
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def12
-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.tex514
-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
107 files changed, 1210 insertions, 169 deletions
diff --git a/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md
index 22b29d28e11..3c8cb7d6d2a 100644
--- a/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md
@@ -6,6 +6,11 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2022-08-05]
+
+### Changed
+- Add no-op backend functions for annotations with `dvisvgm`
+
## [2022-07-01]
#### Fixed
@@ -252,7 +257,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/2022-07-01...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2022-08-05...HEAD
+[2022-08-05]: https://github.com/latex3/latex3/compare/2022-07-01...2022-08-05
[2022-07-01]: https://github.com/latex3/latex3/compare/2022-04-20...2022-07-01
[2022-04-20]: https://github.com/latex3/latex3/compare/2022-04-14...2022-04-20
[2022-04-14]: https://github.com/latex3/latex3/compare/2022-04-10...2022-04-14
diff --git a/Master/texmf-dist/doc/latex/l3backend/README.md b/Master/texmf-dist/doc/latex/l3backend/README.md
index 83d907f5a0e..fe959f8ca7d 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 2022-07-01
+Release 2022-08-05
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 1bd1fbaba05..1d3030cbd3b 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 2f7e67ff9ed..abd4e5fe872 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
@@ -7,6 +7,22 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2022-08-05]
+
+### Added
+- Support for case changing Croatian diagraph with 8-bit engines
+- Support accent removal when uppercasing Greek with 8-bit engines
+- Function `\sys_ensure_backend:`
+
+### Fixed
+- Behavior of `\color_math:nn` in alignments
+- Expansion of text containing unterminated `\romannumeral` primitives
+
+## [2022-07-21]
+
+### Fixed
+- `\iow_open:N` in ConTeXt MkII
+
## [2022-07-15]
### Fixed
@@ -1157,7 +1173,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/2022-07-15...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2022-08-05...HEAD
+[2022-08-05]: https://github.com/latex3/latex3/compare/2022-07-15...2022-08-05
[2022-07-15]: https://github.com/latex3/latex3/compare/2022-07-14...2022-07-15
[2022-07-14]: https://github.com/latex3/latex3/compare/2022-07-04...2022-07-14
[2022-07-04]: https://github.com/latex3/latex3/compare/2022-07-01...2022-07-04
diff --git a/Master/texmf-dist/doc/latex/l3kernel/README.md b/Master/texmf-dist/doc/latex/l3kernel/README.md
index 8845a6445d4..0c5c550f2a8 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 2022-07-15
+Release 2022-08-05
Overview
--------
diff --git a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
index 002b4ec4a71..55b417e1d40 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 3ff39c23b35..5a960b9964d 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 b4ee98b0f18..00c15208e1d 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
@@ -54,7 +54,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2022-07-15}
+\date{Released 2022-08-05}
\pagenumbering{roman}
\maketitle
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf
index 8da932454c9..7a13aed860a 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 7bf177f6f6c..e0d451932e5 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 570f2badbde..632f8211549 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 32d6e8fc198..118f018c573 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 bb81ade8c28..565b3058c53 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 0280afe4325..eefd55ce6b1 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 e33c2348268..f1b4fdd1634 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 87c0ad18230..30f9918fbc2 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 6766590ca88..228a4c43469 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 7ee4f92fb75..0c036bb49d2 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 13c91c9ff44..c293ea58a36 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 92e85460ab7..6ebf4d90a50 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf
index e284774c204..c4e1042f41b 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 942c2b05d8c..146820f5296 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 274eb490ce0..9d4811c54d8 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 d6d5b19083e..9b4a1d638e1 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv
@@ -197,6 +197,7 @@ ptxcd,ptxcd, Marei Peischl,,,,2020-07-27,2020-07-27,Used for specific corporate
qrbill,qrbill,Marei Peischl,https://github.com/peiTeX/qrbill,https://github.com/peiTeX/qrbill.git,https://github.com/peiTeX/qrbill/issues,2020-06-27,2020-06-27,
quark,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,
randomwalk,randomwalk,Bruno Le Floch,https://github.com/blefloch/latex-randomwalk,https://github.com/blefloch/latex-randomwalk.git,https://github.com/blefloch/latex-randomwalk/issues,2013-03-16,2015-09-22,
+rawobjects,rawobjects,Paolo De Donato,https://github.com/Loara/lt3rawobjects,https://github.com/Loara/lt3rawobjects/lt3rawobjects.git,https://github.com/Loara/lt3rawobjects/issues,2022-07-19,2022-07-19,
recursion,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,
ref,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2020-12-24,2020-12-24,
regex,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,2018-04-06,
@@ -207,6 +208,7 @@ rivmath,rivmath,Julien Rivaud,,,,2018-06-13,2018-06-13,
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,
scontents,scontents,Pablo González,https://github.com/pablgonz/scontents,git@github.com:pablgonz/scontents.git,https://github.com/pablgonz/scontents/issues,2019-12-05,2019-12-05,
+scripture,scripture,David Purton,https://github.com/dcpurton/scripture,https://github.com/dcpurton/scripture.git,https://github.com/dcpurton/scripture/issues,2022-07-27,2022-07-27,
sdaps,sdaps,Benjamin Berg,https://sdaps.org,https://github.com/sdaps/sdaps-class.git,https://github.com/sdaps/sdaps-class/issues,2020-02-17,2020-02-17,
seq,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,
shipout,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex2e.git,https://github.com/latex3/latex2e/issues,2020-10-01,2021-03-03,
@@ -230,6 +232,7 @@ tcobox,tcolorbox,Thomas F. Sturm,https://github.com/T-F-S/tcolorbox,https://gith
term,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,
tex,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,
text,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2020-01-15,2020-01-15,
+tikzfill,tikzfill,Thomas F. Sturm,https://github.com/T-F-S/tikzfill,https://github.com/T-F-S/tikzfill.git,https://github.com/T-F-S/tikzfill/issues,2022-07-19,2022-07-19,
tikzsymbols,tikzsymbols,Ben Vitecek,https://github.com/Vidabe/tikzsymbols,https://github.com/Vidabe/tikzsymbols.git,https://github.com/Vidabe/tikzsymbols/issues,2018-09-26,2018-09-26,
tilde,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,
tl,"l3kernel,l3tl-build",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,
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf
index 8f93ae173ed..8bd5db2c049 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 9fe67a1e30c..ad6b0b5143f 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 cc884a2dd2a..fdce2727785 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 2022-07-15}
+\date{Released 2022-08-05}
\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 9c2738c576c..2bab90a411e 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 bb5936632af..24770ec0a25 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 2022-07-15}
+\date{Released 2022-08-05}
\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 57630a1251d..b7ebcec6f22 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 d3dbb4442fd..9a875c04ae7 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 2022-07-15}
+\date{Released 2022-08-05}
\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 dfe83f03c46..1e8781ca751 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 8a751726ac1..8340ef3659c 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/source3.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/source3.tex
@@ -53,7 +53,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2022-07-15}
+\date{Released 2022-08-05}
\pagenumbering{roman}
\maketitle
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx
index 8945ed6f470..768bd20d506 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 2022-07-01}
+% \date{Released 2022-08-05}
%
% \maketitle
%
@@ -70,27 +70,27 @@
% \begin{macrocode}
\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-dvipdfmx.def}{2022-07-01}{}
+ {l3backend-dvipdfmx.def}{2022-08-05}{}
{L3 backend support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-dvips.def}{2022-07-01}{}
+ {l3backend-dvips.def}{2022-08-05}{}
{L3 backend support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-dvisvgm.def}{2022-07-01}{}
+ {l3backend-dvisvgm.def}{2022-08-05}{}
{L3 backend support: dvisvgm}
%</dvisvgm>
%<*luatex>
- {l3backend-luatex.def}{2022-07-01}{}
+ {l3backend-luatex.def}{2022-08-05}{}
{L3 backend support: PDF output (LuaTeX)}
%</luatex>
%<*pdftex>
- {l3backend-pdftex.def}{2022-07-01}{}
+ {l3backend-pdftex.def}{2022-08-05}{}
{L3 backend support: PDF output (pdfTeX)}
%</pdftex>
%<*xetex>
- {l3backend-xetex.def}{2022-07-01}{}
+ {l3backend-xetex.def}{2022-08-05}{}
{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 844b23d67ce..628176536ab 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 2022-07-01}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx
index 666075840a5..336ff45135d 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 2022-07-01}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx
index d2174dc7a33..f23e3ec115e 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 2022-07-01}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx
index 8691349cf55..e1c2af95fa9 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 2022-07-01}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx
index 401f4287afc..abc2f4a7788 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 2022-07-01}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx
index ae4e93ea3c2..e3132f69553 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 2022-07-01}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx
index df145f37819..052a3ba73d7 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 2022-07-01}
+% \date{Released 2022-08-05}
%
% \maketitle
%
@@ -1597,6 +1597,56 @@
%<*dvisvgm>
% \end{macrocode}
%
+% \subsubsection{Annotations}
+%
+% \begin{macro}{\@@_backend_annotation:nnnn}
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_backend_annotation:nnnn #1#2#3#4 { }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[EXP]{\@@_backend_annotation_last:}
+% \begin{macrocode}
+\cs_new:Npn \@@_backend_annotation_last: { }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}
+% {\@@_backend_link_begin_goto:nnw, \@@_backend_link_begin_user:nnw}
+% \begin{macro}{\@@_backend_link_begin:nnnw}
+% \begin{macro}{\@@_backend_link_end:}
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_backend_link_begin_goto:nnw #1#2 { }
+\cs_new_protected:Npn \@@_backend_link_begin_user:nnw #1#2 { }
+\cs_new_protected:Npn \@@_backend_link_begin:nnnw #1#2#3 { }
+\cs_new_protected:Npn \@@_backend_link_end: { }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@@_backend_link_last:}
+% \begin{macrocode}
+\cs_new:Npx \@@_backend_link_last: { }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_backend_link_margin:n}
+% A simple task: pass the data to the primitive.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_backend_link_margin:n #1 { }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_backend_destination:nn}
+% \begin{macro}{\@@_backend_destination:nnnn}
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_backend_destination:nn #1#2 { }
+\cs_new_protected:Npn \@@_backend_destination:nnnn #1#2#3#4 { }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
% \subsubsection{Catalogue entries}
%
% \begin{macro}{\@@_backend_catalog_gput:nn, \@@_backend_info_gput:nn}
diff --git a/Master/texmf-dist/source/latex/l3kernel/expl3.dtx b/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
index a5a6a995f07..48808d9f499 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{2022-07-15}%
+\def\ExplFileDate{2022-08-05}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
@@ -952,8 +952,8 @@
% \section{Using \pkg{expl3} with formats other than \LaTeXe{}}
%
% As well as the \LaTeXe{} package \pkg{expl3}, there is also a
-% \enquote{generic} loader for the code, \texttt{expl3.tex}. This may be
-% loaded using the plain \TeX{} syntax
+% \enquote{generic} loader for the code, \texttt{expl3-generic.tex}.
+% This may be loaded using the plain \TeX{} syntax
% \begin{verbatim}
% \input expl3-generic %
% \end{verbatim}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx b/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
index 4409b374c31..3eb9a3f43be 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx b/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
index ff376038970..852f654cef4 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3box.dtx b/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
index 8a3c88779b7..502185ed650 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
index 45032fc4986..b01f9169cd1 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx b/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx
index 41191483d61..f108418c024 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx b/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
index 72b1510fbac..2d880e57222 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx b/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
index 1097fc38807..fe2ce11f3e8 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3color.dtx b/Master/texmf-dist/source/latex/l3kernel/l3color.dtx
index 4b94bf8059f..8fc7268cdb7 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
@@ -1456,25 +1456,34 @@
% need separate treatment. To avoid repeatedly collecting the same
% token, we first check for an alignment tab: assuming we don't have
% one of those, we can \enquote{recycle} \cs{l_peek_token} safely.
+% As we have an explicit \cs{c_alignment_token}, there needs to be
+% an align-safe group present.
% \begin{macrocode}
\cs_new_protected:Npn \@@_math_scan:w
{
\peek_remove_filler:n
{
+ \group_align_safe_begin:
\peek_catcode:NTF \c_alignment_token
- { \@@_math_scan_end: }
- { \@@_math_scan_auxi: }
+ {
+ \group_align_safe_end:
+ \@@_math_scan_end:
+ }
+ {
+ \group_align_safe_end:
+ \@@_math_scan_auxi:
+ }
}
}
% \end{macrocode}
% Dealing with literal |_| and |^| is easy, and as we have exactly two cases,
% we can hard-code this. We use a hard-coded list for limits: these are all
-% primitives. The \cs{use_none:n} herealso removes the test token so it is
+% primitives. The \cs{use_none:n} here also removes the test token so it is
% left just in the right place.
% \begin{macrocode}
\cs_new_protected:Npn \@@_math_scan_auxi:
{
- \token_case_meaning:NnTF \l_peek_token
+ \token_case_catcode:NnTF \l_peek_token
{
\c_math_subscript_token { }
\c_math_superscript_token { }
@@ -1549,7 +1558,7 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_math_scripts:Nw #1
{
- #1
+ #1
\c_group_begin_token
\c_group_begin_token
\seq_get:NN \g_@@_math_seq \l_@@_current_tl
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx b/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx
index e2dacbb72f2..cb12c2bbcca 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx b/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
index d0547dcdf91..2dc1200e443 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx b/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
index a1b4c72121b..4a4ef017e1d 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
@@ -85,7 +85,7 @@ and all files in that bundle must be distributed together.
% require you to do updates, if the class changes.}}
%
% \author{\Team}
-% \date{Released 2022-07-15}
+% \date{Released 2022-08-05}
% \maketitle
% \tableofcontents
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx b/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
index 8ffaa7385f3..19b2a724588 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx b/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
index 46c9f30fbce..b0ab3c1fae0 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3file.dtx b/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
index 523fa4c6c10..7cb1ff9824d 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
@@ -981,7 +981,7 @@
\int_step_inline:nnn
{ 0 }
{
- \cs_if_exist:NTF \normalend
+ \cs_if_exist:NTF \contextversion
{ \tex_count:D 38 ~ }
{
\tex_count:D 16 ~ %
@@ -1061,10 +1061,10 @@
% \begin{macrocode}
\exp_args:NNf \cs_new_protected:Npn \@@_new:N
{ \exp_args:NNc \exp_after:wN \exp_stop_f: { newread } }
-\cs_if_exist:NT \normalend
+\cs_if_exist:NT \contextversion
{
\cs_new_eq:NN \@@_new_aux:N \@@_new:N
- \cs_set_protected:Npn \@@_new:N #1
+ \cs_gset_protected:Npn \@@_new:N #1
{
\cs_undefine:N #1
\@@_new_aux:N #1
@@ -1441,7 +1441,7 @@
\int_step_inline:nnn
{ 0 }
{
- \cs_if_exist:NTF \normalend
+ \cs_if_exist:NTF \contextversion
{ \tex_count:D 39 ~ }
{
\tex_count:D 17 ~
@@ -1499,10 +1499,21 @@
%
% \begin{macro}{\@@_new:N}
% As for read streams, copy \tn{newwrite}, making sure
-% that it is not \tn{outer}.
+% that it is not \tn{outer}. For \ConTeXt{}, we have to
+% deal with the fact that \tn{newwrite} works like our
+% own: it actually checks before altering definition.
% \begin{macrocode}
\exp_args:NNf \cs_new_protected:Npn \@@_new:N
{ \exp_args:NNc \exp_after:wN \exp_stop_f: { newwrite } }
+\cs_if_exist:NT \contextversion
+ {
+ \cs_new_eq:NN \@@_new_aux:N \@@_new:N
+ \cs_gset_protected:Npn \@@_new:N #1
+ {
+ \cs_undefine:N #1
+ \@@_new_aux:N #1
+ }
+ }
% \end{macrocode}
% \end{macro}
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx b/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
index 8af39ddb032..fd9a9aa6111 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
index a1f665de474..5b311af4d0b 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-07-15}
+% \date{Released 2022-08-05}
% \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 72c921ff694..cbde31ce23e 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
index 5a39eb65882..d787d6ee222 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
index 590ab826d97..c132f4590d8 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
index c6f2b9acb72..1c3279091dd 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
index f5aff758dca..0350ded913b 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
index 2b0f6f7aa9d..46964ea3a1b 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
index 52a0dbe996c..b0797bb794e 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
index cf9facf6053..54da2f30278 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
index bf898ae0d6f..3c13cb4c7f6 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
index 8e247394404..d613c08e5ce 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-07-15}
+% \date{Released 2022-08-05}
% \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 2f9b1141ee1..f47ae0281b8 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
index be0444ec72d..f69fcd6cc9b 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
index 74cda9c649c..a1a071839e0 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3int.dtx b/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
index 334695520d6..3a7f061d2d2 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx b/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
index 244e61bc327..41a14d591cc 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx b/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
index f2da709109d..ac0b7abb131 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
index 521e01b8353..b8f407f3f52 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx b/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx
index 13c6a3c7f80..36303fc3770 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx b/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
index b19190d305b..40d1fd00099 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx b/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
index ff928d5f6a6..db98ebf8c40 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
index d6ab88596a7..485e5fefde5 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx b/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx
index a2b39ce0811..b9292765030 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
index 71522856067..2ed4632e64e 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
index a5a13f073fe..a5726a0e7bb 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx b/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
index d708f237cd6..452a2cb7d54 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx b/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
index 508dca74cce..32e7267129f 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx b/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
index 5ae4b3344e8..fd9a8b3a02c 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx b/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
index d6800205e25..590b6bdf9fa 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx b/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
index c764895fc39..75ced1644a5 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx b/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx
index ba9432c5a03..7e9cf89a7ae 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3str.dtx b/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
index 5097d283547..5ad97df2f91 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
index a25c0867af0..46263e0b2cd 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
@@ -290,9 +290,25 @@
% use will be loaded. This command may only be used once.
% \end{function}
%
+% \begin{function}[added = 2022-07-29]{\sys_ensure_backend:}
+% \begin{syntax}
+% \cs{sys_ensure_backend:}
+% \end{syntax}
+% Ensures that a backend has been loaded by calling \cs{sys_load_backend:n}
+% if required.
+% \end{function}
+%
% \begin{variable}{\c_sys_backend_str}
% Set to the name of the backend in use by \cs{sys_load_backend:n} when
-% issued.
+% issued. Possible values are
+% \begin{itemize}
+% \item \texttt{pdftex}
+% \item \texttt{luatex}
+% \item \texttt{xetex}
+% \item \texttt{dvips}
+% \item \texttt{dvipdfmx}
+% \item \texttt{dvisvgm}
+% \end{itemize}
% \end{variable}
%
% \begin{function}[added = 2019-09-12]{\sys_load_debug:}
@@ -561,6 +577,17 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\sys_ensure_backend:}
+% A simple wrapper.
+% \begin{macrocode}
+\cs_new_protected:Npn \sys_ensure_backend:
+ {
+ \str_if_exist:NF \c_sys_backend_str
+ { \sys_load_backend:n { } }
+ }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{variable}{\g_@@_debug_bool}
% \begin{macrocode}
\bool_new:N \g_@@_debug_bool
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
index a2ed47843b2..ef6751ac93a 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
@@ -357,7 +357,7 @@
% \begin{macrocode}
\cs_new:Npn \@@_change_case_N_type:nnN #1#2#3
{
- \@@_if_recursion_tail_stop_do:Nn #3
+ \@@_if_q_recursion_tail_stop_do:Nn #3
{ \@@_change_case_end:w }
\@@_change_case_N_type_aux:nnN {#1} {#2} #3
}
@@ -374,7 +374,7 @@
}
\cs_new:Npn \@@_change_case_math_search:nnNNN #1#2#3#4#5
{
- \@@_if_recursion_tail_stop_do:Nn #4
+ \@@_if_q_recursion_tail_stop_do:Nn #4
{ \@@_change_case_cs_check:nnN {#1} {#2} #3 }
\token_if_eq_meaning:NNTF #3 #4
{
@@ -399,7 +399,7 @@
}
\cs_new:Npn \@@_change_case_math_N_type:nnNN #1#2#3#4
{
- \@@_if_recursion_tail_stop_do:Nn #4
+ \@@_if_q_recursion_tail_stop_do:Nn #4
{ \@@_change_case_end:w }
\@@_change_case_store:n {#4}
\token_if_eq_meaning:NNTF #4 #3
@@ -454,7 +454,7 @@
}
\cs_new:Npn \@@_change_case_exclude:nnNN #1#2#3#4
{
- \@@_if_recursion_tail_stop_do:Nn #4
+ \@@_if_q_recursion_tail_stop_do:Nn #4
{ \@@_change_case_replace:nnN {#1} {#2} #3 }
\str_if_eq:nnTF {#3} {#4}
{
@@ -910,6 +910,9 @@
% \begin{macro}[EXP]{\@@_change_case_upper_el_hiatus:nnN}
% \begin{macro}[EXP]{\@@_change_case_upper_el_gobble:nnw}
% \begin{macro}[EXP]{\@@_change_case_upper_el_gobble:nnN}
+% \begin{macro}[EXP]{\@@_change_case_upper_el:nnnNN}
+% \begin{macro}[EXP]{\@@_change_case_upper_el:nnnNNN}
+% \begin{macro}[EXP]{\@@_change_case_upper_el:nnnn}
% \begin{macro}[EXP,TF]{\@@_change_case_if_greek:n}
% \begin{macro}[EXP,pTF]{\@@_change_case_if_greek:n}
% \begin{macro}[EXP,pTF]{\@@_change_case_if_greek_accent:n}
@@ -927,7 +930,7 @@
% \emph{ypogegrammeni} is filtered out here as it is not actually in the
% Greek range, so gets lost if we leave until later.
% \begin{macrocode}
-\bool_lazy_or:nnT
+\bool_lazy_or:nnTF
{ \sys_if_engine_luatex_p: }
{ \sys_if_engine_xetex_p: }
{
@@ -1130,6 +1133,43 @@
}
}
% \end{macrocode}
+% For $8$-bit engines we use a simplified approach: covers the common
+% requirements. This is basically how \pkg{xgreek} works but done by
+% expansion: use fixed mappings from accented to accent-free letters.
+% Only the two- and three-byte ranges can be involved.
+% \begin{macrocode}
+ {
+ \cs_new:Npn \@@_change_case_upper_el:nnnN #1#2#3#4
+ {
+ \int_compare:nNnTF { `#4 } > { "80 }
+ {
+ \int_compare:nNnTF { `#4 } < { "E0 }
+ { \@@_change_case_upper_el:nnnNN }
+ {
+ \int_compare:nNnTF { `#4 } < { "F0 }
+ { \@@_change_case_upper_el:nnnNNN }
+ { \@@_change_case_char:nnnN }
+ }
+ }
+ { \@@_change_case_char:nnnN }
+ {#1} {#2} {#3} #4
+ }
+ \cs_new:Npn \@@_change_case_upper_el:nnnNN #1#2#3#4#5
+ { \@@_change_case_upper_el:nnnn {#1} {#2} {#3} {#4#5} }
+ \cs_new:Npn \@@_change_case_upper_el:nnnNNN #1#2#3#4#5#6
+ { \@@_change_case_upper_el:nnnn {#1} {#2} {#3} {#4#5#6} }
+ \cs_new:Npn \@@_change_case_upper_el:nnnn #1#2#3#4
+ {
+ \cs_if_exist:cTF { c_@@_uppercase_el_ \tl_to_str:n {#4} _tl }
+ {
+ \@@_change_case_store:v
+ { c_@@_uppercase_el_ \tl_to_str:n {#4} _tl }
+ \@@_change_case_loop:nnw {#1} {#3}
+ }
+ { \@@_change_case_char:nnnN {#1} {#2} {#3} #4 }
+ }
+ }
+% \end{macrocode}
% Luckily the Greek range is limited and clear.
% \begin{macrocode}
\prg_new_conditional:Npnn \@@_change_case_if_greek:n #1 { TF }
@@ -1268,6 +1308,9 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
% \begin{macro}[EXP]{\@@_change_case_boundary_upper_el:Nnnw}
% \begin{macro}[EXP]{\@@_change_case_boundary_upper_el:nnN}
% \begin{macro}[EXP]{\@@_change_case_boundary_upper_el:nnNw}
@@ -2114,6 +2157,27 @@
\@@_tmp:w { 03F4 } { 03B8 } { lower }
\@@_tmp:w { 03F5 } { 0395 } { upper }
% \end{macrocode}
+% Croatian digraph letters: these have a titlecase variant.
+% \begin{macrocode}
+ \@@_tmp:w { 01C4 } { 01C5 } { title }
+ \@@_tmp:w { 01C4 } { 01C6 } { lower }
+ \@@_tmp:w { 01C5 } { 01C4 } { upper }
+ \@@_tmp:w { 01C5 } { 01C6 } { lower }
+ \@@_tmp:w { 01C6 } { 01C4 } { upper }
+ \@@_tmp:w { 01C6 } { 01C5 } { title }
+ \@@_tmp:w { 01C7 } { 01C8 } { title }
+ \@@_tmp:w { 01C7 } { 01C9 } { lower }
+ \@@_tmp:w { 01C8 } { 01C7 } { upper }
+ \@@_tmp:w { 01C8 } { 01C9 } { lower }
+ \@@_tmp:w { 01C9 } { 01C7 } { upper }
+ \@@_tmp:w { 01C9 } { 01C8 } { title }
+ \@@_tmp:w { 01CA } { 01CB } { title }
+ \@@_tmp:w { 01CA } { 01CC } { lower }
+ \@@_tmp:w { 01CB } { 01CA } { upper }
+ \@@_tmp:w { 01CB } { 01CC } { lower }
+ \@@_tmp:w { 01CC } { 01CA } { upper }
+ \@@_tmp:w { 01CC } { 01CB } { title }
+% \end{macrocode}
% Odds and ends that are not simple one-to-one mappings. These
% are still two-octet code points.
% \begin{macrocode}
@@ -2312,6 +2376,371 @@
\group_end:
}
\@@_tmp:w { 1FBE } { 0399 } { upper }
+% \end{macrocode}
+% Greek accent suppression for uppercasing.
+% \begin{macrocode}
+ \cs_set_protected:Npn \@@_tmp:w #1#2#3#4#5#6#7#8
+ {
+ \tl_const:cx
+ {
+ c_@@_uppercase_el_
+ \char_generate:nn {#1} { 12 }
+ \char_generate:nn {#2} { 12 }
+ _tl
+ }
+ {
+ \exp_after:wN \exp_after:wN \exp_after:wN
+ \exp_not:N \char_generate:nn {#5} { 13 }
+ \exp_after:wN \exp_after:wN \exp_after:wN
+ \exp_not:N \char_generate:nn {#6} { 13 }
+ }
+ }
+ \@@_loop:nn
+ { 0370 } { 0370 }
+ { 0371 } { 0370 }
+ { 0372 } { 0372 }
+ { 0373 } { 0372 }
+ { 0376 } { 0376 }
+ { 0377 } { 0376 }
+ { 03FD } { 03FD }
+ { 037B } { 03FD }
+ { 03FE } { 03FE }
+ { 037C } { 03FE }
+ { 03FF } { 03FF }
+ { 037D } { 03FF }
+ { 0386 } { 0391 }
+ { 0388 } { 0395 }
+ { 0389 } { 0397 }
+ { 038A } { 0399 }
+ { 038C } { 039F }
+ { 038E } { 03A5 }
+ { 038F } { 03A9 }
+ { 0390 } { 03AA }
+ { 0391 } { 0391 }
+ { 0392 } { 0392 }
+ { 0393 } { 0393 }
+ { 0394 } { 0394 }
+ { 0395 } { 0395 }
+ { 0396 } { 0396 }
+ { 0397 } { 0397 }
+ { 0398 } { 0398 }
+ { 0399 } { 0399 }
+ { 039A } { 039A }
+ { 039B } { 039B }
+ { 039C } { 039C }
+ { 039D } { 039D }
+ { 039E } { 039E }
+ { 039F } { 039F }
+ { 03A0 } { 03A0 }
+ { 03A1 } { 03A1 }
+ { 03A3 } { 03A3 }
+ { 03A4 } { 03A4 }
+ { 03A5 } { 03A5 }
+ { 03A6 } { 03A6 }
+ { 03A7 } { 03A7 }
+ { 03A8 } { 03A8 }
+ { 03A9 } { 03A9 }
+ { 03AA } { 03AA }
+ { 03AB } { 03AB }
+ { 03AC } { 0391 }
+ { 03AD } { 0395 }
+ { 03AE } { 0397 }
+ { 03AF } { 0399 }
+ { 03B0 } { 03AB }
+ { 03B1 } { 0391 }
+ { 03B2 } { 0392 }
+ { 03B3 } { 0393 }
+ { 03B4 } { 0394 }
+ { 03B5 } { 0395 }
+ { 03B6 } { 0396 }
+ { 03B7 } { 0397 }
+ { 03B8 } { 0398 }
+ { 03B9 } { 0399 }
+ { 03BA } { 039A }
+ { 03BB } { 039B }
+ { 03BC } { 039C }
+ { 03BD } { 039D }
+ { 03BE } { 039E }
+ { 03BF } { 039F }
+ { 03C0 } { 03A0 }
+ { 03C1 } { 03A1 }
+ { 03C2 } { 03A3 }
+ { 03C3 } { 03A3 }
+ { 03C4 } { 03A4 }
+ { 03C5 } { 03A5 }
+ { 03C6 } { 03A6 }
+ { 03C7 } { 03A7 }
+ { 03C8 } { 03A8 }
+ { 03C9 } { 03A9 }
+ { 03CA } { 03AA }
+ { 03CB } { 03AB }
+ { 03CC } { 039F }
+ { 03CD } { 03A5 }
+ { 03CE } { 03A9 }
+ { 03D0 } { 0392 }
+ { 03D1 } { 0398 }
+ { 03D2 } { 03A5 }
+ { 03D3 } { 03A5 }
+ { 03D4 } { 03AB }
+ { 03D5 } { 03A6 }
+ { 03D6 } { 03A0 }
+ { 03DA } { 03DA }
+ { 03DB } { 03DA }
+ { 03DC } { 03DC }
+ { 03DD } { 03DC }
+ { 03DE } { 03DE }
+ { 03DF } { 03DE }
+ { 03E0 } { 03E0 }
+ { 03E1 } { 03E0 }
+ { 03F0 } { 039A }
+ { 03F1 } { 03A1 }
+ { 03F2 } { 03F9 }
+ { 03F9 } { 03F9 }
+ \q_recursion_tail ?
+ \q_recursion_stop
+ \cs_set_protected:Npn \@@_tmp:w #1#2#3#4#5#6#7#8
+ {
+ \tl_const:cx
+ {
+ c_@@_uppercase_el_
+ \char_generate:nn {#1} { 12 }
+ \char_generate:nn {#2} { 12 }
+ \char_generate:nn {#3} { 12 }
+ _tl
+ }
+ {
+ \exp_after:wN \exp_after:wN \exp_after:wN
+ \exp_not:N \char_generate:nn {#5} { 13 }
+ \exp_after:wN \exp_after:wN \exp_after:wN
+ \exp_not:N \char_generate:nn {#6} { 13 }
+ \tl_if_blank:nF {#7}
+ {
+ \exp_after:wN \exp_after:wN \exp_after:wN
+ \exp_not:N \char_generate:nn {#7} { 13 }
+ }
+ }
+ }
+ \@@_loop:nn
+ { 1F00 } { 0391 }
+ { 1F01 } { 0391 }
+ { 1F02 } { 0391 }
+ { 1F03 } { 0391 }
+ { 1F04 } { 0391 }
+ { 1F05 } { 0391 }
+ { 1F06 } { 0391 }
+ { 1F07 } { 0391 }
+ { 1F08 } { 0391 }
+ { 1F09 } { 0391 }
+ { 1F0A } { 0391 }
+ { 1F0B } { 0391 }
+ { 1F0C } { 0391 }
+ { 1F0D } { 0391 }
+ { 1F0E } { 0391 }
+ { 1F0F } { 0391 }
+ { 1F10 } { 0395 }
+ { 1F11 } { 0395 }
+ { 1F12 } { 0395 }
+ { 1F13 } { 0395 }
+ { 1F14 } { 0395 }
+ { 1F15 } { 0395 }
+ { 1F18 } { 0395 }
+ { 1F19 } { 0395 }
+ { 1F1A } { 0395 }
+ { 1F1B } { 0395 }
+ { 1F1C } { 0395 }
+ { 1F1D } { 0395 }
+ { 1F20 } { 0397 }
+ { 1F21 } { 0397 }
+ { 1F22 } { 0397 }
+ { 1F23 } { 0397 }
+ { 1F24 } { 0397 }
+ { 1F25 } { 0397 }
+ { 1F26 } { 0397 }
+ { 1F27 } { 0397 }
+ { 1F28 } { 0397 }
+ { 1F29 } { 0397 }
+ { 1F2A } { 0397 }
+ { 1F2B } { 0397 }
+ { 1F2C } { 0397 }
+ { 1F2D } { 0397 }
+ { 1F2E } { 0397 }
+ { 1F2F } { 0397 }
+ { 1F30 } { 0399 }
+ { 1F31 } { 0399 }
+ { 1F32 } { 0399 }
+ { 1F33 } { 0399 }
+ { 1F34 } { 0399 }
+ { 1F35 } { 0399 }
+ { 1F36 } { 0399 }
+ { 1F37 } { 0399 }
+ { 1F38 } { 0399 }
+ { 1F39 } { 0399 }
+ { 1F3A } { 0399 }
+ { 1F3B } { 0399 }
+ { 1F3C } { 0399 }
+ { 1F3D } { 0399 }
+ { 1F3E } { 0399 }
+ { 1F3F } { 0399 }
+ { 1F40 } { 039F }
+ { 1F41 } { 039F }
+ { 1F42 } { 039F }
+ { 1F43 } { 039F }
+ { 1F44 } { 039F }
+ { 1F45 } { 039F }
+ { 1F48 } { 039F }
+ { 1F49 } { 039F }
+ { 1F4A } { 039F }
+ { 1F4B } { 039F }
+ { 1F4C } { 039F }
+ { 1F4D } { 039F }
+ { 1F50 } { 03A5 }
+ { 1F51 } { 03A5 }
+ { 1F52 } { 03A5 }
+ { 1F53 } { 03A5 }
+ { 1F54 } { 03A5 }
+ { 1F55 } { 03A5 }
+ { 1F56 } { 03A5 }
+ { 1F57 } { 03A5 }
+ { 1F59 } { 03A5 }
+ { 1F5B } { 03A5 }
+ { 1F5D } { 03A5 }
+ { 1F5F } { 03A5 }
+ { 1F60 } { 03A9 }
+ { 1F61 } { 03A9 }
+ { 1F62 } { 03A9 }
+ { 1F63 } { 03A9 }
+ { 1F64 } { 03A9 }
+ { 1F65 } { 03A9 }
+ { 1F66 } { 03A9 }
+ { 1F67 } { 03A9 }
+ { 1F68 } { 03A9 }
+ { 1F69 } { 03A9 }
+ { 1F6A } { 03A9 }
+ { 1F6B } { 03A9 }
+ { 1F6C } { 03A9 }
+ { 1F6D } { 03A9 }
+ { 1F6E } { 03A9 }
+ { 1F6F } { 03A9 }
+ { 1F70 } { 0391 }
+ { 1F71 } { 0391 }
+ { 1F72 } { 0395 }
+ { 1F73 } { 0395 }
+ { 1F74 } { 0397 }
+ { 1F75 } { 0397 }
+ { 1F76 } { 0399 }
+ { 1F77 } { 0399 }
+ { 1F78 } { 039F }
+ { 1F79 } { 039F }
+ { 1F7A } { 03A5 }
+ { 1F7B } { 03A5 }
+ { 1F7C } { 03A9 }
+ { 1F7D } { 03A9 }
+ { 1F80 } { 1FBC }
+ { 1F81 } { 1FBC }
+ { 1F82 } { 1FBC }
+ { 1F83 } { 1FBC }
+ { 1F84 } { 1FBC }
+ { 1F85 } { 1FBC }
+ { 1F86 } { 1FBC }
+ { 1F87 } { 1FBC }
+ { 1F88 } { 1FBC }
+ { 1F89 } { 1FBC }
+ { 1F8A } { 1FBC }
+ { 1F8B } { 1FBC }
+ { 1F8C } { 1FBC }
+ { 1F8D } { 1FBC }
+ { 1F8E } { 1FBC }
+ { 1F8F } { 1FBC }
+ { 1F90 } { 1FCC }
+ { 1F91 } { 1FCC }
+ { 1F92 } { 1FCC }
+ { 1F93 } { 1FCC }
+ { 1F94 } { 1FCC }
+ { 1F95 } { 1FCC }
+ { 1F96 } { 1FCC }
+ { 1F97 } { 1FCC }
+ { 1F98 } { 1FCC }
+ { 1F99 } { 1FCC }
+ { 1F9A } { 1FCC }
+ { 1F9B } { 1FCC }
+ { 1F9C } { 1FCC }
+ { 1F9D } { 1FCC }
+ { 1F9E } { 1FCC }
+ { 1F9F } { 1FCC }
+ { 1FA0 } { 1FFC }
+ { 1FA1 } { 1FFC }
+ { 1FA2 } { 1FFC }
+ { 1FA3 } { 1FFC }
+ { 1FA4 } { 1FFC }
+ { 1FA5 } { 1FFC }
+ { 1FA6 } { 1FFC }
+ { 1FA7 } { 1FFC }
+ { 1FA8 } { 1FFC }
+ { 1FA9 } { 1FFC }
+ { 1FAA } { 1FFC }
+ { 1FAB } { 1FFC }
+ { 1FAC } { 1FFC }
+ { 1FAD } { 1FFC }
+ { 1FAE } { 1FFC }
+ { 1FAF } { 1FFC }
+ { 1FB0 } { 1FB8 }
+ { 1FB1 } { 1FB9 }
+ { 1FB2 } { 1FBC }
+ { 1FB3 } { 1FBC }
+ { 1FB4 } { 1FBC }
+ { 1FB6 } { 0391 }
+ { 1FB7 } { 1FBC }
+ { 1FB8 } { 1FB8 }
+ { 1FB9 } { 1FB9 }
+ { 1FBA } { 0391 }
+ { 1FBB } { 0391 }
+ { 1FBC } { 1FBC }
+ { 1FBD } { 1FBD }
+ { 1FC2 } { 1FCC }
+ { 1FC3 } { 1FCC }
+ { 1FC4 } { 1FCC }
+ { 1FC6 } { 0397 }
+ { 1FC7 } { 1FCC }
+ { 1FC8 } { 0395 }
+ { 1FC9 } { 0395 }
+ { 1FCA } { 0397 }
+ { 1FCB } { 0397 }
+ { 1FCC } { 1FCC }
+ { 1FD0 } { 1FD8 }
+ { 1FD1 } { 1FD9 }
+ { 1FD2 } { 03AA }
+ { 1FD3 } { 03AA }
+ { 1FD6 } { 0399 }
+ { 1FD7 } { 03AA }
+ { 1FD8 } { 1FD8 }
+ { 1FD9 } { 1FD9 }
+ { 1FDA } { 0399 }
+ { 1FDB } { 0399 }
+ { 1FE0 } { 1FE8 }
+ { 1FE1 } { 1FE9 }
+ { 1FE2 } { 03AB }
+ { 1FE3 } { 03AB }
+ { 1FE4 } { 03A1 }
+ { 1FE5 } { 03A1 }
+ { 1FE6 } { 03A5 }
+ { 1FE7 } { 03AB }
+ { 1FE8 } { 1FE8 }
+ { 1FE9 } { 1FE9 }
+ { 1FEA } { 03A5 }
+ { 1FEB } { 03A5 }
+ { 1FEC } { 1FEC }
+ { 1FF2 } { 1FFC }
+ { 1FF3 } { 1FFC }
+ { 1FF4 } { 1FFC }
+ { 1FF6 } { 03A9 }
+ { 1FF7 } { 1FFC }
+ { 1FF8 } { 039F }
+ { 1FF9 } { 039F }
+ { 1FFA } { 03A9 }
+ { 1FFB } { 03A9 }
+ { 1FFC } { 1FFC }
+ \q_recursion_tail ?
+ \q_recursion_stop
}
\group_end:
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx
index 605a30a5a6b..6006409985a 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
@@ -157,7 +157,7 @@
% \begin{macrocode}
\cs_new:Npn \@@_purify_N_type:N #1
{
- \@@_if_recursion_tail_stop_do:Nn #1 { \@@_purify_end:w }
+ \@@_if_q_recursion_tail_stop_do:Nn #1 { \@@_purify_end:w }
\@@_purify_N_type_aux:N #1
}
\cs_new:Npn \@@_purify_N_type_aux:N #1
@@ -169,7 +169,7 @@
}
\cs_new:Npn \@@_purify_math_search:NNN #1#2#3
{
- \@@_if_recursion_tail_stop_do:Nn #2
+ \@@_if_q_recursion_tail_stop_do:Nn #2
{ \@@_purify_math_cmd:N #1 }
\token_if_eq_meaning:NNTF #1 #2
{
@@ -210,7 +210,7 @@
}
\cs_new:Npn \@@_purify_math_N_type:NNN #1#2#3
{
- \@@_if_recursion_tail_stop_do:Nn #3
+ \@@_if_q_recursion_tail_stop_do:Nn #3
{ \@@_purify_math_stop:Nw #1 }
\token_if_eq_meaning:NNTF #3 #2
{ \@@_purify_math_end:w }
@@ -242,7 +242,7 @@
}
\cs_new:Npn \@@_purify_math_cmd:NN #1#2
{
- \@@_if_recursion_tail_stop_do:Nn #2
+ \@@_if_q_recursion_tail_stop_do:Nn #2
{ \@@_purify_replace:N #1 }
\cs_if_eq:NNTF #2 #1
{
@@ -293,7 +293,7 @@
}
\cs_new:Npn \@@_purify_protect:N #1
{
- \@@_if_recursion_tail_stop_do:Nn #1 { \@@_purify_end:w }
+ \@@_if_q_recursion_tail_stop_do:Nn #1 { \@@_purify_end:w }
\@@_purify_loop:w
}
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text.dtx
index 7615cf39696..67218edf309 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
@@ -170,11 +170,12 @@
% Unicode \TeX{} engines.
% \item Greek (\texttt{el}).
% Removes accents from Greek letters when uppercasing; titlecasing
-% leaves accents in place. (At present this is implemented only
-% for Unicode engines.) A variant \texttt{el-x-iota} is available
+% leaves accents in place. A variant \texttt{el-x-iota} is available
% which retains the \textit{ypogegrammeni} (subscript muted iota)
% when uppercasing: the standard version converts these to a following
-% capital iota.
+% capital iota. For $8$-bit engines a simplified approach is taken
+% which will remove accents when uppercasing but without full
+% context analysis.
% \item Lithuanian (\texttt{lt}).
% The lowercase letters i and j should retain a dot above when the
% accents grave, acute or tilde are present. This is implemented for
@@ -355,10 +356,42 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}[EXP]{\@@_if_recursion_tail_stop_do:Nn}
+% \begin{macro}[EXP]{\@@_if_q_recursion_tail_stop_do:Nn}
% Functions to query recursion quarks.
% \begin{macrocode}
-\__kernel_quark_new_test:N \@@_if_recursion_tail_stop_do:Nn
+\__kernel_quark_new_test:N \@@_if_q_recursion_tail_stop_do:Nn
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{variable}{\s_@@_recursion_tail,\s_@@_recursion_stop}
+% Internal scan marks quarks.
+% \begin{macrocode}
+\scan_new:N \s_@@_recursion_tail
+\scan_new:N \s_@@_recursion_stop
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}[EXP]{\@@_use_i_delimit_by_s_recursion_stop:nw}
+% Functions to gobble up to a scan mark.
+% \begin{macrocode}
+\cs_new:Npn \@@_use_i_delimit_by_s_recursion_stop:nw
+ #1 #2 \s_@@_recursion_stop {#1}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[EXP]{\@@_if_s_recursion_tail_stop_do:Nn}
+% Functions to query recursion scan marks. Slower than a quark
+% test but needed to avoid issues in the outer expansion loop
+% with unterminated \tn{romannumeral} primitives.
+% \begin{macrocode}
+\cs_new:Npn \@@_if_s_recursion_tail_stop_do:Nn #1
+ {
+ \bool_lazy_and:nnTF
+ { \cs_if_eq_p:NN \s_@@_recursion_tail #1 }
+ { \str_if_eq_p:nn { \s_@@_recursion_tail } {#1} }
+ { \@@_use_i_delimit_by_s_recursion_stop:nw }
+ { \use_none:n }
+ }
% \end{macrocode}
% \end{macro}
%
@@ -731,7 +764,9 @@
% arbitrary user commands which might be protected \emph{and} take
% arguments, and if the expansion code is used in a typesetting
% context, that will otherwise explode. (The same issue applies more
-% clearly to case changing: see the example there.)
+% clearly to case changing: see the example there.) The outer
+% loop has to use scan marks as delimiters to protect against
+% unterminated \tn{romannumeral} usage in the input.
% \begin{macrocode}
\cs_new:Npn \text_expand:n #1
{
@@ -745,7 +780,7 @@
{
\group_align_safe_begin:
\@@_expand_loop:w #1
- \q_@@_recursion_tail \q_@@_recursion_stop
+ \s_@@_recursion_tail \s_@@_recursion_stop
\@@_expand_result:n { }
}
% \end{macrocode}
@@ -768,7 +803,7 @@
% recursively, while spaces are just passed through. Thus all of the
% action is in handling \texttt{N}-type tokens.
% \begin{macrocode}
-\cs_new:Npn \@@_expand_loop:w #1 \q_@@_recursion_stop
+\cs_new:Npn \@@_expand_loop:w #1 \s_@@_recursion_stop
{
\tl_if_head_is_N_type:nTF {#1}
{ \@@_expand_N_type:N }
@@ -777,7 +812,7 @@
{ \@@_expand_group:n }
{ \@@_expand_space:w }
}
- #1 \q_@@_recursion_stop
+ #1 \s_@@_recursion_stop
}
\cs_new:Npn \@@_expand_group:n #1
{
@@ -805,7 +840,7 @@
% \begin{macrocode}
\cs_new:Npx \@@_expand_N_type:N #1
{
- \exp_not:N \@@_if_recursion_tail_stop_do:Nn #1
+ \exp_not:N \@@_if_s_recursion_tail_stop_do:Nn #1
{ \exp_not:N \@@_expand_end:w }
\exp_not:N \bool_lazy_any:nTF
{
@@ -884,7 +919,7 @@
}
\cs_new:Npn \@@_expand_math_search:NNN #1#2#3
{
- \@@_if_recursion_tail_stop_do:Nn #2
+ \@@_if_q_recursion_tail_stop_do:Nn #2
{ \@@_expand_explicit:N #1 }
\token_if_eq_meaning:NNTF #1 #2
{
@@ -896,7 +931,7 @@
}
{ \@@_expand_math_search:NNN #1 }
}
-\cs_new:Npn \@@_expand_math_loop:Nw #1#2 \q_@@_recursion_stop
+\cs_new:Npn \@@_expand_math_loop:Nw #1#2 \s_@@_recursion_stop
{
\tl_if_head_is_N_type:nTF {#2}
{ \@@_expand_math_N_type:NN }
@@ -905,11 +940,11 @@
{ \@@_expand_math_group:Nn }
{ \@@_expand_math_space:Nw }
}
- #1#2 \q_@@_recursion_stop
+ #1#2 \s_@@_recursion_stop
}
\cs_new:Npn \@@_expand_math_N_type:NN #1#2
{
- \@@_if_recursion_tail_stop_do:Nn #2
+ \@@_if_s_recursion_tail_stop_do:Nn #2
{ \@@_expand_end:w }
\@@_expand_store:n {#2}
\token_if_eq_meaning:NNTF #2 #1
@@ -989,7 +1024,7 @@
}
\cs_new:Npn \@@_expand_exclude:NN #1#2
{
- \@@_if_recursion_tail_stop_do:Nn #2
+ \@@_if_q_recursion_tail_stop_do:Nn #2
{ \@@_expand_accent:N #1 }
\str_if_eq:nnTF {#1} {#2}
{
@@ -1016,7 +1051,7 @@
}
\cs_new:Npn \@@_expand_accent:NN #1#2
{
- \@@_if_recursion_tail_stop_do:Nn #2
+ \@@_if_q_recursion_tail_stop_do:Nn #2
{ \@@_expand_letterlike:N #1 }
\cs_if_eq:NNTF #2 #1
{
@@ -1040,7 +1075,7 @@
}
\cs_new:Npn \@@_expand_letterlike:NN #1#2
{
- \@@_if_recursion_tail_stop_do:Nn #2
+ \@@_if_q_recursion_tail_stop_do:Nn #2
{ \@@_expand_cs:N #1 }
\cs_if_eq:NNTF #2 #1
{
@@ -1072,7 +1107,7 @@
{ \exp_not:N \@@_expand_replace:N #1 }
}
}
-\cs_new:Npn \@@_expand_protect:w #1 \q_@@_recursion_stop
+\cs_new:Npn \@@_expand_protect:w #1 \s_@@_recursion_stop
{
\tl_if_head_is_N_type:nTF {#1}
{ \@@_expand_protect:N }
@@ -1080,11 +1115,11 @@
\@@_expand_store:n { \protect }
\@@_expand_loop:w
}
- #1 \q_@@_recursion_stop
+ #1 \s_@@_recursion_stop
}
\cs_new:Npn \@@_expand_protect:N #1
{
- \@@_if_recursion_tail_stop_do:Nn #1
+ \@@_if_s_recursion_tail_stop_do:Nn #1
{
\@@_expand_store:n { \protect }
\@@_expand_end:w
@@ -1186,7 +1221,7 @@
\exp_after:wN \@@_expand_unexpanded_test:w
\exp:w \exp_end_continue_f:w
}
-\cs_new:Npn \@@_expand_unexpanded_test:w #1 \q_@@_recursion_stop
+\cs_new:Npn \@@_expand_unexpanded_test:w #1 \s_@@_recursion_stop
{
\tl_if_head_is_group:nTF {#1}
{ \@@_expand_unexpanded:n }
@@ -1194,7 +1229,7 @@
\@@_expand_unexpanded:w
\tl_if_head_is_N_type:nT {#1} { \@@_expand_unexpanded:N }
}
- #1 \q_@@_recursion_stop
+ #1 \s_@@_recursion_stop
}
\cs_new:Npn \@@_expand_unexpanded:N #1
{
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
index c9cffed9540..8d9106b617d 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
index 65178fa7b23..e4a04070ba0 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3token.dtx b/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
index 0994d2de2d5..728a54a47a2 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx b/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
index fbf1d0bd6cd..b2df6d94dd3 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 2022-07-15}
+% \date{Released 2022-08-05}
%
% \maketitle
%
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
index f9e2421b386..3f0a4e3c5d4 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}{2022-07-01}{}
+ {l3backend-dvipdfmx.def}{2022-08-05}{}
{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 0e1c5358c99..4d561e6b4f3 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}{2022-07-01}{}
+ {l3backend-dvips.def}{2022-08-05}{}
{L3 backend support: dvips}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
index 12c8c2e3683..b9a97cca0e7 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}{2022-07-01}{}
+ {l3backend-dvisvgm.def}{2022-08-05}{}
{L3 backend support: dvisvgm}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
@@ -651,6 +651,16 @@
{ \cs_new_eq:NN \__graphics_backend_get_pagecount:n \__graphics_get_pagecount:n }
%% File: l3backend-pdf.dtx
\box_new:N \l__pdf_internal_box
+\cs_new_protected:Npn \__pdf_backend_annotation:nnnn #1#2#3#4 { }
+\cs_new:Npn \__pdf_backend_annotation_last: { }
+\cs_new_protected:Npn \__pdf_backend_link_begin_goto:nnw #1#2 { }
+\cs_new_protected:Npn \__pdf_backend_link_begin_user:nnw #1#2 { }
+\cs_new_protected:Npn \__pdf_backend_link_begin:nnnw #1#2#3 { }
+\cs_new_protected:Npn \__pdf_backend_link_end: { }
+\cs_new:Npx \__pdf_backend_link_last: { }
+\cs_new_protected:Npn \__pdf_backend_link_margin:n #1 { }
+\cs_new_protected:Npn \__pdf_backend_destination:nn #1#2 { }
+\cs_new_protected:Npn \__pdf_backend_destination:nnnn #1#2#3#4 { }
\cs_new_protected:Npn \__pdf_backend_catalog_gput:nn #1#2 { }
\cs_new_protected:Npn \__pdf_backend_info_gput:nn #1#2 { }
\cs_new_protected:Npn \__pdf_backend_object_new:nn #1#2 { }
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
index 1b0525eefc5..8b056a250a3 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}{2022-07-01}{}
+ {l3backend-luatex.def}{2022-08-05}{}
{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 49fff4e72ea..2bcf56a29b7 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}{2022-07-01}{}
+ {l3backend-pdftex.def}{2022-08-05}{}
{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 dfa1bf0605f..2fa8d2ce066 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}{2022-07-01}{}
+ {l3backend-xetex.def}{2022-08-05}{}
{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 a6117989a4e..3ef89d63db9 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -70,7 +70,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2022-07-15}%
+\def\ExplFileDate{2022-08-05}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -7625,6 +7625,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
}
}
+\cs_new_protected:Npn \sys_ensure_backend:
+ {
+ \str_if_exist:NF \c_sys_backend_str
+ { \sys_load_backend:n { } }
+ }
\bool_new:N \g__sys_debug_bool
\cs_new_protected:Npn \sys_load_debug:
{
@@ -10866,7 +10871,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\int_step_inline:nnn
{ 0 }
{
- \cs_if_exist:NTF \normalend
+ \cs_if_exist:NTF \contextversion
{ \tex_count:D 38 ~ }
{
\tex_count:D 16 ~ %
@@ -10896,10 +10901,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
\prg_generate_conditional_variant:Nnn \ior_open:Nn { c } { T , F , TF }
\exp_args:NNf \cs_new_protected:Npn \__ior_new:N
{ \exp_args:NNc \exp_after:wN \exp_stop_f: { newread } }
-\cs_if_exist:NT \normalend
+\cs_if_exist:NT \contextversion
{
\cs_new_eq:NN \__ior_new_aux:N \__ior_new:N
- \cs_set_protected:Npn \__ior_new:N #1
+ \cs_gset_protected:Npn \__ior_new:N #1
{
\cs_undefine:N #1
\__ior_new_aux:N #1
@@ -11096,7 +11101,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\int_step_inline:nnn
{ 0 }
{
- \cs_if_exist:NTF \normalend
+ \cs_if_exist:NTF \contextversion
{ \tex_count:D 39 ~ }
{
\tex_count:D 17 ~
@@ -11116,6 +11121,15 @@ Type H <return> for immediate help}\def~{\errmessage{%
\iow_new:N \g_tmpb_iow
\exp_args:NNf \cs_new_protected:Npn \__iow_new:N
{ \exp_args:NNc \exp_after:wN \exp_stop_f: { newwrite } }
+\cs_if_exist:NT \contextversion
+ {
+ \cs_new_eq:NN \__iow_new_aux:N \__iow_new:N
+ \cs_gset_protected:Npn \__iow_new:N #1
+ {
+ \cs_undefine:N #1
+ \__iow_new_aux:N #1
+ }
+ }
\tl_new:N \l__iow_file_name_tl
\cs_new_protected:Npn \iow_open:Nn #1#2
{
@@ -29021,14 +29035,21 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\peek_remove_filler:n
{
+ \group_align_safe_begin:
\peek_catcode:NTF \c_alignment_token
- { \__color_math_scan_end: }
- { \__color_math_scan_auxi: }
+ {
+ \group_align_safe_end:
+ \__color_math_scan_end:
+ }
+ {
+ \group_align_safe_end:
+ \__color_math_scan_auxi:
+ }
}
}
\cs_new_protected:Npn \__color_math_scan_auxi:
{
- \token_case_meaning:NnTF \l_peek_token
+ \token_case_catcode:NnTF \l_peek_token
{
\c_math_subscript_token { }
\c_math_superscript_token { }
@@ -31726,7 +31747,19 @@ Type H <return> for immediate help}\def~{\errmessage{%
\quark_new:N \q__text_recursion_stop
\cs_new:Npn \__text_use_i_delimit_by_q_recursion_stop:nw
#1 #2 \q__text_recursion_stop {#1}
-\__kernel_quark_new_test:N \__text_if_recursion_tail_stop_do:Nn
+\__kernel_quark_new_test:N \__text_if_q_recursion_tail_stop_do:Nn
+\scan_new:N \s__text_recursion_tail
+\scan_new:N \s__text_recursion_stop
+\cs_new:Npn \__text_use_i_delimit_by_s_recursion_stop:nw
+ #1 #2 \s__text_recursion_stop {#1}
+\cs_new:Npn \__text_if_s_recursion_tail_stop_do:Nn #1
+ {
+ \bool_lazy_and:nnTF
+ { \cs_if_eq_p:NN \s__text_recursion_tail #1 }
+ { \str_if_eq_p:nn { \s__text_recursion_tail } {#1} }
+ { \__text_use_i_delimit_by_s_recursion_stop:nw }
+ { \use_none:n }
+ }
\group_begin:
\char_set_catcode_active:n { 0 }
\cs_new:Npn \__text_token_to_explicit:N #1
@@ -31942,7 +31975,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\group_align_safe_begin:
\__text_expand_loop:w #1
- \q__text_recursion_tail \q__text_recursion_stop
+ \s__text_recursion_tail \s__text_recursion_stop
\__text_expand_result:n { }
}
\cs_new:Npn \__text_expand_store:n #1
@@ -31956,7 +31989,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_end:
#2
}
-\cs_new:Npn \__text_expand_loop:w #1 \q__text_recursion_stop
+\cs_new:Npn \__text_expand_loop:w #1 \s__text_recursion_stop
{
\tl_if_head_is_N_type:nTF {#1}
{ \__text_expand_N_type:N }
@@ -31965,7 +31998,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__text_expand_group:n }
{ \__text_expand_space:w }
}
- #1 \q__text_recursion_stop
+ #1 \s__text_recursion_stop
}
\cs_new:Npn \__text_expand_group:n #1
{
@@ -31986,7 +32019,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npx \__text_expand_N_type:N #1
{
- \exp_not:N \__text_if_recursion_tail_stop_do:Nn #1
+ \exp_not:N \__text_if_s_recursion_tail_stop_do:Nn #1
{ \exp_not:N \__text_expand_end:w }
\exp_not:N \bool_lazy_any:nTF
{
@@ -32048,7 +32081,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npn \__text_expand_math_search:NNN #1#2#3
{
- \__text_if_recursion_tail_stop_do:Nn #2
+ \__text_if_q_recursion_tail_stop_do:Nn #2
{ \__text_expand_explicit:N #1 }
\token_if_eq_meaning:NNTF #1 #2
{
@@ -32060,7 +32093,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
{ \__text_expand_math_search:NNN #1 }
}
-\cs_new:Npn \__text_expand_math_loop:Nw #1#2 \q__text_recursion_stop
+\cs_new:Npn \__text_expand_math_loop:Nw #1#2 \s__text_recursion_stop
{
\tl_if_head_is_N_type:nTF {#2}
{ \__text_expand_math_N_type:NN }
@@ -32069,11 +32102,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__text_expand_math_group:Nn }
{ \__text_expand_math_space:Nw }
}
- #1#2 \q__text_recursion_stop
+ #1#2 \s__text_recursion_stop
}
\cs_new:Npn \__text_expand_math_N_type:NN #1#2
{
- \__text_if_recursion_tail_stop_do:Nn #2
+ \__text_if_s_recursion_tail_stop_do:Nn #2
{ \__text_expand_end:w }
\__text_expand_store:n {#2}
\token_if_eq_meaning:NNTF #2 #1
@@ -32140,7 +32173,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npn \__text_expand_exclude:NN #1#2
{
- \__text_if_recursion_tail_stop_do:Nn #2
+ \__text_if_q_recursion_tail_stop_do:Nn #2
{ \__text_expand_accent:N #1 }
\str_if_eq:nnTF {#1} {#2}
{
@@ -32164,7 +32197,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npn \__text_expand_accent:NN #1#2
{
- \__text_if_recursion_tail_stop_do:Nn #2
+ \__text_if_q_recursion_tail_stop_do:Nn #2
{ \__text_expand_letterlike:N #1 }
\cs_if_eq:NNTF #2 #1
{
@@ -32184,7 +32217,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npn \__text_expand_letterlike:NN #1#2
{
- \__text_if_recursion_tail_stop_do:Nn #2
+ \__text_if_q_recursion_tail_stop_do:Nn #2
{ \__text_expand_cs:N #1 }
\cs_if_eq:NNTF #2 #1
{
@@ -32208,7 +32241,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \exp_not:N \__text_expand_replace:N #1 }
}
}
-\cs_new:Npn \__text_expand_protect:w #1 \q__text_recursion_stop
+\cs_new:Npn \__text_expand_protect:w #1 \s__text_recursion_stop
{
\tl_if_head_is_N_type:nTF {#1}
{ \__text_expand_protect:N }
@@ -32216,11 +32249,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__text_expand_store:n { \protect }
\__text_expand_loop:w
}
- #1 \q__text_recursion_stop
+ #1 \s__text_recursion_stop
}
\cs_new:Npn \__text_expand_protect:N #1
{
- \__text_if_recursion_tail_stop_do:Nn #1
+ \__text_if_s_recursion_tail_stop_do:Nn #1
{
\__text_expand_store:n { \protect }
\__text_expand_end:w
@@ -32295,7 +32328,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__text_expand_unexpanded_test:w
\exp:w \exp_end_continue_f:w
}
-\cs_new:Npn \__text_expand_unexpanded_test:w #1 \q__text_recursion_stop
+\cs_new:Npn \__text_expand_unexpanded_test:w #1 \s__text_recursion_stop
{
\tl_if_head_is_group:nTF {#1}
{ \__text_expand_unexpanded:n }
@@ -32303,7 +32336,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__text_expand_unexpanded:w
\tl_if_head_is_N_type:nT {#1} { \__text_expand_unexpanded:N }
}
- #1 \q__text_recursion_stop
+ #1 \s__text_recursion_stop
}
\cs_new:Npn \__text_expand_unexpanded:N #1
{
@@ -32456,7 +32489,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npn \__text_change_case_N_type:nnN #1#2#3
{
- \__text_if_recursion_tail_stop_do:Nn #3
+ \__text_if_q_recursion_tail_stop_do:Nn #3
{ \__text_change_case_end:w }
\__text_change_case_N_type_aux:nnN {#1} {#2} #3
}
@@ -32473,7 +32506,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npn \__text_change_case_math_search:nnNNN #1#2#3#4#5
{
- \__text_if_recursion_tail_stop_do:Nn #4
+ \__text_if_q_recursion_tail_stop_do:Nn #4
{ \__text_change_case_cs_check:nnN {#1} {#2} #3 }
\token_if_eq_meaning:NNTF #3 #4
{
@@ -32498,7 +32531,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npn \__text_change_case_math_N_type:nnNN #1#2#3#4
{
- \__text_if_recursion_tail_stop_do:Nn #4
+ \__text_if_q_recursion_tail_stop_do:Nn #4
{ \__text_change_case_end:w }
\__text_change_case_store:n {#4}
\token_if_eq_meaning:NNTF #4 #3
@@ -32542,7 +32575,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npn \__text_change_case_exclude:nnNN #1#2#3#4
{
- \__text_if_recursion_tail_stop_do:Nn #4
+ \__text_if_q_recursion_tail_stop_do:Nn #4
{ \__text_change_case_replace:nnN {#1} {#2} #3 }
\str_if_eq:nnTF {#3} {#4}
{
@@ -32864,7 +32897,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new_eq:cc { __text_change_case_upper_de-alt:nnnN }
{ __text_change_case_upper_de-x-eszett:nnnN }
-\bool_lazy_or:nnT
+\bool_lazy_or:nnTF
{ \sys_if_engine_luatex_p: }
{ \sys_if_engine_xetex_p: }
{
@@ -33040,6 +33073,37 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__text_change_case_upper_el_gobble:nnw {#1} {#2} }
}
}
+ {
+ \cs_new:Npn \__text_change_case_upper_el:nnnN #1#2#3#4
+ {
+ \int_compare:nNnTF { `#4 } > { "80 }
+ {
+ \int_compare:nNnTF { `#4 } < { "E0 }
+ { \__text_change_case_upper_el:nnnNN }
+ {
+ \int_compare:nNnTF { `#4 } < { "F0 }
+ { \__text_change_case_upper_el:nnnNNN }
+ { \__text_change_case_char:nnnN }
+ }
+ }
+ { \__text_change_case_char:nnnN }
+ {#1} {#2} {#3} #4
+ }
+ \cs_new:Npn \__text_change_case_upper_el:nnnNN #1#2#3#4#5
+ { \__text_change_case_upper_el:nnnn {#1} {#2} {#3} {#4#5} }
+ \cs_new:Npn \__text_change_case_upper_el:nnnNNN #1#2#3#4#5#6
+ { \__text_change_case_upper_el:nnnn {#1} {#2} {#3} {#4#5#6} }
+ \cs_new:Npn \__text_change_case_upper_el:nnnn #1#2#3#4
+ {
+ \cs_if_exist:cTF { c__text_uppercase_el_ \tl_to_str:n {#4} _tl }
+ {
+ \__text_change_case_store:v
+ { c__text_uppercase_el_ \tl_to_str:n {#4} _tl }
+ \__text_change_case_loop:nnw {#1} {#3}
+ }
+ { \__text_change_case_char:nnnN {#1} {#2} {#3} #4 }
+ }
+ }
\prg_new_conditional:Npnn \__text_change_case_if_greek:n #1 { TF }
{
\if_int_compare:w #1 < "0370 \exp_stop_f:
@@ -33831,6 +33895,24 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__text_tmp:w { 03F1 } { 03A1 } { upper }
\__text_tmp:w { 03F4 } { 03B8 } { lower }
\__text_tmp:w { 03F5 } { 0395 } { upper }
+ \__text_tmp:w { 01C4 } { 01C5 } { title }
+ \__text_tmp:w { 01C4 } { 01C6 } { lower }
+ \__text_tmp:w { 01C5 } { 01C4 } { upper }
+ \__text_tmp:w { 01C5 } { 01C6 } { lower }
+ \__text_tmp:w { 01C6 } { 01C4 } { upper }
+ \__text_tmp:w { 01C6 } { 01C5 } { title }
+ \__text_tmp:w { 01C7 } { 01C8 } { title }
+ \__text_tmp:w { 01C7 } { 01C9 } { lower }
+ \__text_tmp:w { 01C8 } { 01C7 } { upper }
+ \__text_tmp:w { 01C8 } { 01C9 } { lower }
+ \__text_tmp:w { 01C9 } { 01C7 } { upper }
+ \__text_tmp:w { 01C9 } { 01C8 } { title }
+ \__text_tmp:w { 01CA } { 01CB } { title }
+ \__text_tmp:w { 01CA } { 01CC } { lower }
+ \__text_tmp:w { 01CB } { 01CA } { upper }
+ \__text_tmp:w { 01CB } { 01CC } { lower }
+ \__text_tmp:w { 01CC } { 01CA } { upper }
+ \__text_tmp:w { 01CC } { 01CB } { title }
\cs_set_protected:Npn \__text_tmp:w #1#2#3
{
\group_begin:
@@ -34020,6 +34102,368 @@ Type H <return> for immediate help}\def~{\errmessage{%
\group_end:
}
\__text_tmp:w { 1FBE } { 0399 } { upper }
+ \cs_set_protected:Npn \__text_tmp:w #1#2#3#4#5#6#7#8
+ {
+ \tl_const:cx
+ {
+ c__text_uppercase_el_
+ \char_generate:nn {#1} { 12 }
+ \char_generate:nn {#2} { 12 }
+ _tl
+ }
+ {
+ \exp_after:wN \exp_after:wN \exp_after:wN
+ \exp_not:N \char_generate:nn {#5} { 13 }
+ \exp_after:wN \exp_after:wN \exp_after:wN
+ \exp_not:N \char_generate:nn {#6} { 13 }
+ }
+ }
+ \__text_loop:nn
+ { 0370 } { 0370 }
+ { 0371 } { 0370 }
+ { 0372 } { 0372 }
+ { 0373 } { 0372 }
+ { 0376 } { 0376 }
+ { 0377 } { 0376 }
+ { 03FD } { 03FD }
+ { 037B } { 03FD }
+ { 03FE } { 03FE }
+ { 037C } { 03FE }
+ { 03FF } { 03FF }
+ { 037D } { 03FF }
+ { 0386 } { 0391 }
+ { 0388 } { 0395 }
+ { 0389 } { 0397 }
+ { 038A } { 0399 }
+ { 038C } { 039F }
+ { 038E } { 03A5 }
+ { 038F } { 03A9 }
+ { 0390 } { 03AA }
+ { 0391 } { 0391 }
+ { 0392 } { 0392 }
+ { 0393 } { 0393 }
+ { 0394 } { 0394 }
+ { 0395 } { 0395 }
+ { 0396 } { 0396 }
+ { 0397 } { 0397 }
+ { 0398 } { 0398 }
+ { 0399 } { 0399 }
+ { 039A } { 039A }
+ { 039B } { 039B }
+ { 039C } { 039C }
+ { 039D } { 039D }
+ { 039E } { 039E }
+ { 039F } { 039F }
+ { 03A0 } { 03A0 }
+ { 03A1 } { 03A1 }
+ { 03A3 } { 03A3 }
+ { 03A4 } { 03A4 }
+ { 03A5 } { 03A5 }
+ { 03A6 } { 03A6 }
+ { 03A7 } { 03A7 }
+ { 03A8 } { 03A8 }
+ { 03A9 } { 03A9 }
+ { 03AA } { 03AA }
+ { 03AB } { 03AB }
+ { 03AC } { 0391 }
+ { 03AD } { 0395 }
+ { 03AE } { 0397 }
+ { 03AF } { 0399 }
+ { 03B0 } { 03AB }
+ { 03B1 } { 0391 }
+ { 03B2 } { 0392 }
+ { 03B3 } { 0393 }
+ { 03B4 } { 0394 }
+ { 03B5 } { 0395 }
+ { 03B6 } { 0396 }
+ { 03B7 } { 0397 }
+ { 03B8 } { 0398 }
+ { 03B9 } { 0399 }
+ { 03BA } { 039A }
+ { 03BB } { 039B }
+ { 03BC } { 039C }
+ { 03BD } { 039D }
+ { 03BE } { 039E }
+ { 03BF } { 039F }
+ { 03C0 } { 03A0 }
+ { 03C1 } { 03A1 }
+ { 03C2 } { 03A3 }
+ { 03C3 } { 03A3 }
+ { 03C4 } { 03A4 }
+ { 03C5 } { 03A5 }
+ { 03C6 } { 03A6 }
+ { 03C7 } { 03A7 }
+ { 03C8 } { 03A8 }
+ { 03C9 } { 03A9 }
+ { 03CA } { 03AA }
+ { 03CB } { 03AB }
+ { 03CC } { 039F }
+ { 03CD } { 03A5 }
+ { 03CE } { 03A9 }
+ { 03D0 } { 0392 }
+ { 03D1 } { 0398 }
+ { 03D2 } { 03A5 }
+ { 03D3 } { 03A5 }
+ { 03D4 } { 03AB }
+ { 03D5 } { 03A6 }
+ { 03D6 } { 03A0 }
+ { 03DA } { 03DA }
+ { 03DB } { 03DA }
+ { 03DC } { 03DC }
+ { 03DD } { 03DC }
+ { 03DE } { 03DE }
+ { 03DF } { 03DE }
+ { 03E0 } { 03E0 }
+ { 03E1 } { 03E0 }
+ { 03F0 } { 039A }
+ { 03F1 } { 03A1 }
+ { 03F2 } { 03F9 }
+ { 03F9 } { 03F9 }
+ \q_recursion_tail ?
+ \q_recursion_stop
+ \cs_set_protected:Npn \__text_tmp:w #1#2#3#4#5#6#7#8
+ {
+ \tl_const:cx
+ {
+ c__text_uppercase_el_
+ \char_generate:nn {#1} { 12 }
+ \char_generate:nn {#2} { 12 }
+ \char_generate:nn {#3} { 12 }
+ _tl
+ }
+ {
+ \exp_after:wN \exp_after:wN \exp_after:wN
+ \exp_not:N \char_generate:nn {#5} { 13 }
+ \exp_after:wN \exp_after:wN \exp_after:wN
+ \exp_not:N \char_generate:nn {#6} { 13 }
+ \tl_if_blank:nF {#7}
+ {
+ \exp_after:wN \exp_after:wN \exp_after:wN
+ \exp_not:N \char_generate:nn {#7} { 13 }
+ }
+ }
+ }
+ \__text_loop:nn
+ { 1F00 } { 0391 }
+ { 1F01 } { 0391 }
+ { 1F02 } { 0391 }
+ { 1F03 } { 0391 }
+ { 1F04 } { 0391 }
+ { 1F05 } { 0391 }
+ { 1F06 } { 0391 }
+ { 1F07 } { 0391 }
+ { 1F08 } { 0391 }
+ { 1F09 } { 0391 }
+ { 1F0A } { 0391 }
+ { 1F0B } { 0391 }
+ { 1F0C } { 0391 }
+ { 1F0D } { 0391 }
+ { 1F0E } { 0391 }
+ { 1F0F } { 0391 }
+ { 1F10 } { 0395 }
+ { 1F11 } { 0395 }
+ { 1F12 } { 0395 }
+ { 1F13 } { 0395 }
+ { 1F14 } { 0395 }
+ { 1F15 } { 0395 }
+ { 1F18 } { 0395 }
+ { 1F19 } { 0395 }
+ { 1F1A } { 0395 }
+ { 1F1B } { 0395 }
+ { 1F1C } { 0395 }
+ { 1F1D } { 0395 }
+ { 1F20 } { 0397 }
+ { 1F21 } { 0397 }
+ { 1F22 } { 0397 }
+ { 1F23 } { 0397 }
+ { 1F24 } { 0397 }
+ { 1F25 } { 0397 }
+ { 1F26 } { 0397 }
+ { 1F27 } { 0397 }
+ { 1F28 } { 0397 }
+ { 1F29 } { 0397 }
+ { 1F2A } { 0397 }
+ { 1F2B } { 0397 }
+ { 1F2C } { 0397 }
+ { 1F2D } { 0397 }
+ { 1F2E } { 0397 }
+ { 1F2F } { 0397 }
+ { 1F30 } { 0399 }
+ { 1F31 } { 0399 }
+ { 1F32 } { 0399 }
+ { 1F33 } { 0399 }
+ { 1F34 } { 0399 }
+ { 1F35 } { 0399 }
+ { 1F36 } { 0399 }
+ { 1F37 } { 0399 }
+ { 1F38 } { 0399 }
+ { 1F39 } { 0399 }
+ { 1F3A } { 0399 }
+ { 1F3B } { 0399 }
+ { 1F3C } { 0399 }
+ { 1F3D } { 0399 }
+ { 1F3E } { 0399 }
+ { 1F3F } { 0399 }
+ { 1F40 } { 039F }
+ { 1F41 } { 039F }
+ { 1F42 } { 039F }
+ { 1F43 } { 039F }
+ { 1F44 } { 039F }
+ { 1F45 } { 039F }
+ { 1F48 } { 039F }
+ { 1F49 } { 039F }
+ { 1F4A } { 039F }
+ { 1F4B } { 039F }
+ { 1F4C } { 039F }
+ { 1F4D } { 039F }
+ { 1F50 } { 03A5 }
+ { 1F51 } { 03A5 }
+ { 1F52 } { 03A5 }
+ { 1F53 } { 03A5 }
+ { 1F54 } { 03A5 }
+ { 1F55 } { 03A5 }
+ { 1F56 } { 03A5 }
+ { 1F57 } { 03A5 }
+ { 1F59 } { 03A5 }
+ { 1F5B } { 03A5 }
+ { 1F5D } { 03A5 }
+ { 1F5F } { 03A5 }
+ { 1F60 } { 03A9 }
+ { 1F61 } { 03A9 }
+ { 1F62 } { 03A9 }
+ { 1F63 } { 03A9 }
+ { 1F64 } { 03A9 }
+ { 1F65 } { 03A9 }
+ { 1F66 } { 03A9 }
+ { 1F67 } { 03A9 }
+ { 1F68 } { 03A9 }
+ { 1F69 } { 03A9 }
+ { 1F6A } { 03A9 }
+ { 1F6B } { 03A9 }
+ { 1F6C } { 03A9 }
+ { 1F6D } { 03A9 }
+ { 1F6E } { 03A9 }
+ { 1F6F } { 03A9 }
+ { 1F70 } { 0391 }
+ { 1F71 } { 0391 }
+ { 1F72 } { 0395 }
+ { 1F73 } { 0395 }
+ { 1F74 } { 0397 }
+ { 1F75 } { 0397 }
+ { 1F76 } { 0399 }
+ { 1F77 } { 0399 }
+ { 1F78 } { 039F }
+ { 1F79 } { 039F }
+ { 1F7A } { 03A5 }
+ { 1F7B } { 03A5 }
+ { 1F7C } { 03A9 }
+ { 1F7D } { 03A9 }
+ { 1F80 } { 1FBC }
+ { 1F81 } { 1FBC }
+ { 1F82 } { 1FBC }
+ { 1F83 } { 1FBC }
+ { 1F84 } { 1FBC }
+ { 1F85 } { 1FBC }
+ { 1F86 } { 1FBC }
+ { 1F87 } { 1FBC }
+ { 1F88 } { 1FBC }
+ { 1F89 } { 1FBC }
+ { 1F8A } { 1FBC }
+ { 1F8B } { 1FBC }
+ { 1F8C } { 1FBC }
+ { 1F8D } { 1FBC }
+ { 1F8E } { 1FBC }
+ { 1F8F } { 1FBC }
+ { 1F90 } { 1FCC }
+ { 1F91 } { 1FCC }
+ { 1F92 } { 1FCC }
+ { 1F93 } { 1FCC }
+ { 1F94 } { 1FCC }
+ { 1F95 } { 1FCC }
+ { 1F96 } { 1FCC }
+ { 1F97 } { 1FCC }
+ { 1F98 } { 1FCC }
+ { 1F99 } { 1FCC }
+ { 1F9A } { 1FCC }
+ { 1F9B } { 1FCC }
+ { 1F9C } { 1FCC }
+ { 1F9D } { 1FCC }
+ { 1F9E } { 1FCC }
+ { 1F9F } { 1FCC }
+ { 1FA0 } { 1FFC }
+ { 1FA1 } { 1FFC }
+ { 1FA2 } { 1FFC }
+ { 1FA3 } { 1FFC }
+ { 1FA4 } { 1FFC }
+ { 1FA5 } { 1FFC }
+ { 1FA6 } { 1FFC }
+ { 1FA7 } { 1FFC }
+ { 1FA8 } { 1FFC }
+ { 1FA9 } { 1FFC }
+ { 1FAA } { 1FFC }
+ { 1FAB } { 1FFC }
+ { 1FAC } { 1FFC }
+ { 1FAD } { 1FFC }
+ { 1FAE } { 1FFC }
+ { 1FAF } { 1FFC }
+ { 1FB0 } { 1FB8 }
+ { 1FB1 } { 1FB9 }
+ { 1FB2 } { 1FBC }
+ { 1FB3 } { 1FBC }
+ { 1FB4 } { 1FBC }
+ { 1FB6 } { 0391 }
+ { 1FB7 } { 1FBC }
+ { 1FB8 } { 1FB8 }
+ { 1FB9 } { 1FB9 }
+ { 1FBA } { 0391 }
+ { 1FBB } { 0391 }
+ { 1FBC } { 1FBC }
+ { 1FBD } { 1FBD }
+ { 1FC2 } { 1FCC }
+ { 1FC3 } { 1FCC }
+ { 1FC4 } { 1FCC }
+ { 1FC6 } { 0397 }
+ { 1FC7 } { 1FCC }
+ { 1FC8 } { 0395 }
+ { 1FC9 } { 0395 }
+ { 1FCA } { 0397 }
+ { 1FCB } { 0397 }
+ { 1FCC } { 1FCC }
+ { 1FD0 } { 1FD8 }
+ { 1FD1 } { 1FD9 }
+ { 1FD2 } { 03AA }
+ { 1FD3 } { 03AA }
+ { 1FD6 } { 0399 }
+ { 1FD7 } { 03AA }
+ { 1FD8 } { 1FD8 }
+ { 1FD9 } { 1FD9 }
+ { 1FDA } { 0399 }
+ { 1FDB } { 0399 }
+ { 1FE0 } { 1FE8 }
+ { 1FE1 } { 1FE9 }
+ { 1FE2 } { 03AB }
+ { 1FE3 } { 03AB }
+ { 1FE4 } { 03A1 }
+ { 1FE5 } { 03A1 }
+ { 1FE6 } { 03A5 }
+ { 1FE7 } { 03AB }
+ { 1FE8 } { 1FE8 }
+ { 1FE9 } { 1FE9 }
+ { 1FEA } { 03A5 }
+ { 1FEB } { 03A5 }
+ { 1FEC } { 1FEC }
+ { 1FF2 } { 1FFC }
+ { 1FF3 } { 1FFC }
+ { 1FF4 } { 1FFC }
+ { 1FF6 } { 03A9 }
+ { 1FF7 } { 1FFC }
+ { 1FF8 } { 039F }
+ { 1FF9 } { 039F }
+ { 1FFA } { 03A9 }
+ { 1FFB } { 03A9 }
+ { 1FFC } { 1FFC }
+ \q_recursion_tail ?
+ \q_recursion_stop
}
\group_end:
\group_begin:
@@ -34132,7 +34576,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npn \__text_purify_N_type:N #1
{
- \__text_if_recursion_tail_stop_do:Nn #1 { \__text_purify_end:w }
+ \__text_if_q_recursion_tail_stop_do:Nn #1 { \__text_purify_end:w }
\__text_purify_N_type_aux:N #1
}
\cs_new:Npn \__text_purify_N_type_aux:N #1
@@ -34144,7 +34588,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npn \__text_purify_math_search:NNN #1#2#3
{
- \__text_if_recursion_tail_stop_do:Nn #2
+ \__text_if_q_recursion_tail_stop_do:Nn #2
{ \__text_purify_math_cmd:N #1 }
\token_if_eq_meaning:NNTF #1 #2
{
@@ -34185,7 +34629,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npn \__text_purify_math_N_type:NNN #1#2#3
{
- \__text_if_recursion_tail_stop_do:Nn #3
+ \__text_if_q_recursion_tail_stop_do:Nn #3
{ \__text_purify_math_stop:Nw #1 }
\token_if_eq_meaning:NNTF #3 #2
{ \__text_purify_math_end:w }
@@ -34213,7 +34657,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npn \__text_purify_math_cmd:NN #1#2
{
- \__text_if_recursion_tail_stop_do:Nn #2
+ \__text_if_q_recursion_tail_stop_do:Nn #2
{ \__text_purify_replace:N #1 }
\cs_if_eq:NNTF #2 #1
{
@@ -34256,7 +34700,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npn \__text_purify_protect:N #1
{
- \__text_if_recursion_tail_stop_do:Nn #1 { \__text_purify_end:w }
+ \__text_if_q_recursion_tail_stop_do:Nn #1 { \__text_purify_end:w }
\__text_purify_loop:w
}
\cs_new:Npn \__text_purify_encoding:N #1
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
index b1818647345..88cd00c7caf 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{2022-07-15}%
+\def\ExplFileDate{2022-08-05}%
\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 a443e4cef68..98aeaab7b7f 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{2022-07-15}%
+\def\ExplFileDate{2022-08-05}%
\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 d75eba2b168..bb4e1763559 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{2022-07-15}%
+\def\ExplFileDate{2022-08-05}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%