summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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.pdfbin910529 -> 910339 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md10
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdfbin308420 -> 298116 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdfbin684116 -> 683797 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdfbin518609 -> 516478 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdfbin383526 -> 378266 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdfbin313477 -> 299358 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdfbin367974 -> 337262 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdfbin347930 -> 346725 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdfbin394367 -> 390902 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdfbin408796 -> 405966 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdfbin299509 -> 323194 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md13
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/expl3.pdfbin610339 -> 609936 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/interface3.pdfbin1793104 -> 1792518 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/interface3.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3doc.pdfbin565548 -> 565153 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdfbin151219 -> 150870 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news.pdfbin396222 -> 396222 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news01.pdfbin122959 -> 122959 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news02.pdfbin150919 -> 150919 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news03.pdfbin148747 -> 148747 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news04.pdfbin114754 -> 114754 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news05.pdfbin112524 -> 112524 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news06.pdfbin151591 -> 151591 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news07.pdfbin128344 -> 128344 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news08.pdfbin163484 -> 163484 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news09.pdfbin250159 -> 250159 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news10.pdfbin150302 -> 150302 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news11.pdfbin170102 -> 170102 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news12.pdfbin205020 -> 205020 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdfbin82720 -> 82720 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdfbin296530 -> 296131 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdfbin231378 -> 230975 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdfbin242164 -> 241772 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3.pdfbin7556690 -> 7559694 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3body.tex4
-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.dtx4
-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.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx55
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/expl3.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3basics.dtx10
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3bitset.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3box.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.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3debug.dtx16
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3doc.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3expan.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3file.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3flag.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-functions.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-parse.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-symbolic.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-types.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fparray.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.dtx32
-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.dtx139
-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.dtx16
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3tl-build.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3tl.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.def4
-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/l3experimental/l3benchmark/l3benchmark.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty32
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex82
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.ltx2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3debug.def12
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3doc.cls2
152 files changed, 428 insertions, 249 deletions
diff --git a/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md
index 0adcd7fb840..02dfdd3e134 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]
+## [2024-02-20]
+
+### Fixed
+- Naming of a variable in the `draw` code
+
## [2024-01-04]
### Changed
@@ -321,7 +326,8 @@ this project uses date-based 'snapshot' version identifiers.
- Include `l3backend` in file names
- Moved backend code to internal for each 'parent' module
-[Unreleased]: https://github.com/latex3/latex3/compare/2024-01-04...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-02-20...HEAD
+[2024-02-20]: https://github.com/latex3/latex3/compare/2024-01-04...2024-02-20
[2024-01-04]: https://github.com/latex3/latex3/compare/2023-11-09...2024-01-04
[2023-11-09]: https://github.com/latex3/latex3/compare/2023-11-04...2023-11-09
[2023-11-04]: https://github.com/latex3/latex3/compare/2023-10-23...2023-11-04
diff --git a/Master/texmf-dist/doc/latex/l3backend/README.md b/Master/texmf-dist/doc/latex/l3backend/README.md
index ad12f364be4..3bfc8234102 100644
--- a/Master/texmf-dist/doc/latex/l3backend/README.md
+++ b/Master/texmf-dist/doc/latex/l3backend/README.md
@@ -1,7 +1,7 @@
LaTeX3 Backend Drivers
======================
-Release 2024-01-04
+Release 2024-02-20
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 3617a446d20..c62351ab986 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/l3experimental/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
index 449a9889a6f..197fa4254d9 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
@@ -7,6 +7,13 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2024-02-20]
+
+### Fixed
+- Normalize `/` in `\sys_shell_split_ls:nN` on Windows: globs may use
+ ``\``, return values always contain `/`
+- Return paths relative to working directory in `\sys_shell_split_ls:nN` on Windows
+
## [2024-01-04]
### Changed
@@ -302,7 +309,8 @@ this project uses date-based 'snapshot' version identifiers.
- New `l3color` module using `xcolor`-like expression syntax
- New `l3draw` module, based on `pgf` layer of the TikZ system
-[Unreleased]: https://github.com/latex3/latex3/compare/2024-01-04...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-02-20...HEAD
+[2024-02-20]: https://github.com/latex3/latex3/compare/2024-01-04...2024-02-20
[2024-01-04]: https://github.com/latex3/latex3/compare/2023-12-08...2024-01-04
[2023-12-08]: https://github.com/latex3/latex3/compare/2023-11-01...2023-12-08
[2023-11-01]: https://github.com/latex3/latex3/compare/2023-10-10...2023-11-01
diff --git a/Master/texmf-dist/doc/latex/l3experimental/README.md b/Master/texmf-dist/doc/latex/l3experimental/README.md
index 1a4d3a46506..dc28bad6eed 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/README.md
+++ b/Master/texmf-dist/doc/latex/l3experimental/README.md
@@ -1,7 +1,7 @@
Experimental LaTeX3 Concepts
============================
-Release 2024-01-04
+Release 2024-02-20
Overview
--------
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
index 9da3c2ae156..2c8c9d36349 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
index db5ed768363..91237671cbd 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
index 4beda52c984..a0941015ed7 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf
index 42212b3f649..dd47e3b10fa 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdf
index 0898e6463c6..7f0af34a48e 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
index 367a84e099a..45bd5bd4c2b 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf
index 1d1c41221ab..c35e6f24b6c 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf b/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
index bee04ded965..a8e4ce7d9e3 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf b/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
index a633e46628b..b37d9194e4d 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf b/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
index 50375b414b3..d08bc869265 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
index ac413362377..eed4b5c3e1e 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
@@ -7,6 +7,16 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2024-02-20]
+
+### Changed
+- Improve error recovery when an invalid `prop` is used (PR \#1464)
+
+### Fixed
+- Restore `\__kernel_msg_...:nnx(xx)` for older `xparse` support
+- Prevent an infinite loop in `\debug_(on|off):n` (issue \#1442)
+- Require `\sys_ensure_backend:` is used in the preamble (issue \#1442)
+
## [2024-02-18]
### Changed
@@ -1677,7 +1687,8 @@ this project uses date-based 'snapshot' version identifiers.
- Step functions have been added for dim variables,
e.g. `\dim_step_inline:nnnn`
-[Unreleased]: https://github.com/latex3/latex3/compare/2024-02-18...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-02-20...HEAD
+[2024-02-20]: https://github.com/latex3/latex3/compare/2024-02-18...2024-02-20
[2024-02-18]: https://github.com/latex3/latex3/compare/2024-02-13...2024-02-18
[2024-02-13]: https://github.com/latex3/latex3/compare/2024-01-22...2024-02-13
[2024-01-22]: https://github.com/latex3/latex3/compare/2024-01-04...2024-01-22
diff --git a/Master/texmf-dist/doc/latex/l3kernel/README.md b/Master/texmf-dist/doc/latex/l3kernel/README.md
index 769204cdef2..93cd009b565 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/README.md
+++ b/Master/texmf-dist/doc/latex/l3kernel/README.md
@@ -1,7 +1,7 @@
LaTeX3 Programming Conventions
==============================
-Release 2024-02-18
+Release 2024-02-20
Overview
--------
diff --git a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
index 1117b707066..8468634aeea 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 9c0fc6973e4..973d5295751 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 63d687c9bda..985ab250977 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
@@ -58,7 +58,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-02-18}
+\date{Released 2024-02-20}
\pagenumbering{roman}
\maketitle
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf
index da818294793..99b165a5391 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 457ab48f9e3..b5ea68fdc73 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 fd20895dd26..fead4d5f9f6 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 db9c210133b..a6a77cbf566 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 90f997495b9..8ef3a6499f1 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 29726a457e0..9afc8bd99d1 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 0497dfdd706..0d2a7c35313 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 f3ff96748c1..0fceb434730 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 f79e8a7b973..61ebc770ff1 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 cdb64db395b..3f2d7e51f46 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 92dcba924e6..43104af4c3e 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 03bc119504b..429016e9f6e 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 e63e5c59352..8a19d48d886 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 7169cfa33a8..2fbf1ed30b2 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 4ee15a6eee9..0e0c63f2be6 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.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf
index 7aaca4d8317..281bc5dc710 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 e51d369b0bf..8c346584409 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 98b50b2f30d..81590ff7687 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-02-18}
+\date{Released 2024-02-20}
\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 3bdc707c38e..4e1be073a9d 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 2b605478d0a..e16dec07046 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-02-18}
+\date{Released 2024-02-20}
\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 93e859b252a..a1e571ac5cd 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 c9393940ad5..600709d762f 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-02-18}
+\date{Released 2024-02-20}
\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 f6608455983..6350700965b 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 0527b2c6ded..69761fd7f30 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/source3.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/source3.tex
@@ -57,7 +57,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-02-18}
+\date{Released 2024-02-20}
\pagenumbering{roman}
\maketitle
diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3body.tex b/Master/texmf-dist/doc/latex/l3kernel/source3body.tex
index 1e396b15fbf..84712962276 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/source3body.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/source3body.tex
@@ -311,8 +311,6 @@ Variables end with a short identifier to show the variable type:
\item[\texttt{int}] Integer-valued count register.
\item[\texttt{muskip}] \enquote{Rubber} lengths for use in
mathematics.
- \item[\texttt{seq}] \enquote{Sequence}: a data-type used to implement
- lists (with access at both ends) and stacks.
\item[\texttt{skip}] \enquote{Rubber} lengths.
\item[\texttt{str}] String variables: contain character data.
\item[\texttt{tl}] Token list variables: placeholder for a token list.
@@ -333,6 +331,8 @@ following variable types:
\item[\texttt{prop}] Property list: analogue of dictionary or
associative arrays in other languages.
\item[\texttt{regex}] Regular expression.
+ \item[\texttt{seq}] \enquote{Sequence}: a data type used to implement
+ lists (with access at both ends) and stacks.
\end{description}
\subsection{Scratch variables}
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx
index 948a9eadfcd..c80d51e06d9 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
@@ -70,27 +70,27 @@
% \begin{macrocode}
\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-dvipdfmx.def}{2024-01-04}{}
+ {l3backend-dvipdfmx.def}{2024-02-20}{}
{L3 backend support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-dvips.def}{2024-01-04}{}
+ {l3backend-dvips.def}{2024-02-20}{}
{L3 backend support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-dvisvgm.def}{2024-01-04}{}
+ {l3backend-dvisvgm.def}{2024-02-20}{}
{L3 backend support: dvisvgm}
%</dvisvgm>
%<*luatex>
- {l3backend-luatex.def}{2024-01-04}{}
+ {l3backend-luatex.def}{2024-02-20}{}
{L3 backend support: PDF output (LuaTeX)}
%</luatex>
%<*pdftex>
- {l3backend-pdftex.def}{2024-01-04}{}
+ {l3backend-pdftex.def}{2024-02-20}{}
{L3 backend support: PDF output (pdfTeX)}
%</pdftex>
%<*xetex>
- {l3backend-xetex.def}{2024-01-04}{}
+ {l3backend-xetex.def}{2024-02-20}{}
{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 7dbacb0044d..4b0059c2b9e 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx
index 94a09ae9160..907ca91c6ee 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx
index 93a4c09b44e..ee33a717fef 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
@@ -943,7 +943,7 @@
"url( \c_hash_str l3cp \int_use:N \g__kernel_clip_path_int)"
}
}
- \tl_gclear:N \g_@@_path_tl
+ \tl_gclear:N \g_@@_backend_path_tl
\bool_gset_false:N \g_@@_draw_clip_bool
}
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx
index b1b7e6ea896..cb959169d99 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx
index a16f8cee31a..d7b6d4c37c9 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx
index 728b18ca6de..6cc972f7d84 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx
index 19ab02daaa4..472b7adefae 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx b/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
index 2eb979c6603..58d4da8bb72 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
@@ -122,7 +122,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3benchmark}{2024-01-04}{}
+\ProvidesExplPackage{l3benchmark}{2024-02-20}{}
{L3 Experimental benchmarking}
% \end{macrocode}
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
index 8f481aada9b..992acaa05c1 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx
index 6e71f93adee..1244dfa0ec3 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
index 735db2d23e6..e869351f6bc 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
index 19e69d4b388..0cb0fd65079 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
index 7906bc12e95..56ce949b240 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
index 0b8f731ca5a..c929e86aa7a 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
index e3f6dba4528..aef5c2111d7 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
index df9f07af18a..8e9143420ed 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
index 2fae7afc746..2bfa4e00af2 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
@@ -110,7 +110,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
@@ -1181,7 +1181,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3draw}{2024-01-04}{}
+\ProvidesExplPackage{l3draw}{2024-02-20}{}
{L3 Experimental core drawing support}
% \end{macrocode}
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx b/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx
index 9f59b4ec057..ccb6f9669ba 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
@@ -184,7 +184,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3graphics}{2024-01-04}{}
+\ProvidesExplPackage{l3graphics}{2024-02-20}{}
{L3 Experimental graphics inclusion support}
% \end{macrocode}
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx b/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx
index f4abdacd814..ba251f971d3 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
@@ -96,7 +96,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3opacity}{2024-01-04}{}
+\ProvidesExplPackage{l3opacity}{2024-02-20}{}
{L3 Experimental opacity support}
% \end{macrocode}
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
index 6304ce3ec23..24aad778725 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
@@ -166,7 +166,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3str-format}{2024-01-04}{}
+\ProvidesExplPackage{l3str-format}{2024-02-20}{}
{L3 Experimental string formatting}
% \end{macrocode}
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx b/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx
index ad1733ab77d..186a03d87ad 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
@@ -126,14 +126,15 @@
% enabled, no action is taken.
% \end{function}
%
-% \begin{function}[added = 2018-07-28]{\sys_shell_split_ls:nN}
+% \begin{function}[added = 2018-07-28, updated = 2024-02-20]
+% {\sys_shell_split_ls:nN}
% \begin{syntax}
% \cs{sys_shell_split_ls:N} \Arg{glob} \meta{seq}
% \end{syntax}
% Sets the \meta{seq var} to contain one entry per directory listing
-% (equivalent to |ls -1| or |dir /b|) as specified by the \meta{glob}: the
-% entries are strings. If unrestricted shell is not enabled, no action is
-% taken.
+% (equivalent to |ls -1| or |dir /b /s| with relative paths) as specified by
+% the \meta{glob}: the entries are strings. If unrestricted shell is not
+% enabled, no action is taken.
% \end{function}
%
% \end{documentation}
@@ -151,7 +152,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3sys-shell}{2024-01-04}{}
+\ProvidesExplPackage{l3sys-shell}{2024-02-20}{}
{L3 Experimental system shell functions}
% \end{macrocode}
%
@@ -328,9 +329,10 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{variable}{\l_@@_tmp_tl}
+% \begin{variable}{\l_@@_tmp_seq, \l_@@_tmp_tl}
% Scratch space.
% \begin{macrocode}
+\seq_new:N \l_@@_tmp_seq
\tl_new:N \l_@@_tmp_tl
% \end{macrocode}
% \end{variable}
@@ -366,6 +368,8 @@
% \end{macro}
%
% \begin{macro}{\sys_shell_split_ls:nN}
+% \begin{macro}{\@@_shell_split_ls:nN}
+% \begin{macro}{\@@_shell_split_ls:w}
% Getting a one-per-line listing is easy enough. We need to set
% \cs{ExplSyntaxOff} as that deals with the end-of-line character. After that,
% just a case of tidying up. The listing always ends in |^^M| so there is an
@@ -375,10 +379,11 @@
{
\sys_if_shell_unrestricted:T
{
- \exp_not:N \sys_get_shell:nnN
+ \exp_not:N \exp_args:Ne \exp_not:N \sys_get_shell:nnN
{
\sys_if_platform_unix:T { ls~-1~ #1 }
- \sys_if_platform_windows:T { dir~/b~ #1 }
+ \sys_if_platform_windows:T
+ { dir~/b~/s~ \exp_not:N \@@_path_to_win:n {#1} }
}
{
\ExplSyntaxOff
@@ -395,10 +400,42 @@
\seq_pop_right:NN #2 \exp_not:N \l_@@_tmp_tl
\exp_not:N \tl_if_blank:eTF { \exp_not:N \seq_item:Nn #2 { 1 } }
{ \seq_clear:N #2 }
+ \sys_if_platform_windows:T
+ {
+ \sys_get_shell_pwd:N \exp_not:N \l_@@_tmp_tl
+ \exp_not:N \exp_args:NV \exp_not:N \@@_shell_split_ls:nN
+ \exp_not:N \l_@@_tmp_tl #2
+ }
+ }
+ }
+% \end{macrocode}
+% On Windows, we can either get just file names (|dir /b|) or file names with
+% complete paths (|dir /s /b|), but not file names with relative paths in
+% a simple way. So we take the full paths and trim off the current working
+% directory. Normalization gives the same results as |ls|, hopefully.
+% \begin{macrocode}
+\sys_if_platform_windows:T
+ {
+ \cs_new_protected:Npe \@@_shell_split_ls:nN #1#2
+ {
+ \cs_set:Npn \exp_not:N \@@_shell_split_ls:w #1 \c_backslash_str { }
+ \seq_set_eq:NN \exp_not:N \l_@@_tmp_seq #2
+ \seq_clear:N #2
+ \seq_map_inline:Nn \exp_not:N \l_@@_tmp_seq
+ {
+ \tl_set:Ne \exp_not:N \l_@@_tmp_tl
+ { \exp_not:N \@@_shell_split_ls:w ##1 }
+ \tl_replace_all:Nnn \exp_not:N \l_@@_tmp_tl
+ { \c_backslash_str } { / }
+ \seq_put_right:NV #2 \exp_not:N \l_@@_tmp_tl
+ }
}
+ \cs_new:Npn \@@_shell_split_ls:w { }
}
% \end{macrocode}
% \end{macro}
+% \end{macro}
+% \end{macro}
%
% \begin{macrocode}
%</package>
diff --git a/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx b/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
index a18ade7abd8..c84f21ae973 100644
--- a/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
@@ -672,7 +672,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xcoffins}{2024-01-04}{}
+\ProvidesExplPackage{xcoffins}{2024-02-20}{}
{L3 Experimental design level coffins}
% \end{macrocode}
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx b/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
index 3bafa455b4b..724d0d151d2 100644
--- a/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
@@ -61,7 +61,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
@@ -686,7 +686,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3galley}{2024-01-04}{}
+\ProvidesExplPackage{l3galley}{2024-02-20}{}
{L3 Experimental galley code}
% \end{macrocode}
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx b/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
index 76e8242f4e9..25344df931a 100644
--- a/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-02-20}
%
% \maketitle
%
@@ -731,7 +731,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xgalley}{2024-01-04}{}
+\ProvidesExplPackage{xgalley}{2024-02-20}{}
{L3 Experimental galley}
\RequirePackage{xtemplate,l3galley}
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3kernel/expl3.dtx b/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
index f09ff8a4378..2c3f5f892a3 100644
--- a/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
@@ -24,7 +24,7 @@
%
%<*driver|generic|package|2ekernel>
%</driver|generic|package|2ekernel>
-\def\ExplFileDate{2024-02-18}%
+\def\ExplFileDate{2024-02-20}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx b/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
index 0bfa11edaf2..67bd4b8791a 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
@@ -1849,13 +1849,15 @@
% \begin{macrocode}
\cs_set_protected:Npn \debug_on:n #1
{
- \sys_load_debug:
- \debug_on:n {#1}
+ \sys_load_debug:
+ \cs_if_exist:NT \@@_all_on:
+ { \debug_on:n {#1} }
}
\cs_set_protected:Npn \debug_off:n #1
{
\sys_load_debug:
- \debug_off:n {#1}
+ \cs_if_exist:NT \@@_all_on:
+ { \debug_off:n {#1} }
}
% \end{macrocode}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3bitset.dtx b/Master/texmf-dist/source/latex/l3kernel/l3bitset.dtx
index 38375db79bd..ece9fbfa6cb 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3bitset.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3bitset.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx b/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
index 42799fd0512..9583f2548dd 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3box.dtx b/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
index 5582196acde..df79b10cc7a 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx b/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx
index 43639710ca7..311b9cc88b5 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx b/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
index a017b91c033..9f2eda4560f 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx b/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
index 3647bb7d771..8ba7b27aa98 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3color.dtx b/Master/texmf-dist/source/latex/l3kernel/l3color.dtx
index 9d07855fedf..f3537307b2a 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3color.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx b/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx
index af4afcdf690..82c95f7ff87 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
@@ -69,7 +69,7 @@
%
% Standard file identification.
% \begin{macrocode}
-\ProvidesExplFile{l3debug.def}{2024-02-18}{}{L3 Debugging support}
+\ProvidesExplFile{l3debug.def}{2024-02-20}{}{L3 Debugging support}
% \end{macrocode}
%
% \begin{variable}{\s_@@_stop}
@@ -105,7 +105,7 @@
%
% \begin{macro}{\debug_on:n, \debug_off:n, \@@_all_on:, \@@_all_off:}
% \begin{macrocode}
-\cs_set_protected:Npn \debug_on:n #1
+\cs_gset_protected:Npn \debug_on:n #1
{
\exp_args:No \clist_map_inline:nn { \tl_to_str:n {#1} }
{
@@ -113,7 +113,7 @@
{ \msg_error:nnn { debug } { debug } {##1} }
}
}
-\cs_set_protected:Npn \debug_off:n #1
+\cs_gset_protected:Npn \debug_off:n #1
{
\exp_args:No \clist_map_inline:nn { \tl_to_str:n {#1} }
{
@@ -154,12 +154,12 @@
% \enquote{non-suspended} version of \cs{@@_suspended:T}.
% \begin{macrocode}
\tl_new:N \l_@@_suspended_tl { }
-\cs_set_protected:Npn \debug_suspend:
+\cs_gset_protected:Npn \debug_suspend:
{
\tl_put_right:Nn \l_@@_suspended_tl { . }
\cs_set_eq:NN \@@_suspended:T \use:n
}
-\cs_set_protected:Npn \debug_resume:
+\cs_gset_protected:Npn \debug_resume:
{
\__kernel_tl_set:Nx \l_@@_suspended_tl
{ \tl_tail:N \l_@@_suspended_tl }
@@ -710,7 +710,6 @@
%
% Patching both second and third arguments.
% \begin{macrocode}
-% \tracingall
\__kernel_patch:nnn
{
\__kernel_chk_var_exist:N #2
@@ -729,7 +728,6 @@
\tl_concat:NNN
\tl_gconcat:NNN
}
-% \tracingnone
% \end{macrocode}
%
%
@@ -1461,7 +1459,7 @@
without~first~having: \\
\ \ \tl_new:N ~ #1 \\
\\
- LaTeX~will~create~the~variable~and~continue.
+ LaTeX~will~continue,~creating~the~variable~where~it~is~the~one~being~set.
}
% \end{macrocode}
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx b/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
index 50c5edd996b..25dd05fb0c8 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx b/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
index 9e5c4b54492..695e47a444a 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
@@ -71,7 +71,7 @@ and all files in that bundle must be distributed together.
% This isn't included in the typeset documentation because it's a bit
% ugly:
%<*class>
-\ProvidesExplClass{l3doc}{2024-02-18}{}
+\ProvidesExplClass{l3doc}{2024-02-20}{}
{L3 Experimental documentation class}
%</class>
% \fi
@@ -84,7 +84,7 @@ and all files in that bundle must be distributed together.
% require you to do updates, if the class changes.}}
%
% \author{\Team}
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
% \maketitle
% \tableofcontents
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx b/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
index 08823150c06..fe60a6f312e 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx b/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
index 1af40338cfc..aaf0d04d29f 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3file.dtx b/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
index 26ff4b3cf4c..1159101ca5f 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx b/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
index e182bd91f86..7604c2c2ba5 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
index acec6c1b92c..cb209349049 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
% \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 306c35b86c3..fd75e1bb5a1 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
index f5460d81df7..76b7a8cdb28 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
index bdd6f170034..5b95dc543e9 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
index ecc9f0561cb..571cb9864a9 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
index 79490a1f5ac..51e747a7449 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-functions.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-functions.dtx
index 5ac7deff34a..efedd0fffba 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-functions.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-functions.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
index c433b72d2d9..a0984d5f362 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
index 7d7c9cabf4a..a313f9b0bef 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
index 8ca58cc5a7c..a2c8eb81db8 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
index 7bdf0c3efdd..a19ce341958 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-symbolic.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-symbolic.dtx
index c771c69d155..f2073b5e52d 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-symbolic.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-symbolic.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
index 693af9e981c..70e41d5a4d3 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
% \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 28a70763a4e..98cf15b281f 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-types.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-types.dtx
index 8a621d70963..23c7f6ac4e7 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-types.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-types.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
index 9ccc42b1dcc..5983dc2f481 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
index 4c0460d0761..97ebfe22953 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3int.dtx b/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
index 728804f5f48..0eacdb25e7f 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx b/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
index 0c9f78db999..4dd308a5c5c 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx b/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
index 03006969295..be8aed20d9e 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
index 2b5327c9bb1..9000132775f 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx b/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx
index 3c7cfc2937b..e7970a7e2fa 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx b/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
index ab77d9dab88..f112b99215a 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx b/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
index efa741f3b8f..75ba84a6ff3 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
@@ -1915,25 +1915,25 @@
%
% \begin{macro}
% {
-% \__kernel_msg_info:nnee ,
-% \__kernel_msg_warning:nne ,
-% \__kernel_msg_warning:nnee ,
-% \__kernel_msg_error:nne ,
-% \__kernel_msg_error:nnee ,
-% \__kernel_msg_error:nneee
+% \__kernel_msg_info:nnxx ,
+% \__kernel_msg_warning:nnx ,
+% \__kernel_msg_warning:nnxx ,
+% \__kernel_msg_error:nnx ,
+% \__kernel_msg_error:nnxx ,
+% \__kernel_msg_error:nnxxx
% }
% \begin{macrocode}
-\cs_new_protected:Npn \__kernel_msg_info:nnee #1
+\cs_new_protected:Npn \__kernel_msg_info:nnxx #1
{ \msg_info:nnee { LaTeX / #1 } }
-\cs_new_protected:Npn \__kernel_msg_warning:nne #1
+\cs_new_protected:Npn \__kernel_msg_warning:nnx #1
{ \msg_warning:nne { LaTeX / #1 } }
-\cs_new_protected:Npn \__kernel_msg_warning:nnee #1
+\cs_new_protected:Npn \__kernel_msg_warning:nnxx #1
{ \msg_warning:nnee { LaTeX / #1 } }
-\cs_new_protected:Npn \__kernel_msg_error:nne #1
+\cs_new_protected:Npn \__kernel_msg_error:nnx #1
{ \msg_error:nne { LaTeX / #1 } }
-\cs_new_protected:Npn \__kernel_msg_error:nnee #1
+\cs_new_protected:Npn \__kernel_msg_error:nnxx #1
{ \msg_error:nnee { LaTeX / #1 } }
-\cs_new_protected:Npn \__kernel_msg_error:nneee #1
+\cs_new_protected:Npn \__kernel_msg_error:nnxxx #1
{ \msg_error:nneee { LaTeX / #1 } }
% \end{macrocode}
% \end{macro}
@@ -2322,6 +2322,12 @@
Run-time~backend~selection~may~only~be~carried~out~once~during~a~run.~
This~second~attempt~to~set~them~will~be~ignored.
}
+\msg_new:nnnn { sys } { load-debug-in-preamble }
+ { Load~debug~support~in~the~preamble. }
+ {
+ Debugging~requires~support~loaded~in~the~preamble: \\
+ Use~\sys_load_debug:~before~\begin{document}.
+ }
\msg_new:nnnn { sys } { wrong-backend }
{ Backend~request~inconsistent~with~engine:~using~'#2'~backend. }
{
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
index 72d11a4d9ed..0782a08aa6c 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx b/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx
index 75f88eca389..0310e7c6ad6 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
index a90e86669a5..e596e4cfb7c 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
index acab35c56ec..dcf14be5367 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
@@ -1504,64 +1504,103 @@
% consecutive entries \cs{@@_pair:wn} \meta{key_i} \cs{s_@@}
% \Arg{value_i}. If the \meta{key} is present in the \meta{property
% list} then the \meta{true code} is left in the input stream, with
-% |#2|, |#3|, and |#4| replaced by the \meta{entries before},
+% |#1|, |#2|, and |#3| replaced by the \meta{entries before},
% \meta{value}, and \meta{entries after}. If the \meta{key} is not
% present in the \meta{property list} then the \meta{false code} is left
% in the input stream. Only the \meta{true code} is used in the
% replacement text of a macro defined internally, which requires
% |##|~doubling.
%
-% \begin{macro}{\@@_split:NnTFn}
-% \begin{macro}{\@@_split_aux:NnTFn}
-% \begin{macro}{\@@_split_aux:w}
-% The aim is to split the \meta{property list} at the given \meta{key}
-% into the \meta{extract_1} before the key--value pair, the
-% \meta{value} associated with the \meta{key} and the \meta{extract_2}
-% after the key--value pair. This is done using a delimited function,
-% whose definition is as follows, where the \meta{key} is turned into
-% a string.
+% \begin{macro}
+% {
+% \@@_split:NnTFn, \@@_split_aux:nNTFn, \@@_split_test:wn,
+% \@@_split_flat:w, \@@_split_linked:w, \@@_split_wrong:Nw
+% }
+% The aim is to distinguish four cases: a flat prop that contains the
+% given \meta{key}, a flat prop that does not contain it, a linked
+% prop, and an invalid prop. The last case includes those that are
+% set to \tn{relax} by \texttt{c}-expansion, as well as unrelated
+% token list variables since these unfortunately used to
+% \enquote{work} in earlier implementations.
+% In the first three cases we run the \texttt{T}, \texttt{F}, and
+% \texttt{n} arguments, and in the last case we raise an error, set
+% the variable to a known state (empty prop), and run the \texttt{F}
+% code (some conditionals such as \cs{prop_pop:NnNTF} otherwise blow
+% up pretty badly).
+%
+% The first distinction between these cases is done by
+% \cs{@@_split_test:wn}, which looks for the argument after \cs{s_@@}.
+% For a flat prop it will be \cs{@@_chk:w}, which leads to running
+% \cs{@@_split_flat:w}, explained below. For a linked prop it is the
+% prefix, consisting of characters, so we end up running
+% \cs{@@_split_linked:w}, which cleans up and selects the
+% aforementioned \texttt{n} argument. For invalid props, or rather,
+% variables that do not contain \cs{s_@@}, the argument includes
+% \cs{fi:}, and we end up calling \cs{@@_split_wrong:Nw}, which calls
+% \cs{prop_show:N} to raise a detailed error stating how the variable
+% is wrong.
+%
+% Let us return to \cs{@@_split_flat:w}. This function is defined
+% dynamically as
% \begin{quote}
-% \cs{cs_set:Npn} \cs{@@_split_aux:w} |#1| \cs{@@_chk:w} |#2| \\
-% \quad \cs{@@_pair:wn} \meta{key} \cs{s_@@} |#3| \\
-% \quad |#4| \cs{s_@@_mark} |#5| |#6| \cs{s_@@_stop} \\
-% \quad |{| |#5| \Arg{true code} |}|
+% \cs{cs_set:Npn} \cs{@@_split_flat:w} \cs{@@_split_linked:w} |#1| \\
+% \quad \cs{@@_pair:wn} \meta{key} \cs{s_@@} |#2| \\
+% \quad |#3| \cs{s_@@_mark} |#4| |#5| \cs{s_@@_stop} \\
+% \quad |{| |#4| \Arg{true code} |}|
% \end{quote}
-%
-% If the \meta{key} is present in the property list,
-% \cs{@@_split_aux:w}'s |#2| is the part before the \meta{key}, |#3|
-% is the \meta{value}, |#4| is the part after the \meta{key}, |#5| is
-% \cs{use_i:nnn}, and |#6| is additional tokens that we do not care
-% about. The \meta{true code} is left in the input stream, and can
-% use the parameters |#2|, |#3|, |#4| for the three parts of the
-% property list as desired. Namely, the original property list is in
-% this case \cs{s_@@} \cs{@@_chk:w} |#2| \cs{@@_pair:wn} \meta{key}
-% \cs{s_@@} |{#3}| |#4|.
-%
-% If the \meta{key} is not there, then the \meta{function} is
-% \cs{use_ii:nnn}, which keeps the \meta{false code}. If the property
-% list uses the doubly-linked list storage, then the argument
-% delimited by \cs{@@_chk:w} includes the whole property list, |#2|,
-% |#3|, |#4| are empty, and |#5| is \cs{use_iii:nnn}. In all three
-% cases, the appopriate code among \meta{true code}, \meta{false
-% code}, and \meta{linked code} is run.
+% Its job is to seek the \meta{key} in the property list (known to be
+% flat at this stage) by using an argument |#1| delimited essentially
+% by that key. If indeed the variable contained the \meta{key}, then
+% |#1|~is the \meta{extract_1} before the key--value pair, |#2|~is the
+% \meta{value} associated with the \meta{key}, |#3|~is the
+% \meta{extract_2} after the key--value pair, |#4|~is \cs{use_i:nnn},
+% and we run \cs{use_i:nnn} \Arg{true code} \Arg{false code} \Arg{link
+% code}, selecting the \meta{true code}. Otherwise, the whole
+% property list together with \cs{s_@@_mark} \cs{use_i:nnn} is taken
+% in as |#1|, then |#2| is some tokens |?| \cs{fi:}
+% \cs{@@_split_wrong:Nw} \meta{variable} that were only useful in the
+% case of invalid props, |#3|~is empty, and most importantly |#4| is
+% \cs{use_ii:nnn}. This command selects the \meta{false code}.
+%
+% Note that we define \cs{@@_split_flat:w} in all cases even though it
+% is only used in the flat case. Indeed, to avoid taking in the whole
+% property list (which may be large) as an argument more than strictly
+% necessary, we would have to keep the \meta{true code} positioned
+% before the expansion of the prop variable in order to use it in the
+% definition. The only way to do that is to store it using an
+% assignment so we might as well just perform the assignment that we
+% can actually use in the flat case.
% \begin{macrocode}
\cs_new_protected:Npn \@@_split:NnTFn #1#2
- { \exp_args:NNo \@@_split_aux:NnTFn #1 { \tl_to_str:n {#2} } }
-\cs_new_protected:Npn \@@_split_aux:NnTFn #1#2#3
- {
- \cs_set:Npn \@@_split_aux:w ##1 \@@_chk:w ##2
- \@@_pair:wn #2 \s_@@ ##3 ##4 \s_@@_mark ##5 ##6 \s_@@_stop
- { ##5 {#3} }
- \exp_after:wN \@@_split_aux:w #1 \s_@@_mark \use_i:nnn
- \@@_pair:wn #2 \s_@@ { } \s_@@_mark \use_ii:nnn
- \@@_chk:w
- \@@_pair:wn #2 \s_@@ { } \s_@@_mark \use_iii:nnn
+ {
+ \exp_after:wN \@@_split_aux:nNTFn
+ \exp_after:wN { \tl_to_str:n {#2} } #1
+ }
+\cs_new_protected:Npn \@@_split_aux:nNTFn #1#2#3
+ {
+ \cs_set:Npn \@@_split_flat:w \@@_split_linked:w ##1
+ \@@_pair:wn #1 \s_@@ ##2 ##3 \s_@@_mark ##4 ##5 \s_@@_stop
+ { ##4 {#3} }
+ \exp_after:wN \@@_split_test:wn #2 \s_@@_mark \use_i:nnn
+ \@@_pair:wn #1 \s_@@ { ? \fi: \@@_split_wrong:Nw #2 }
+ \s_@@_mark \use_ii:nnn
\s_@@_stop
}
+\cs_new:Npn \@@_split_flat:w { }
+\cs_new_protected:Npn \@@_split_test:wn #1 \s_@@ #2
+ {
+ \if_meaning:w \@@_chk:w #2 \exp_after:wN \@@_split_flat:w \fi:
+ \@@_split_linked:w
+ }
+\cs_new_protected:Npn \@@_split_linked:w #1 \s_@@_stop #2#3 {#3}
+\cs_new_protected:Npn \@@_split_wrong:Nw #1#2 \s_@@_stop #3#4
+ {
+ \prop_show:N #1
+ \cs_gset_eq:NN #1 \c_empty_prop
+ #3
+ }
% \end{macrocode}
% \end{macro}
-% \end{macro}
-% \end{macro}
%
% \begin{macro}[tested = m3prop002]
% {
@@ -1611,7 +1650,7 @@
\cs_new_protected:Npn \@@_get:NnnTF #1#2#3#4#5
{
\@@_split:NnTFn #1 {#2}
- { #3 {##3} #4 }
+ { #3 {##2} #4 }
{#5}
{ \exp_after:wN \@@_get_linked:w #1 {#2} {#3} {#4} {#5} }
}
@@ -1715,8 +1754,8 @@
{
\@@_split:NnTFn #1 {#2}
{
- #4 #1 { \exp_not:n { \s_@@ \@@_chk:w ##2 ##4 } }
- #5 {##3}
+ #4 #1 { \exp_not:n { \s_@@ \@@_chk:w ##1 ##3 } }
+ #5 {##2}
#6
}
{#7}
@@ -2000,8 +2039,8 @@
{
#1 #2 #3
{
- \s_@@ \@@_chk:w \exp_not:n {##2}
- \l_@@_internal_tl \exp_not:n {##4}
+ \s_@@ \@@_chk:w \exp_not:n {##1}
+ \l_@@_internal_tl \exp_not:n {##3}
}
}
{ #2 #3 { \exp_not:o {#3} \l_@@_internal_tl } }
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx b/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
index e29563a0545..c465fa251c8 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx b/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
index 2a7e996eddb..428870c4534 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx b/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
index 2eeaf3386ea..c200bf21f9e 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx b/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
index 0d8ec55663b..c0dfc22a37b 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx b/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
index 309bbdc4bbc..b96e3f3b2bd 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx b/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx
index 75c3e14ee20..e7b7ecf44dd 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3str.dtx b/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
index ca31ee72ebf..827cc994f5b 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
index 32de4338c55..9a0fb8dcf3f 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
@@ -691,7 +691,8 @@
% \end{variable}
%
% \begin{macro}{\sys_load_debug:}
-% Simple.
+% The most complicated thing here is that we can only use
+% \cs{__kernel_sys_configuration_load:n} in the preamble in \LaTeX{}.
% \begin{macrocode}
\cs_new_protected:Npn \sys_load_debug:
{
@@ -699,6 +700,17 @@
{ \__kernel_sys_configuration_load:n { l3debug } }
\bool_gset_true:N \g_@@_debug_bool
}
+\cs_if_exist:NT \@expl@finalise@setup@@@@
+ {
+ \tl_gput_right:Nn \@expl@finalise@setup@@@@
+ {
+ \tl_gput_right:Nn \@kernel@after@begindocument
+ {
+ \cs_gset_protected:Npn \sys_load_debug:
+ { \msg_error:nn { sys } { load-debug-in-preamble } }
+ }
+ }
+ }
% \end{macrocode}
% \end{macro}
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
index 3d73b8d5d67..8a5677806c3 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx
index 4ae250c2418..fff01a52551 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx
index 35a63c0320d..6de37faa622 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text.dtx
index 91df04a4b82..bdbd7c8d278 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3text.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3text.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
index 62ce80c1457..776b360434b 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl-build.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl-build.dtx
index 4a2b44b2878..1fc841ca783 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3tl-build.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3tl-build.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
index c1391c9de12..ed83e3bc815 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3token.dtx b/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
index a5a225ab8bf..b11e4859db0 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx b/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
index fd4171ffaf1..b4a70b24adb 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-18}
+% \date{Released 2024-02-20}
%
% \maketitle
%
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
index afe957ed7e7..128c0026999 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvipdfmx.def}{2024-01-04}{}
+ {l3backend-dvipdfmx.def}{2024-02-20}{}
{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 6db01a86274..b808ec8c6de 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvips.def}{2024-01-04}{}
+ {l3backend-dvips.def}{2024-02-20}{}
{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 f4b98af1bec..a51db469052 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvisvgm.def}{2024-01-04}{}
+ {l3backend-dvisvgm.def}{2024-02-20}{}
{L3 backend support: dvisvgm}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
@@ -403,7 +403,7 @@
"url( \c_hash_str l3cp \int_use:N \g__kernel_clip_path_int)"
}
}
- \tl_gclear:N \g__draw_path_tl
+ \tl_gclear:N \g__draw_backend_path_tl
\bool_gset_false:N \g__draw_draw_clip_bool
}
\cs_new_protected:Npn \__draw_backend_dash_pattern: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 7130f0ed0c6..e4369908111 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-luatex.def}{2024-01-04}{}
+ {l3backend-luatex.def}{2024-02-20}{}
{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 d53a8f49dae..0258ebe3284 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-pdftex.def}{2024-01-04}{}
+ {l3backend-pdftex.def}{2024-02-20}{}
{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 1c208ea2c34..bab5a7d20ce 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-xetex.def}{2024-01-04}{}
+ {l3backend-xetex.def}{2024-02-20}{}
{L3 backend support: XeTeX}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty b/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
index 433092f94e3..0c4871ea36f 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
@@ -20,7 +20,7 @@
%%
%% File: l3benchmark.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3benchmark}{2024-01-04}{}
+\ProvidesExplPackage{l3benchmark}{2024-02-20}{}
{L3 Experimental benchmarking}
\fp_new:N \g_benchmark_duration_target_fp
\fp_gset:Nn \g_benchmark_duration_target_fp { 1 }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
index 15e008bfbe1..a38d6f149d1 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
@@ -29,7 +29,7 @@
%% File: l3draw.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3draw}{2024-01-04}{}
+\ProvidesExplPackage{l3draw}{2024-02-20}{}
{L3 Experimental core drawing support}
\scan_new:N \s__draw_mark
\scan_new:N \s__draw_stop
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty b/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty
index e3f59fdfb17..5ed4c89cc3b 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: l3graphics.dtx
-\ProvidesExplPackage{l3graphics}{2024-01-04}{}
+\ProvidesExplPackage{l3graphics}{2024-02-20}{}
{L3 Experimental graphics inclusion support}
\dim_new:N \l__graphics_internal_dim
\ior_new:N \l__graphics_internal_ior
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty b/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty
index fd33b834ec2..0a2efdb9e64 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty
@@ -20,7 +20,7 @@
%%
%% File: l3opacity.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3opacity}{2024-01-04}{}
+\ProvidesExplPackage{l3opacity}{2024-02-20}{}
{L3 Experimental opacity support}
\cs_new_protected:Npn \opacity_select:n #1
{ \__opacity_select:nN {#1} \__opacity_backend_select:n }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
index e4037a20166..056a8239407 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
@@ -20,7 +20,7 @@
%%
%% File: l3str-format.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3str-format}{2024-01-04}{}
+\ProvidesExplPackage{l3str-format}{2024-02-20}{}
{L3 Experimental string formatting}
\cs_generate_variant:Nn \use:nn { nf }
\cs_generate_variant:Nn \use:nnn { fnf }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty b/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
index 2524684f225..f08e91bba4b 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
@@ -20,7 +20,7 @@
%%
%% File: l3sys-shell.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3sys-shell}{2024-01-04}{}
+\ProvidesExplPackage{l3sys-shell}{2024-02-20}{}
{L3 Experimental system shell functions}
\scan_new:N \s__sys_stop
\quark_new:N \q__sys_nil
@@ -132,6 +132,7 @@
}
}
}
+\seq_new:N \l__sys_tmp_seq
\tl_new:N \l__sys_tmp_tl
\cs_new_protected:Npe \sys_get_shell_pwd:N #1
{
@@ -158,10 +159,11 @@
{
\sys_if_shell_unrestricted:T
{
- \exp_not:N \sys_get_shell:nnN
+ \exp_not:N \exp_args:Ne \exp_not:N \sys_get_shell:nnN
{
\sys_if_platform_unix:T { ls~-1~ #1 }
- \sys_if_platform_windows:T { dir~/b~ #1 }
+ \sys_if_platform_windows:T
+ { dir~/b~/s~ \exp_not:N \__sys_path_to_win:n {#1} }
}
{
\ExplSyntaxOff
@@ -178,7 +180,31 @@
\seq_pop_right:NN #2 \exp_not:N \l__sys_tmp_tl
\exp_not:N \tl_if_blank:eTF { \exp_not:N \seq_item:Nn #2 { 1 } }
{ \seq_clear:N #2 }
+ \sys_if_platform_windows:T
+ {
+ \sys_get_shell_pwd:N \exp_not:N \l__sys_tmp_tl
+ \exp_not:N \exp_args:NV \exp_not:N \__sys_shell_split_ls:nN
+ \exp_not:N \l__sys_tmp_tl #2
+ }
+ }
+ }
+\sys_if_platform_windows:T
+ {
+ \cs_new_protected:Npe \__sys_shell_split_ls:nN #1#2
+ {
+ \cs_set:Npn \exp_not:N \__sys_shell_split_ls:w #1 \c_backslash_str { }
+ \seq_set_eq:NN \exp_not:N \l__sys_tmp_seq #2
+ \seq_clear:N #2
+ \seq_map_inline:Nn \exp_not:N \l__sys_tmp_seq
+ {
+ \tl_set:Ne \exp_not:N \l__sys_tmp_tl
+ { \exp_not:N \__sys_shell_split_ls:w ##1 }
+ \tl_replace_all:Nnn \exp_not:N \l__sys_tmp_tl
+ { \c_backslash_str } { / }
+ \seq_put_right:NV #2 \exp_not:N \l__sys_tmp_tl
+ }
}
+ \cs_new:Npn \__sys_shell_split_ls:w { }
}
%%
%%
diff --git a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
index a88eff7c577..8e0aad65502 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: xcoffins.dtx
-\ProvidesExplPackage{xcoffins}{2024-01-04}{}
+\ProvidesExplPackage{xcoffins}{2024-02-20}{}
{L3 Experimental design level coffins}
\keys_define:nn { coffin }
{
diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
index b470a77a520..6cedfc70fd0 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
@@ -32,7 +32,7 @@
}%
\endinput
}
-\ProvidesExplPackage{l3galley}{2024-01-04}{}
+\ProvidesExplPackage{l3galley}{2024-02-20}{}
{L3 Experimental galley code}
\int_new:N \l__galley_tmp_int
\seq_new:N \g__galley_tmpa_seq
diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
index 137eef00f13..e74c47800fb 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: xgalley.dtx
-\ProvidesExplPackage{xgalley}{2024-01-04}{}
+\ProvidesExplPackage{xgalley}{2024-02-20}{}
{L3 Experimental galley}
\RequirePackage{xtemplate,l3galley}
\clist_new:N \l__galley_tmpa_clist
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index 998fa55a679..324ff825f1c 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -75,7 +75,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2024-02-18}%
+\def\ExplFileDate{2024-02-20}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -1625,12 +1625,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_set_protected:Npn \debug_on:n #1
{
\sys_load_debug:
- \debug_on:n {#1}
+ \cs_if_exist:NT \__debug_all_on:
+ { \debug_on:n {#1} }
}
\cs_set_protected:Npn \debug_off:n #1
{
\sys_load_debug:
- \debug_off:n {#1}
+ \cs_if_exist:NT \__debug_all_on:
+ { \debug_off:n {#1} }
}
\cs_set_protected:Npn \debug_suspend: { }
\cs_set_protected:Npn \debug_resume: { }
@@ -7758,6 +7760,17 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__kernel_sys_configuration_load:n { l3debug } }
\bool_gset_true:N \g__sys_debug_bool
}
+\cs_if_exist:NT \@expl@finalise@setup@@
+ {
+ \tl_gput_right:Nn \@expl@finalise@setup@@
+ {
+ \tl_gput_right:Nn \@kernel@after@begindocument
+ {
+ \cs_gset_protected:Npn \sys_load_debug:
+ { \msg_error:nn { sys } { load-debug-in-preamble } }
+ }
+ }
+ }
\tl_new:N \l__sys_internal_tl
\tl_const:Ne \c__sys_marker_tl { : \token_to_str:N : }
\cs_new_protected:Npn \sys_get_shell:nnN #1#2#3
@@ -9753,18 +9766,33 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_generate_variant:Nn \prop_const_linked_from_keyval:Nn { c }
\cs_new_protected:Npn \__prop_split:NnTFn #1#2
- { \exp_args:NNo \__prop_split_aux:NnTFn #1 { \tl_to_str:n {#2} } }
-\cs_new_protected:Npn \__prop_split_aux:NnTFn #1#2#3
- {
- \cs_set:Npn \__prop_split_aux:w ##1 \__prop_chk:w ##2
- \__prop_pair:wn #2 \s__prop ##3 ##4 \s__prop_mark ##5 ##6 \s__prop_stop
- { ##5 {#3} }
- \exp_after:wN \__prop_split_aux:w #1 \s__prop_mark \use_i:nnn
- \__prop_pair:wn #2 \s__prop { } \s__prop_mark \use_ii:nnn
- \__prop_chk:w
- \__prop_pair:wn #2 \s__prop { } \s__prop_mark \use_iii:nnn
+ {
+ \exp_after:wN \__prop_split_aux:nNTFn
+ \exp_after:wN { \tl_to_str:n {#2} } #1
+ }
+\cs_new_protected:Npn \__prop_split_aux:nNTFn #1#2#3
+ {
+ \cs_set:Npn \__prop_split_flat:w \__prop_split_linked:w ##1
+ \__prop_pair:wn #1 \s__prop ##2 ##3 \s__prop_mark ##4 ##5 \s__prop_stop
+ { ##4 {#3} }
+ \exp_after:wN \__prop_split_test:wn #2 \s__prop_mark \use_i:nnn
+ \__prop_pair:wn #1 \s__prop { ? \fi: \__prop_split_wrong:Nw #2 }
+ \s__prop_mark \use_ii:nnn
\s__prop_stop
}
+\cs_new:Npn \__prop_split_flat:w { }
+\cs_new_protected:Npn \__prop_split_test:wn #1 \s__prop #2
+ {
+ \if_meaning:w \__prop_chk:w #2 \exp_after:wN \__prop_split_flat:w \fi:
+ \__prop_split_linked:w
+ }
+\cs_new_protected:Npn \__prop_split_linked:w #1 \s__prop_stop #2#3 {#3}
+\cs_new_protected:Npn \__prop_split_wrong:Nw #1#2 \s__prop_stop #3#4
+ {
+ \prop_show:N #1
+ \cs_gset_eq:NN #1 \c_empty_prop
+ #3
+ }
\cs_new_protected:Npn \prop_get:NnN #1#2#3
{
\__prop_get:NnnTF #1 {#2}
@@ -9787,7 +9815,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new_protected:Npn \__prop_get:NnnTF #1#2#3#4#5
{
\__prop_split:NnTFn #1 {#2}
- { #3 {##3} #4 }
+ { #3 {##2} #4 }
{#5}
{ \exp_after:wN \__prop_get_linked:w #1 {#2} {#3} {#4} {#5} }
}
@@ -9828,8 +9856,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\__prop_split:NnTFn #1 {#2}
{
- #4 #1 { \exp_not:n { \s__prop \__prop_chk:w ##2 ##4 } }
- #5 {##3}
+ #4 #1 { \exp_not:n { \s__prop \__prop_chk:w ##1 ##3 } }
+ #5 {##2}
#6
}
{#7}
@@ -9974,8 +10002,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
#1 #2 #3
{
- \s__prop \__prop_chk:w \exp_not:n {##2}
- \l__prop_internal_tl \exp_not:n {##4}
+ \s__prop \__prop_chk:w \exp_not:n {##1}
+ \l__prop_internal_tl \exp_not:n {##3}
}
}
{ #2 #3 { \exp_not:o {#3} \l__prop_internal_tl } }
@@ -10796,17 +10824,17 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \msg_new:nnnn { LaTeX / #1 } }
\cs_new_protected:Npn \__kernel_msg_new:nnn #1
{ \msg_new:nnn { LaTeX / #1 } }
-\cs_new_protected:Npn \__kernel_msg_info:nnee #1
+\cs_new_protected:Npn \__kernel_msg_info:nnxx #1
{ \msg_info:nnee { LaTeX / #1 } }
-\cs_new_protected:Npn \__kernel_msg_warning:nne #1
+\cs_new_protected:Npn \__kernel_msg_warning:nnx #1
{ \msg_warning:nne { LaTeX / #1 } }
-\cs_new_protected:Npn \__kernel_msg_warning:nnee #1
+\cs_new_protected:Npn \__kernel_msg_warning:nnxx #1
{ \msg_warning:nnee { LaTeX / #1 } }
-\cs_new_protected:Npn \__kernel_msg_error:nne #1
+\cs_new_protected:Npn \__kernel_msg_error:nnx #1
{ \msg_error:nne { LaTeX / #1 } }
-\cs_new_protected:Npn \__kernel_msg_error:nnee #1
+\cs_new_protected:Npn \__kernel_msg_error:nnxx #1
{ \msg_error:nnee { LaTeX / #1 } }
-\cs_new_protected:Npn \__kernel_msg_error:nneee #1
+\cs_new_protected:Npn \__kernel_msg_error:nnxxx #1
{ \msg_error:nneee { LaTeX / #1 } }
\cs_new:Npn \__kernel_msg_expandable_error:nnn #1
{ \msg_expandable_error:nnn { LaTeX / #1 } }
@@ -11159,6 +11187,12 @@ Type H <return> for immediate help}\def~{\errmessage{%
Run-time~backend~selection~may~only~be~carried~out~once~during~a~run.~
This~second~attempt~to~set~them~will~be~ignored.
}
+\msg_new:nnnn { sys } { load-debug-in-preamble }
+ { Load~debug~support~in~the~preamble. }
+ {
+ Debugging~requires~support~loaded~in~the~preamble: \\
+ Use~\sys_load_debug:~before~\begin{document}.
+ }
\msg_new:nnnn { sys } { wrong-backend }
{ Backend~request~inconsistent~with~engine:~using~'#2'~backend. }
{
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
index 79a79f11323..e57bdbe49e7 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2024-02-18}%
+\def\ExplFileDate{2024-02-20}%
\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 38de0490d2f..a40c3a3176d 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2024-02-18}%
+\def\ExplFileDate{2024-02-20}%
\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 bae277a3338..03a22d85e19 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2024-02-18}%
+\def\ExplFileDate{2024-02-20}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3debug.def b/Master/texmf-dist/tex/latex/l3kernel/l3debug.def
index 39b078166cf..1021e5373e7 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3debug.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3debug.def
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: l3debug.dtx
-\ProvidesExplFile{l3debug.def}{2024-02-18}{}{L3 Debugging support}
+\ProvidesExplFile{l3debug.def}{2024-02-20}{}{L3 Debugging support}
\scan_new:N \s__debug_stop
\cs_new:Npn \__debug_use_i_delimit_by_s_stop:nw #1 #2 \s__debug_stop {#1}
\quark_new:N \q__debug_recursion_tail
@@ -27,7 +27,7 @@
\cs_new:Npn \__debug_use_none_delimit_by_q_recursion_stop:w
#1 \q__debug_recursion_stop { }
\__kernel_quark_new_test:N \__debug_if_recursion_tail_stop:N
-\cs_set_protected:Npn \debug_on:n #1
+\cs_gset_protected:Npn \debug_on:n #1
{
\exp_args:No \clist_map_inline:nn { \tl_to_str:n {#1} }
{
@@ -35,7 +35,7 @@
{ \msg_error:nnn { debug } { debug } {##1} }
}
}
-\cs_set_protected:Npn \debug_off:n #1
+\cs_gset_protected:Npn \debug_off:n #1
{
\exp_args:No \clist_map_inline:nn { \tl_to_str:n {#1} }
{
@@ -64,12 +64,12 @@
}
}
\tl_new:N \l__debug_suspended_tl { }
-\cs_set_protected:Npn \debug_suspend:
+\cs_gset_protected:Npn \debug_suspend:
{
\tl_put_right:Nn \l__debug_suspended_tl { . }
\cs_set_eq:NN \__debug_suspended:T \use:n
}
-\cs_set_protected:Npn \debug_resume:
+\cs_gset_protected:Npn \debug_resume:
{
\__kernel_tl_set:Nx \l__debug_suspended_tl
{ \tl_tail:N \l__debug_suspended_tl }
@@ -1047,7 +1047,7 @@
without~first~having: \\
\ \ \tl_new:N ~ #1 \\
\\
- LaTeX~will~create~the~variable~and~continue.
+ LaTeX~will~continue,~creating~the~variable~where~it~is~the~one~being~set.
}
\cs_set_protected:Npn \__kernel_if_debug:TF #1#2 {#1}
%%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
index 1208bd3a989..5c0b0436c63 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
@@ -20,7 +20,7 @@
%%
%% File: l3doc.dtx
\RequirePackage{calc}
-\ProvidesExplClass{l3doc}{2024-02-18}{}
+\ProvidesExplClass{l3doc}{2024-02-20}{}
{L3 Experimental documentation class}
\clist_new:N \g_docinput_clist
\seq_new:N \g_doc_functions_seq