summaryrefslogtreecommitdiff
path: root/macros/latex-dev/required
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex-dev/required')
-rw-r--r--macros/latex-dev/required/l3backend/CHANGELOG.md15
-rw-r--r--macros/latex-dev/required/l3backend/README.md2
-rw-r--r--macros/latex-dev/required/l3backend/l3backend-basics.dtx14
-rw-r--r--macros/latex-dev/required/l3backend/l3backend-box.dtx2
-rw-r--r--macros/latex-dev/required/l3backend/l3backend-code.pdfbin907792 -> 907105 bytes
-rw-r--r--macros/latex-dev/required/l3backend/l3backend-color.dtx28
-rw-r--r--macros/latex-dev/required/l3backend/l3backend-draw.dtx4
-rw-r--r--macros/latex-dev/required/l3backend/l3backend-graphics.dtx2
-rw-r--r--macros/latex-dev/required/l3backend/l3backend-header.dtx4
-rw-r--r--macros/latex-dev/required/l3backend/l3backend-opacity.dtx2
-rw-r--r--macros/latex-dev/required/l3backend/l3backend-pdf.dtx6
-rw-r--r--macros/latex-dev/required/l3kernel/CHANGELOG.md14
-rw-r--r--macros/latex-dev/required/l3kernel/README.md2
-rw-r--r--macros/latex-dev/required/l3kernel/expl3.dtx6
-rw-r--r--macros/latex-dev/required/l3kernel/expl3.pdfbin610072 -> 610545 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/interface3.pdfbin1801762 -> 1803277 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/interface3.tex2
-rw-r--r--macros/latex-dev/required/l3kernel/l3basics.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3bitset.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3bootstrap.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3box.dtx10
-rw-r--r--macros/latex-dev/required/l3kernel/l3cctab.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3clist.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3coffins.dtx10
-rw-r--r--macros/latex-dev/required/l3kernel/l3color.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3debug.dtx6
-rw-r--r--macros/latex-dev/required/l3kernel/l3deprecation.dtx9
-rw-r--r--macros/latex-dev/required/l3kernel/l3doc.dtx10
-rw-r--r--macros/latex-dev/required/l3kernel/l3doc.pdfbin565293 -> 565744 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3docstrip.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3docstrip.pdfbin150996 -> 151414 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3expan.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3file.dtx8
-rw-r--r--macros/latex-dev/required/l3kernel/l3flag.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-assign.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-aux.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-basics.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-convert.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-expo.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-extended.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-functions.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-logic.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-parse.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-random.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-round.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-traps.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-trig.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-types.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fparray.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3int.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3intarray.dtx6
-rw-r--r--macros/latex-dev/required/l3kernel/l3kernel-functions.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3keys.dtx309
-rw-r--r--macros/latex-dev/required/l3kernel/l3legacy.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3luatex.dtx6
-rw-r--r--macros/latex-dev/required/l3kernel/l3msg.dtx22
-rw-r--r--macros/latex-dev/required/l3kernel/l3names.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3news.pdfbin402149 -> 396223 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news01.pdfbin122973 -> 122959 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news02.pdfbin150932 -> 150919 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news03.pdfbin154694 -> 148747 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news04.pdfbin114764 -> 114754 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news05.pdfbin112536 -> 112524 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news06.pdfbin151602 -> 151591 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news07.pdfbin128356 -> 128344 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news08.pdfbin163496 -> 163484 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news09.pdfbin256114 -> 250161 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news09.tex2
-rw-r--r--macros/latex-dev/required/l3kernel/l3news10.pdfbin156270 -> 150302 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news11.pdfbin176082 -> 170102 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news12.pdfbin210972 -> 205020 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3pdf.dtx15
-rw-r--r--macros/latex-dev/required/l3kernel/l3prefixes.csv9
-rw-r--r--macros/latex-dev/required/l3kernel/l3prefixes.pdfbin82732 -> 82856 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3prg.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3prop.dtx58
-rw-r--r--macros/latex-dev/required/l3kernel/l3quark.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3regex.dtx46
-rw-r--r--macros/latex-dev/required/l3kernel/l3seq.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3skip.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3sort.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3str-convert.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3str.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3styleguide.pdfbin296269 -> 296746 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3styleguide.tex2
-rw-r--r--macros/latex-dev/required/l3kernel/l3syntax-changes.pdfbin231115 -> 231577 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3syntax-changes.tex2
-rw-r--r--macros/latex-dev/required/l3kernel/l3sys.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3term-glossary.pdfbin241905 -> 242381 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3term-glossary.tex2
-rw-r--r--macros/latex-dev/required/l3kernel/l3text-case.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3text-map.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3text-purify.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3text.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3tl-analysis.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3tl-build.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3tl.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3token.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3unicode.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/source3.pdfbin7624184 -> 7620398 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/source3.tex2
103 files changed, 407 insertions, 344 deletions
diff --git a/macros/latex-dev/required/l3backend/CHANGELOG.md b/macros/latex-dev/required/l3backend/CHANGELOG.md
index ecd8593881..68f697ac5f 100644
--- a/macros/latex-dev/required/l3backend/CHANGELOG.md
+++ b/macros/latex-dev/required/l3backend/CHANGELOG.md
@@ -6,6 +6,14 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2024-05-08]
+
+### Changed
+- Use built-in conversion for CMYK colors with `dvisvgm` (see \#1538)
+
+### Fixed
+- CMYK output from `dvisvgm`
+
## [2024-04-11]
### Added
@@ -40,7 +48,7 @@ this project uses date-based 'snapshot' version identifiers.
## [2023-11-09]
### Changed
-- Changed `luaotfload` integration to allow coexistance with (x)color.
+- Changed `luaotfload` integration to allow coexistence with (x)color.
## [2023-11-04]
@@ -225,7 +233,7 @@ this project uses date-based 'snapshot' version identifiers.
backend)
### Changed
-- Implementation of color wtih (x)dvipdfmx (requires an up-to-date
+- Implementation of color with (x)dvipdfmx (requires an up-to-date
backend)
## [2020-09-24]
@@ -347,7 +355,8 @@ this project uses date-based 'snapshot' version identifiers.
- Include `l3backend` in file names
- Moved backend code to internal for each 'parent' module
-[Unreleased]: https://github.com/latex3/latex3/compare/2024-04-11...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-05-08...HEAD
+[2024-05-08]: https://github.com/latex3/latex3/compare/2024-04-11...2024-05-08
[2024-04-11]: https://github.com/latex3/latex3/compare/2024-03-14...2024-04-11
[2024-03-14]: https://github.com/latex3/latex3/compare/2024-02-20...2024-03-14
[2024-02-20]: https://github.com/latex3/latex3/compare/2024-01-04...2024-02-20
diff --git a/macros/latex-dev/required/l3backend/README.md b/macros/latex-dev/required/l3backend/README.md
index 058fa63cc2..77eb591526 100644
--- a/macros/latex-dev/required/l3backend/README.md
+++ b/macros/latex-dev/required/l3backend/README.md
@@ -1,7 +1,7 @@
LaTeX3 Backend Drivers
======================
-Release 2024-04-11
+Release 2024-05-08
This package forms parts of `expl3`, and contains the code used to interface
with backends (drivers) across the `expl3` codebase. The functions here are
diff --git a/macros/latex-dev/required/l3backend/l3backend-basics.dtx b/macros/latex-dev/required/l3backend/l3backend-basics.dtx
index fbac503317..81c51b5b72 100644
--- a/macros/latex-dev/required/l3backend/l3backend-basics.dtx
+++ b/macros/latex-dev/required/l3backend/l3backend-basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -70,27 +70,27 @@
% \begin{macrocode}
\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-dvipdfmx.def}{2024-04-11}{}
+ {l3backend-dvipdfmx.def}{2024-05-08}{}
{L3 backend support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-dvips.def}{2024-04-11}{}
+ {l3backend-dvips.def}{2024-05-08}{}
{L3 backend support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-dvisvgm.def}{2024-04-11}{}
+ {l3backend-dvisvgm.def}{2024-05-08}{}
{L3 backend support: dvisvgm}
%</dvisvgm>
%<*luatex>
- {l3backend-luatex.def}{2024-04-11}{}
+ {l3backend-luatex.def}{2024-05-08}{}
{L3 backend support: PDF output (LuaTeX)}
%</luatex>
%<*pdftex>
- {l3backend-pdftex.def}{2024-04-11}{}
+ {l3backend-pdftex.def}{2024-05-08}{}
{L3 backend support: PDF output (pdfTeX)}
%</pdftex>
%<*xetex>
- {l3backend-xetex.def}{2024-04-11}{}
+ {l3backend-xetex.def}{2024-05-08}{}
{L3 backend support: XeTeX}
%</xetex>
% \end{macrocode}
diff --git a/macros/latex-dev/required/l3backend/l3backend-box.dtx b/macros/latex-dev/required/l3backend/l3backend-box.dtx
index 93d83293ef..8bfd0e1494 100644
--- a/macros/latex-dev/required/l3backend/l3backend-box.dtx
+++ b/macros/latex-dev/required/l3backend/l3backend-box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3backend/l3backend-code.pdf b/macros/latex-dev/required/l3backend/l3backend-code.pdf
index acc3e33012..0908eddc1b 100644
--- a/macros/latex-dev/required/l3backend/l3backend-code.pdf
+++ b/macros/latex-dev/required/l3backend/l3backend-code.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3backend/l3backend-color.dtx b/macros/latex-dev/required/l3backend/l3backend-color.dtx
index 307432d554..1dae4b5ce9 100644
--- a/macros/latex-dev/required/l3backend/l3backend-color.dtx
+++ b/macros/latex-dev/required/l3backend/l3backend-color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -920,7 +920,7 @@
% Here, \texttt{dvipdfmx}/\XeTeX{} we write direct PDF specials for the fill,
% and only use the stack for the stroke color (see above for comments on why
% we cannot use multiple stacks with these backends). \LuaTeX{} and \pdfTeX{}
-% have mutiple stacks that can deal with fill and stroke. For \texttt{dvips}
+% have multiple stacks that can deal with fill and stroke. For \texttt{dvips}
% we have to manage fill and stroke color ourselves. We also handle
% \texttt{dvisvgm} independently, as there we can create SVG directly.
%
@@ -1138,8 +1138,7 @@
% \@@_backend_fill_rgb:n ,
% \@@_backend_fill:n
% }
-% Fill color here is the same as general color \emph{except} we skip the
-% stroke part.
+% Fill color here is the same as general color.
% \begin{macrocode}
\cs_new_protected:Npn \@@_backend_fill_cmyk:n #1
{ \@@_backend_fill:n { cmyk ~ #1 } }
@@ -1155,27 +1154,19 @@
% \end{macro}
%
% \begin{macro}{\@@_backend_stroke_cmyk:n}
-% \begin{macro}{\@@_backend_stroke_cmyk:w}
% \begin{macro}{\@@_backend_stroke_gray:n, \@@_backend_stroke_gray_aux:n}
% \begin{macro}{\@@_backend_stroke_rgb:n}
% \begin{macro}{\@@_backend_stroke_rgb:w}
% \begin{macro}{\@@_backend:nnn}
-% For drawings in SVG, we use scopes for all stroke colors. That
-% requires using \texttt{RGB} values, which luckily are easy to
-% convert here (|cmyk| to |RGB| is a fixed function).
+% For drawings in SVG, we use scopes for all stroke colors. The backend
+% provides the necessary conversion for CMYK but only if that is set as
+% the main color: a little bit of gymnastics as a result.
% \begin{macrocode}
\cs_new_protected:Npn \@@_backend_stroke_cmyk:n #1
- { \@@_backend_cmyk:w #1 \s_@@_stop }
-\cs_new_protected:Npn \@@_backend_stroke_cmyk:w
- #1 ~ #2 ~ #3 ~ #4 \s_@@_stop
{
- \use:e
- {
- \@@_backend:nnn
- { \fp_eval:n { -100 * ( 1 - min ( 1 , #1 + #4 ) ) } }
- { \fp_eval:n { -100 * ( 1 - min ( 1 , #2 + #4 ) ) } }
- { \fp_eval:n { -100 * ( 1 - min ( 1 , #3 + #4 ) ) } }
- }
+ \@@_backend_fill_cmyk:n {#1}
+ \__kernel_backend_scope:n { stroke = "{?color}" }
+ \@@_backend_reset:
}
\cs_new_protected:Npn \@@_backend_stroke_gray:n #1
{
@@ -1221,7 +1212,6 @@
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
%
% \begin{macro}
% {
diff --git a/macros/latex-dev/required/l3backend/l3backend-draw.dtx b/macros/latex-dev/required/l3backend/l3backend-draw.dtx
index c651ab92fe..02d84ed656 100644
--- a/macros/latex-dev/required/l3backend/l3backend-draw.dtx
+++ b/macros/latex-dev/required/l3backend/l3backend-draw.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -776,7 +776,7 @@
% \end{macro}
%
% \begin{macro}{\@@_backend_begin:, \@@_backend_end:}
-% A drawing needs to be set up such that the co-ordinate system is
+% A drawing needs to be set up such that the coordinate system is
% translated. That is done inside a scope, which as described below
% \begin{macrocode}
\cs_new_protected:Npn \@@_backend_begin:
diff --git a/macros/latex-dev/required/l3backend/l3backend-graphics.dtx b/macros/latex-dev/required/l3backend/l3backend-graphics.dtx
index e20457368d..f487a323c1 100644
--- a/macros/latex-dev/required/l3backend/l3backend-graphics.dtx
+++ b/macros/latex-dev/required/l3backend/l3backend-graphics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3backend/l3backend-header.dtx b/macros/latex-dev/required/l3backend/l3backend-header.dtx
index 486f564822..4eb70cc536 100644
--- a/macros/latex-dev/required/l3backend/l3backend-header.dtx
+++ b/macros/latex-dev/required/l3backend/l3backend-header.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -184,7 +184,7 @@ false setglobal
% For finding the anchor point of a destination link. We make the use case
% a separate function as it comes up a lot, and as this makes it easier to
% adjust if we need additional effects. We also need a more complex approach
-% to convert a co-ordinate pair correctly when defining a rectangle: this
+% to convert a coordinate pair correctly when defining a rectangle: this
% can otherwise be out when using a landscape page. (Thanks to Alexander
% Grahn for the approach here.)
% \begin{macrocode}
diff --git a/macros/latex-dev/required/l3backend/l3backend-opacity.dtx b/macros/latex-dev/required/l3backend/l3backend-opacity.dtx
index 0c29574c37..1798146eec 100644
--- a/macros/latex-dev/required/l3backend/l3backend-opacity.dtx
+++ b/macros/latex-dev/required/l3backend/l3backend-opacity.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3backend/l3backend-pdf.dtx b/macros/latex-dev/required/l3backend/l3backend-pdf.dtx
index cf09c0eec2..31ad60b7b6 100644
--- a/macros/latex-dev/required/l3backend/l3backend-pdf.dtx
+++ b/macros/latex-dev/required/l3backend/l3backend-pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -266,7 +266,7 @@
%
% \begin{macro}{\@@_backend_annotation:nnnn}
% Annotations are objects, but we track them separately. Notably, they are
-% not in the object data lists. Here, to get the co-ordinates of the
+% not in the object data lists. Here, to get the coordinates of the
% annotation, we need to have the data collected at the PostScript level.
% That requires a bit of box trickery (effectively a \LaTeXe{} |picture|
% of zero size). Once the data is collected, use it to set up the annotation
@@ -376,7 +376,7 @@
% \begin{macro}{\@@_backend_link_minima:}
% \begin{macro}{\@@_backend_link_outerbox:n}
% \begin{macro}{\@@_backend_link_sf_save:, \@@_backend_link_sf_restore:}
-% Links are crated like annotations but with dedicated code to allow for
+% Links are created like annotations but with dedicated code to allow for
% adjusting the size of the rectangle. In contrast to \pkg{hyperref}, we
% grab the link content as a box which can then unbox: this allows the same
% interface as for \pdfTeX{}.
diff --git a/macros/latex-dev/required/l3kernel/CHANGELOG.md b/macros/latex-dev/required/l3kernel/CHANGELOG.md
index e770f3fe36..82eb45806a 100644
--- a/macros/latex-dev/required/l3kernel/CHANGELOG.md
+++ b/macros/latex-dev/required/l3kernel/CHANGELOG.md
@@ -7,6 +7,15 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2024-05-08]
+
+### Added
+- Full set of variants for `\prop_(g)put_if_not_in:Nnn`
+- `keys_set_groups:nnn(n)N` to match `keys_set_exclude_groups:nnn(n)N`
+
+### Fixed
+- Implementation of deprecated `\pdf_object_write:nn`
+
## [2024-04-11]
### Added
@@ -878,7 +887,7 @@ this project uses date-based 'snapshot' version identifiers.
improve target placement, solve pdfTeX and makeindex warnings
### Fixed
-- Evalutate integer constants only once (issue [\#861](https://github.com/latex3/latex3/issues/861))
+- Evaluate integer constants only once (issue [\#861](https://github.com/latex3/latex3/issues/861))
- Detect `\ior_map_inline:Nn` calls on undefined streams (issue [\#194](https://github.com/latex3/latex3/issues/194))
### Deprecated
@@ -1725,7 +1734,8 @@ this project uses date-based 'snapshot' version identifiers.
- Step functions have been added for dim variables,
e.g. `\dim_step_inline:nnnn`
-[Unreleased]: https://github.com/latex3/latex3/compare/2024-04-11...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-05-08...HEAD
+[2024-05-08]: https://github.com/latex3/latex3/compare/2024-04-11...2024-05-08
[2024-04-11]: https://github.com/latex3/latex3/compare/2024-03-14...2024-04-11
[2024-03-14]: https://github.com/latex3/latex3/compare/2024-02-20...2024-03-14
[2024-02-20]: https://github.com/latex3/latex3/compare/2024-02-18...2024-02-20
diff --git a/macros/latex-dev/required/l3kernel/README.md b/macros/latex-dev/required/l3kernel/README.md
index 70d106b496..0928ea46ce 100644
--- a/macros/latex-dev/required/l3kernel/README.md
+++ b/macros/latex-dev/required/l3kernel/README.md
@@ -1,7 +1,7 @@
LaTeX3 Programming Conventions
==============================
-Release 2024-04-11
+Release 2024-05-08
Overview
--------
diff --git a/macros/latex-dev/required/l3kernel/expl3.dtx b/macros/latex-dev/required/l3kernel/expl3.dtx
index 56a62010fa..f4129aeb02 100644
--- a/macros/latex-dev/required/l3kernel/expl3.dtx
+++ b/macros/latex-dev/required/l3kernel/expl3.dtx
@@ -24,7 +24,7 @@
%
%<*driver|generic|package|2ekernel>
%</driver|generic|package|2ekernel>
-\def\ExplFileDate{2024-04-11}%
+\def\ExplFileDate{2024-05-08}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -1287,7 +1287,7 @@
% still compatible) version in which the error mentioned above showed
% up. If loading as a package, \file{expl3-code.tex} got read and here
% the \pkg{expl3} syntax is on. Otherwise it was already loaded in a
-% sligtly older kernel, so we fire the incompatibility error message and
+% slightly older kernel, so we fire the incompatibility error message and
% abort loading.
% \begin{macrocode}
\ifodd\csname\detokenize{l__kernel_expl_bool}\endcsname
diff --git a/macros/latex-dev/required/l3kernel/expl3.pdf b/macros/latex-dev/required/l3kernel/expl3.pdf
index 892886a362..6c334e54d6 100644
--- a/macros/latex-dev/required/l3kernel/expl3.pdf
+++ b/macros/latex-dev/required/l3kernel/expl3.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/interface3.pdf b/macros/latex-dev/required/l3kernel/interface3.pdf
index a866590ab0..db66e71788 100644
--- a/macros/latex-dev/required/l3kernel/interface3.pdf
+++ b/macros/latex-dev/required/l3kernel/interface3.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/interface3.tex b/macros/latex-dev/required/l3kernel/interface3.tex
index 1bf31032ee..613eb673b0 100644
--- a/macros/latex-dev/required/l3kernel/interface3.tex
+++ b/macros/latex-dev/required/l3kernel/interface3.tex
@@ -58,7 +58,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-04-11}
+\date{Released 2024-05-08}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex-dev/required/l3kernel/l3basics.dtx b/macros/latex-dev/required/l3kernel/l3basics.dtx
index eabf678caa..4c00ec0032 100644
--- a/macros/latex-dev/required/l3kernel/l3basics.dtx
+++ b/macros/latex-dev/required/l3kernel/l3basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3bitset.dtx b/macros/latex-dev/required/l3kernel/l3bitset.dtx
index b0bd996d26..22cf7dc1f7 100644
--- a/macros/latex-dev/required/l3kernel/l3bitset.dtx
+++ b/macros/latex-dev/required/l3kernel/l3bitset.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3bootstrap.dtx b/macros/latex-dev/required/l3kernel/l3bootstrap.dtx
index 2c51bf3bb0..e17c056909 100644
--- a/macros/latex-dev/required/l3kernel/l3bootstrap.dtx
+++ b/macros/latex-dev/required/l3kernel/l3bootstrap.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3box.dtx b/macros/latex-dev/required/l3kernel/l3box.dtx
index 2d4902950f..5d5aa54027 100644
--- a/macros/latex-dev/required/l3kernel/l3box.dtx
+++ b/macros/latex-dev/required/l3kernel/l3box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -928,8 +928,8 @@
% \cs{box_set_viewport:Nnnnn} \meta{box} \Arg{llx} \Arg{lly} \Arg{urx} \Arg{ury}
% \end{syntax}
% Adjusts the bounding box of the \meta{box} such that it has lower-left
-% co-ordinates (\meta{llx}, \meta{lly}) and upper-right co-ordinates
-% (\meta{urx}, \meta{ury}). All four co-ordinate positions are
+% coordinates (\meta{llx}, \meta{lly}) and upper-right coordinates
+% (\meta{urx}, \meta{ury}). All four coordinate positions are
% \meta{dim exprs}. Material outside of the bounding box is
% still displayed in the output unless \cs{box_set_clipped:N} is
% subsequently applied.
@@ -1846,7 +1846,7 @@
% \put(40,49){E}
% \put(21,59){O}
% \end{picture}
-% \caption{Co-ordinates of a box prior to rotation.}
+% \caption{Coordinates of a box prior to rotation.}
% \label{fig:l3box:rotation}
% \end{figure}
% The formulae are, for a point $P$ and angle $\alpha$:
@@ -2066,7 +2066,7 @@
}
% \end{macrocode}
% With at least one real scaling to do, the next phase is to find the new
-% edge co-ordinates. In the $x$~direction this is relatively easy: just
+% edge coordinates. In the $x$~direction this is relatively easy: just
% scale the right edge. In the $y$~direction, both dimensions have to be
% scaled, and this again needs the absolute scale value.
% Once that is all done, the common resize/rescale code can be employed.
diff --git a/macros/latex-dev/required/l3kernel/l3cctab.dtx b/macros/latex-dev/required/l3kernel/l3cctab.dtx
index dd35fb00a3..a8c5232b3e 100644
--- a/macros/latex-dev/required/l3kernel/l3cctab.dtx
+++ b/macros/latex-dev/required/l3kernel/l3cctab.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3clist.dtx b/macros/latex-dev/required/l3kernel/l3clist.dtx
index c67f70db2c..ebbfa29ddc 100644
--- a/macros/latex-dev/required/l3kernel/l3clist.dtx
+++ b/macros/latex-dev/required/l3kernel/l3clist.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3coffins.dtx b/macros/latex-dev/required/l3kernel/l3coffins.dtx
index 164d10019d..76bbc78d99 100644
--- a/macros/latex-dev/required/l3kernel/l3coffins.dtx
+++ b/macros/latex-dev/required/l3kernel/l3coffins.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -375,7 +375,7 @@
% poles of the coffin.
%
% Notice that the poles of a coffin are defined by four values:
-% the $x$ and $y$ co-ordinates of a point that the pole
+% the $x$ and $y$ coordinates of a point that the pole
% passes through and the $x$- and $y$-components of a
% vector denoting the direction of the pole. It is the ratio between
% the later, rather than the absolute values, which determines the
@@ -897,7 +897,7 @@
% Special coffins: these cannot be set up earlier as they need
% \cs{coffin_new:N}. The empty coffin is set as a box as the full
% coffin-setting system needs some material which is not yet available.
-% The empty coffin is creted entirely by hand: not everything is in place
+% The empty coffin is created entirely by hand: not everything is in place
% yet.
% \begin{macrocode}
\coffin_new:N \c_empty_coffin
@@ -1197,7 +1197,7 @@
% ($a$, $b$, $c$, $d$) and
% ($a'$, $b'$, $c'$, $d'$). These are arguments
% $1$--$4$ and $5$--$8$, respectively. In both
-% cases $a$ and $b$ are the co-ordinates of a point on the
+% cases $a$ and $b$ are the coordinates of a point on the
% pole and $c$ and $d$ define the direction of the pole. Finding
% the intersection depends on the directions of the poles, which are
% given by $d / c$ and $d' / c'$. However, if one of the poles
@@ -1541,7 +1541,7 @@
% \end{macro}
%
% \begin{macro}{\@@_rotate_pole:Nnnnnn}
-% Rotating a single pole simply means shifting the co-ordinate of
+% Rotating a single pole simply means shifting the coordinate of
% the pole and its direction. The rotation here is about the bottom-left
% corner of the coffin.
% \begin{macrocode}
diff --git a/macros/latex-dev/required/l3kernel/l3color.dtx b/macros/latex-dev/required/l3kernel/l3color.dtx
index 0edc225c52..f9383d0404 100644
--- a/macros/latex-dev/required/l3kernel/l3color.dtx
+++ b/macros/latex-dev/required/l3kernel/l3color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3debug.dtx b/macros/latex-dev/required/l3kernel/l3debug.dtx
index 6dbe13f96e..7fb64a8c13 100644
--- a/macros/latex-dev/required/l3kernel/l3debug.dtx
+++ b/macros/latex-dev/required/l3kernel/l3debug.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -69,7 +69,7 @@
%
% Standard file identification.
% \begin{macrocode}
-\ProvidesExplFile{l3debug.def}{2024-04-11}{}{L3 Debugging support}
+\ProvidesExplFile{l3debug.def}{2024-05-08}{}{L3 Debugging support}
% \end{macrocode}
%
% \begin{variable}{\s_@@_stop}
@@ -1152,7 +1152,7 @@
% \end{macrocode}
%
% The functions here can get a bit repetitive, so we define a helper
-% which can re-use the same patch code repeatedly. The main part of the
+% which can reuse the same patch code repeatedly. The main part of the
% patch is the same, so we just have to deal with the part which varies
% depending on the type of expression.
% \begin{macrocode}
diff --git a/macros/latex-dev/required/l3kernel/l3deprecation.dtx b/macros/latex-dev/required/l3kernel/l3deprecation.dtx
index 7af8700df7..d947bb4599 100644
--- a/macros/latex-dev/required/l3kernel/l3deprecation.dtx
+++ b/macros/latex-dev/required/l3kernel/l3deprecation.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -330,13 +330,14 @@
\cs_new_protected:Npn \pdf_object_new:nn #1#2
{
\prop_gput:Nnn \g_@@_object_prop {#1} {#2}
- \@@_backend_object_new:n {#1}
+ \pdf_object_new:n {#1}
}
\__kernel_patch_deprecation:nnNNpn { 2022-08-30 } { [\pdf_object_write:n] }
\cs_new_protected:Npn \pdf_object_write:nn #1#2
{
- \exp_args:Nne \@@_backend_object_write:nnn
- {#1} { \prop_item:Nn \g_@@_object_prop {#1} } {#2}
+ \exp_args:Nee \@@_backend_object_write:nnn
+ { \@@_object_retrieve:n {#1} }
+ { \prop_item:Nn \g_@@_object_prop {#1} } {#2}
\bool_gset_true:N \g_@@_init_bool
}
\cs_generate_variant:Nn \pdf_object_write:nn { nx }
diff --git a/macros/latex-dev/required/l3kernel/l3doc.dtx b/macros/latex-dev/required/l3kernel/l3doc.dtx
index 9156bd385e..24efea50c7 100644
--- a/macros/latex-dev/required/l3kernel/l3doc.dtx
+++ b/macros/latex-dev/required/l3kernel/l3doc.dtx
@@ -71,7 +71,7 @@ and all files in that bundle must be distributed together.
% This isn't included in the typeset documentation because it's a bit
% ugly:
%<*class>
-\ProvidesExplClass{l3doc}{2024-04-11}{}
+\ProvidesExplClass{l3doc}{2024-05-08}{}
{L3 Experimental documentation class}
%</class>
% \fi
@@ -84,7 +84,7 @@ and all files in that bundle must be distributed together.
% require you to do updates, if the class changes.}}
%
% \author{\Team}
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
% \maketitle
% \tableofcontents
%
@@ -365,7 +365,7 @@ and all files in that bundle must be distributed together.
% \begin{syntax}
% \cs{tn} \oarg{options} \marg{csname}
% \end{syntax}
-% Analoguous to \cs{cs} but intended for \enquote{traditional} \TeX{}
+% Analogous to \cs{cs} but intended for \enquote{traditional} \TeX{}
% or \LaTeXe{} commands; they are indexed accordingly. This is in
% fact equivalent to \cs{cs} |[module=TeX, replace=false,|
% \meta{options}|]| \Arg{csname}.
@@ -3320,7 +3320,7 @@ and all files in that bundle must be distributed together.
% we can check now whether the macro is tested. If the \env{macro}
% environment which is being ended is the outermost one, then wrap
% each macro in \tn{texttt} (with the addition of |TF| if relevant)
-% and typeset two informations: that this ends the definition of some
+% and typeset two pieces of information: that this ends the definition of some
% macros, and that they are documented on some page.
% \begin{macrocode}
\cs_new_protected:Npn \@@_macro_end:
@@ -4498,7 +4498,7 @@ and all files in that bundle must be distributed together.
%
% \begin{macro}{\@@_key_trim_module:n, \@@_key_drop_underscores:}
% Helper that removes from \cs{l_@@_index_module_tl} everything after
-% the first occurence of |#1|. Helper that removes any leading
+% the first occurrence of |#1|. Helper that removes any leading
% underscore from \cs{l_@@_index_key_tl}.
% \begin{macrocode}
\cs_new_protected:Npn \@@_key_trim_module:n #1
diff --git a/macros/latex-dev/required/l3kernel/l3doc.pdf b/macros/latex-dev/required/l3kernel/l3doc.pdf
index 604acf43b6..8ebd6f5caf 100644
--- a/macros/latex-dev/required/l3kernel/l3doc.pdf
+++ b/macros/latex-dev/required/l3kernel/l3doc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3docstrip.dtx b/macros/latex-dev/required/l3kernel/l3docstrip.dtx
index c2733e810e..a3b62db0af 100644
--- a/macros/latex-dev/required/l3kernel/l3docstrip.dtx
+++ b/macros/latex-dev/required/l3kernel/l3docstrip.dtx
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3docstrip.pdf b/macros/latex-dev/required/l3kernel/l3docstrip.pdf
index e68f61dcc5..019b64c130 100644
--- a/macros/latex-dev/required/l3kernel/l3docstrip.pdf
+++ b/macros/latex-dev/required/l3kernel/l3docstrip.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3expan.dtx b/macros/latex-dev/required/l3kernel/l3expan.dtx
index e79b5f32b9..7b859acaa5 100644
--- a/macros/latex-dev/required/l3kernel/l3expan.dtx
+++ b/macros/latex-dev/required/l3kernel/l3expan.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -135,7 +135,7 @@
% then used to define variants of the
% \meta{original argument specifier} if these are not already
% defined; entries which correspond to existing functions are silently
-% ingored. For each \meta{variant} given, a function is created
+% ignored. For each \meta{variant} given, a function is created
% that expands its arguments as detailed and passes them
% to the \meta{parent control sequence}. So for example
% \begin{verbatim}
diff --git a/macros/latex-dev/required/l3kernel/l3file.dtx b/macros/latex-dev/required/l3kernel/l3file.dtx
index 6111d270ca..ba460e3fee 100644
--- a/macros/latex-dev/required/l3kernel/l3file.dtx
+++ b/macros/latex-dev/required/l3kernel/l3file.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -429,7 +429,7 @@
%
% \begin{function}[added = 2019-03-23]{\ior_get_term:nN, \ior_str_get_term:nN}
% \begin{syntax}
-% \cs{ior_get_term:nN} \meta{prompt} \meta{token list variable}
+% \cs{ior_get_term:nN} \Arg{prompt} \meta{token list variable}
% \end{syntax}
% Function that reads one or more lines (until an equal number of left
% and right braces are found) from the terminal and stores
@@ -673,7 +673,7 @@
% \end{texnote}
% \end{function}
%
-% \section{File opertions}
+% \section{File operations}
%
% \subsection{Basic file operations}
%
@@ -3818,7 +3818,7 @@
%
% The function starts by checking that the kernel date is defined, and
% if not zero is used to force the error route. The kernel date is
-% then compared with the argument requested date (ususally the
+% then compared with the argument requested date (usually the
% packaging date of the dependency). If the kernel date is less than
% the required date, it's an error and the loading should abort.
% \begin{macrocode}
diff --git a/macros/latex-dev/required/l3kernel/l3flag.dtx b/macros/latex-dev/required/l3kernel/l3flag.dtx
index c3bd4a5085..bf7776f449 100644
--- a/macros/latex-dev/required/l3kernel/l3flag.dtx
+++ b/macros/latex-dev/required/l3kernel/l3flag.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-assign.dtx b/macros/latex-dev/required/l3kernel/l3fp-assign.dtx
index d54f092085..9ef1944a99 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-assign.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-assign.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex-dev/required/l3kernel/l3fp-aux.dtx b/macros/latex-dev/required/l3kernel/l3fp-aux.dtx
index c9d0c228f5..f788b85df9 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-aux.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-aux.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-basics.dtx b/macros/latex-dev/required/l3kernel/l3fp-basics.dtx
index d3dcb68dde..83c9cc87fa 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-basics.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-basics.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-convert.dtx b/macros/latex-dev/required/l3kernel/l3fp-convert.dtx
index a0536c1299..e42fb383fe 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-convert.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-convert.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-expo.dtx b/macros/latex-dev/required/l3kernel/l3fp-expo.dtx
index 6fbc9de52c..31eb49093d 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-expo.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-expo.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-extended.dtx b/macros/latex-dev/required/l3kernel/l3fp-extended.dtx
index 356c32b232..e35f0ae55e 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-extended.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-extended.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-functions.dtx b/macros/latex-dev/required/l3kernel/l3fp-functions.dtx
index f6c9ec346f..e7667eaa9b 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-functions.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-functions.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-logic.dtx b/macros/latex-dev/required/l3kernel/l3fp-logic.dtx
index 9df6a4730a..49ad2b1c02 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-logic.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-logic.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-parse.dtx b/macros/latex-dev/required/l3kernel/l3fp-parse.dtx
index ee2eedbc22..7999be7966 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-parse.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-parse.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -430,7 +430,7 @@
% second attempt would be to call \cs{@@_parse_operand:Nw} with the
% \meta{precedence} of the previous operator, but |0>-2+3| is then
% parsed as |0>-(2+3)|: the addition is performed because it binds more
-% tightly than the comparision which precedes~|-|. The correct approach
+% tightly than the comparison which precedes~|-|. The correct approach
% is for a unary~|-| to perform operations whose precedence is greater
% than both that of the previous operation, and that of the unary~|-|
% itself. The unary~|-| is given a precedence higher than
diff --git a/macros/latex-dev/required/l3kernel/l3fp-random.dtx b/macros/latex-dev/required/l3kernel/l3fp-random.dtx
index ce5a0c48f7..2a3d00cb58 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-random.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-random.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-round.dtx b/macros/latex-dev/required/l3kernel/l3fp-round.dtx
index 48ae82730c..b96d496b22 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-round.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-round.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx b/macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx
index 901ce7a27c..cdb7383949 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-traps.dtx b/macros/latex-dev/required/l3kernel/l3fp-traps.dtx
index 5a4a3b41f9..bca459effa 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-traps.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-traps.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex-dev/required/l3kernel/l3fp-trig.dtx b/macros/latex-dev/required/l3kernel/l3fp-trig.dtx
index d8585ebe66..8e8bc1cbf8 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-trig.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-trig.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-types.dtx b/macros/latex-dev/required/l3kernel/l3fp-types.dtx
index 2c23c61393..9764606e83 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-types.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-types.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp.dtx b/macros/latex-dev/required/l3kernel/l3fp.dtx
index 7cef573970..d49d2431cb 100644
--- a/macros/latex-dev/required/l3kernel/l3fp.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fparray.dtx b/macros/latex-dev/required/l3kernel/l3fparray.dtx
index 24f4ac85f8..8b8026a6b8 100644
--- a/macros/latex-dev/required/l3kernel/l3fparray.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fparray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -89,7 +89,7 @@
% Assignments are always global.
% \end{function}
%
-% \section{Couting entries in floating point arrays}
+% \section{Counting entries in floating point arrays}
%
% \begin{function}[EXP, added = 2018-05-05]{\fparray_count:N, \fparray_count:c}
% \begin{syntax}
diff --git a/macros/latex-dev/required/l3kernel/l3int.dtx b/macros/latex-dev/required/l3kernel/l3int.dtx
index a1c9458436..c4e8408af2 100644
--- a/macros/latex-dev/required/l3kernel/l3int.dtx
+++ b/macros/latex-dev/required/l3kernel/l3int.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -186,7 +186,7 @@
% encountered that cannot form part of such an expression. If that
% token is \cs{scan_stop:} it is removed, otherwise not. Spaces do
% \emph{not} terminate the expression. However, spaces terminate
-% explict integers, and this may terminate the expression: for
+% explicit integers, and this may terminate the expression: for
% instance, \cs{int_eval:w} \verb*|1 + 1 9| (with explicit space
% tokens inserted using |~| in a code setting) expands to \texttt{29}
% since the digit~\texttt{9} is not part of the expression. Expansion
diff --git a/macros/latex-dev/required/l3kernel/l3intarray.dtx b/macros/latex-dev/required/l3kernel/l3intarray.dtx
index bbc41c0cdb..20e6219ef8 100644
--- a/macros/latex-dev/required/l3kernel/l3intarray.dtx
+++ b/macros/latex-dev/required/l3kernel/l3intarray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -109,7 +109,7 @@
% global.
% \end{function}
%
-% \section{Couting entries in integer arrays}
+% \section{Counting entries in integer arrays}
%
% \begin{function}[EXP, added = 2018-03-29]{\intarray_count:N, \intarray_count:c}
% \begin{syntax}
@@ -277,7 +277,7 @@ end, 'protected', 'global')
% \end{macro}
% \end{macro}
%
-% Before we get to the first command implmented in Lua, we first need some
+% Before we get to the first command implemented in Lua, we first need some
% definitions. Since \texttt{token.create} only works correctly if \TeX{}
% has seen the tokens before, we first run a short \TeX{} sequence to ensure
% that all relevant control sequences are known.
diff --git a/macros/latex-dev/required/l3kernel/l3kernel-functions.dtx b/macros/latex-dev/required/l3kernel/l3kernel-functions.dtx
index 1706bb594a..6779a3ca6c 100644
--- a/macros/latex-dev/required/l3kernel/l3kernel-functions.dtx
+++ b/macros/latex-dev/required/l3kernel/l3kernel-functions.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3keys.dtx b/macros/latex-dev/required/l3kernel/l3keys.dtx
index a1d2c01169..f03c628a63 100644
--- a/macros/latex-dev/required/l3kernel/l3keys.dtx
+++ b/macros/latex-dev/required/l3kernel/l3keys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -585,7 +585,7 @@
% by creating sub-keys of the choice key. This can be carried out in
% two ways.
%
-% In many cases, choices execute similar code which is dependant only
+% In many cases, choices execute similar code which is dependent only
% on the name of the choice or the position of the choice in the
% list of all possibilities. Here, the keys can share the same code, and can
% be rapidly created using the \texttt{.choices:nn} property.
@@ -876,7 +876,7 @@
% \cs{keys_set_exclude_groups:nnnN} \Arg{module} \Arg{groups} \Arg{keyval list} \meta{tl}
% \cs{keys_set_exclude_groups:nnnnN} \Arg{module} \Arg{groups} \Arg{keyval list} \meta{root} \meta{tl}
% \end{syntax}
-% Sets keys by excluding those in the specificied \meta{groups}.
+% Sets keys by excluding those in the specified \meta{groups}.
% The \meta{groups} are
% given as a comma-separated list. Unknown keys are not assigned to any
% group and are thus always set. The key--value pairs for each
@@ -891,10 +891,14 @@
% the key names and values are returned.
% \end{function}
%
-% \begin{function}[added = 2013-07-14, updated = 2017-05-27]
+% \begin{function}[added = 2013-07-14, updated = 2024-05-08]
% {
% \keys_set_groups:nnn, \keys_set_groups:nnV,
-% \keys_set_groups:nnv, \keys_set_groups:nno
+% \keys_set_groups:nnv, \keys_set_groups:nno,
+% \keys_set_groups:nnnN, \keys_set_groups:nnVN,
+% \keys_set_groups:nnvN, \keys_set_groups:nnoN,
+% \keys_set_groups:nnnnN, \keys_set_groups:nnVnN,
+% \keys_set_groups:nnvnN, \keys_set_groups:nnonN,
% }
% \begin{syntax}
% \cs{keys_set_groups:nnn} \Arg{module} \Arg{groups} \Arg{keyval list}
@@ -902,7 +906,10 @@
% Activates key filtering in an \enquote{opt-in} sense: only keys assigned to
% one or more of the \meta{groups} specified are set. The \meta{groups} are
% given as a comma-separated list. Unknown keys are not assigned to any
-% group and are thus never set.
+% group and are thus never set. The key--value pairs for each
+% key which is filtered out are stored in the \meta{tl} in a
+% comma-separated form (\emph{i.e.}~an edited version of the \meta{keyval
+% list}). The \cs{keys_set_groups:nnn} version skips this stage
% \end{function}
%
% \section{Digesting keys}
@@ -1667,20 +1674,27 @@
% \end{macrocode}
% \end{variable}
%
-% \begin{variable}{\l_@@_selective_bool, \l_@@_filtered_bool}
+% \begin{variable}{\l_@@_selective_bool, \l_@@_exclude_bool}
% Two booleans for using key groups: one to indicate that \enquote{selective}
% setting is active, a second to specify which type (\enquote{opt-in}
% or \enquote{opt-out}).
% \begin{macrocode}
\bool_new:N \l_@@_selective_bool
-\bool_new:N \l_@@_filtered_bool
+\bool_new:N \l_@@_exclude_bool
% \end{macrocode}
% \end{variable}
%
-% \begin{variable}{\l_@@_selective_seq}
+% \begin{variable}{\l_@@_selective_clist}
% The list of key groups being filtered in or out during selective setting.
% \begin{macrocode}
-\seq_new:N \l_@@_selective_seq
+\seq_new:N \l_@@_selective_clist
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\l_@@_tmp_clist}
+% Scratch space used as a data dump.
+% \begin{macrocode}
+\seq_new:N \l_@@_tmp_clist
% \end{macrocode}
% \end{variable}
%
@@ -2787,36 +2801,58 @@
%
% \subsection{Setting keys}
%
-% \begin{macro}
-% {
-% \keys_set:nn, \keys_set:nV, \keys_set:nv, \keys_set:ne,
-% \keys_set:no, \keys_set:nx,
-% \@@_set:nn
-% }
+% \begin{macro}{\@@_set:nnnnNn}
+% \begin{macro}{\@@_set:nnnnnnnNn}
+% \begin{macro}[EXP]{\@@_reset_bool:N, \@@_reset_var:N}
+% \begin{macro}{\@@_set:nn}
% \begin{macro}{\@@_set:nnn}
-% A simple wrapper allowing for nesting.
-% \begin{macrocode}
-\cs_new_protected:Npn \keys_set:nn #1#2
+% The aim here is to allow nesting of key setting without needing lots of
+% tracking. That is done by expanding the appropriate tokens \enquote{around}
+% the core keyval parsing. As there are several different sub-paths, this
+% needs a few steps and some generic auxiliaries. The arguments here are
+% \begin{enumerate}
+% \item The root for keys
+% \item The key groups
+% \item The keys themselves
+% \item The relative root for return of unset keys
+% \item The \texttt{clist} var for returning unset keys
+% \item The code to set up the correct selection approach
+% \end{enumerate}
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_set:nnnnNn
+ {
+ \exp_args:Nooo \@@_set:nnnnnnnNn
+ \l_@@_unused_clist
+ \l_@@_selective_clist
+ \l_@@_relative_tl
+ }
+\cs_new_protected:Npn \@@_set:nnnnnnnNn #1#2#3#4#5#6#7#8#9
{
+ \clist_clear:N \l_@@_unused_clist
+ \clist_set:Ne \l_@@_selective_clist { \tl_to_str:n {#5} }
+ \tl_set:Nn \l_@@_relative_tl {#7}
\use:e
{
- \bool_set_false:N \exp_not:N \l_@@_only_known_bool
- \bool_set_false:N \exp_not:N \l_@@_filtered_bool
- \bool_set_false:N \exp_not:N \l_@@_selective_bool
- \tl_set:Nn \exp_not:N \l_@@_relative_tl
- { \exp_not:N \q_@@_no_value }
- \@@_set:nn \exp_not:n { {#1} {#2} }
- \bool_if:NT \l_@@_only_known_bool
- { \bool_set_true:N \exp_not:N \l_@@_only_known_bool }
- \bool_if:NT \l_@@_filtered_bool
- { \bool_set_true:N \exp_not:N \l_@@_filtered_bool }
- \bool_if:NT \l_@@_selective_bool
- { \bool_set_true:N \exp_not:N \l_@@_selective_bool }
- \tl_set:Nn \exp_not:N \l_@@_relative_tl
- { \exp_not:o \l_@@_relative_tl }
+ \exp_not:n
+ {
+ #9
+ \@@_set:nn {#4} {#6}
+ }
+ \@@_reset_bool:N \l_@@_only_known_bool
+ \@@_reset_bool:N \l_@@_exclude_bool
+ \@@_reset_bool:N \l_@@_selective_bool
}
+ \clist_set_eq:NN #8 \l_@@_unused_clist
+ \__kernel_tl_set:Nx \l_@@_unused_clist { \exp_not:n {#1} }
+ \__kernel_tl_set:Nx \l_@@_selective_clist {#2}
+ \__kernel_tl_set:Nx \l_@@_relative_tl { \exp_not:n {#3} }
+ }
+\cs_new:Npn \@@_reset_bool:N #1
+ {
+ \exp_not:c
+ { bool_set_ \bool_if:NTF #1 { true } { false } :N }
+ \exp_not:N #1
}
-\cs_generate_variant:Nn \keys_set:nn { nV , nv , ne , no , nx }
\cs_new_protected:Npn \@@_set:nn #1#2
{ \exp_args:No \@@_set:nnn \l_@@_module_str {#1} {#2} }
\cs_new_protected:Npn \@@_set:nnn #1#2#3
@@ -2828,80 +2864,72 @@
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
%
% \begin{macro}
% {
-% \keys_set_known:nnN, \keys_set_known:nVN,
-% \keys_set_known:nvN, \keys_set_known:neN,
-% \keys_set_known:noN
+% \keys_set:nn, \keys_set:nV, \keys_set:nv, \keys_set:ne,
+% \keys_set:no, \keys_set:nx
% }
+% A simple wrapper allowing for nesting.
+% \begin{macrocode}
+\cs_new_protected:Npn \keys_set:nn #1#2
+ {
+ \@@_set:nnnnNn
+ {#1} { } {#2} { \q_@@_no_value } \l_@@_tmp_clist
+ {
+ \bool_set_false:N \l_@@_only_known_bool
+ \bool_set_false:N \l_@@_exclude_bool
+ \bool_set_false:N \l_@@_selective_bool
+ }
+ }
+\cs_generate_variant:Nn \keys_set:nn { nV , nv , ne , no , nx }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}
% {
% \keys_set_known:nnnN, \keys_set_known:nVnN,
% \keys_set_known:nvnN, \keys_set_known:nenN,
% \keys_set_known:nonN
% }
-% \begin{macro}{\@@_set_known:nnnnN}
+% \begin{macro}
+% {
+% \keys_set_known:nnN, \keys_set_known:nVN,
+% \keys_set_known:nvN, \keys_set_known:neN,
+% \keys_set_known:noN
+% }
% \begin{macro}
% {
% \keys_set_known:nn, \keys_set_known:nV,
% \keys_set_known:nv, \keys_set_known:ne,
% \keys_set_known:no
% }
-% \begin{macro}{\@@_set_known:nnn}
-% Setting known keys simply means setting the appropriate boolean, then
-% running the standard code. To allow for nested setting, any existing
-% value of \cs{l_@@_unused_clist} is saved on the stack and reset
-% afterwards. Note that for speed/simplicity reasons we use a \texttt{tl}
-% operation to set the \texttt{clist} here!
+% Simply set the right variables.
% \begin{macrocode}
-\cs_new_protected:Npn \keys_set_known:nnN #1#2#3
- {
- \exp_args:No \@@_set_known:nnnnN
- \l_@@_unused_clist \q_@@_no_value {#1} {#2} #3
- }
-\cs_generate_variant:Nn \keys_set_known:nnN { nV , nv , ne , no }
\cs_new_protected:Npn \keys_set_known:nnnN #1#2#3#4
{
- \exp_args:No \@@_set_known:nnnnN
- \l_@@_unused_clist {#3} {#1} {#2} #4
+ \@@_set:nnnnNn
+ {#1} { } {#2} {#3} #4
+ {
+ \bool_set_true:N \l_@@_only_known_bool
+ \bool_set_false:N \l_@@_exclude_bool
+ \bool_set_false:N \l_@@_selective_bool
+ }
}
\cs_generate_variant:Nn \keys_set_known:nnnN { nV , nv , ne , no }
-\cs_new_protected:Npn \@@_set_known:nnnnN #1#2#3#4#5
- {
- \clist_clear:N \l_@@_unused_clist
- \@@_set_known:nnn {#2} {#3} {#4}
- \__kernel_tl_set:Nx #5 { \exp_not:o \l_@@_unused_clist }
- \__kernel_tl_set:Nx \l_@@_unused_clist { \exp_not:n {#1} }
- }
+\cs_new_protected:Npn \keys_set_known:nnN #1#2#3
+ { \keys_set_known:nnnN {#1} {#2} { \q_@@_no_value } #3 }
+\cs_generate_variant:Nn \keys_set_known:nnN { nV , nv , ne , no }
\cs_new_protected:Npn \keys_set_known:nn #1#2
- { \@@_set_known:nnn \q_@@_no_value {#1} {#2} }
+ { \keys_set_known:nnnN {#1} {#2} { \q_@@_no_value } \l_@@_tmp_clist }
\cs_generate_variant:Nn \keys_set_known:nn { nV , nv , ne , no }
-\cs_new_protected:Npn \@@_set_known:nnn #1#2#3
- {
- \use:e
- {
- \bool_set_true:N \exp_not:N \l_@@_only_known_bool
- \bool_set_false:N \exp_not:N \l_@@_filtered_bool
- \bool_set_false:N \exp_not:N \l_@@_selective_bool
- \tl_set:Nn \exp_not:N \l_@@_relative_tl { \exp_not:n {#1} }
- \@@_set:nn \exp_not:n { {#2} {#3} }
- \bool_if:NF \l_@@_only_known_bool
- { \bool_set_false:N \exp_not:N \l_@@_only_known_bool }
- \bool_if:NT \l_@@_filtered_bool
- { \bool_set_true:N \exp_not:N \l_@@_filtered_bool }
- \bool_if:NT \l_@@_selective_bool
- { \bool_set_true:N \exp_not:N \l_@@_selective_bool }
- \tl_set:Nn \exp_not:N \l_@@_relative_tl
- { \exp_not:o \l_@@_relative_tl }
- }
- }
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
-% \end{macro}
%
% \begin{macro}
% {
@@ -2913,97 +2941,68 @@
% \keys_set_exclude_groups:nnnnN, \keys_set_exclude_groups:nnVnN,
% \keys_set_exclude_groups:nnvnN, \keys_set_exclude_groups:nnonN
% }
-% \begin{macro}{\@@_set_exclude_groups:nnnnnN}
% \begin{macro}
% {
% \keys_set_exclude_groups:nnn, \keys_set_exclude_groups:nnV,
% \keys_set_exclude_groups:nnv, \keys_set_exclude_groups:nno
% }
-% \begin{macro}{\@@_set_exclude_groups:nnnn}
% \begin{macro}
% {
-% \keys_set_groups:nnn, \keys_set_groups:nnV, \keys_set_groups:nnv,
-% \keys_set_groups:nno
+% \keys_set_groups:nnnN, \keys_set_groups:nnVN,
+% \keys_set_groups:nnvN, \keys_set_groups:nnoN
+% }
+% \begin{macro}
+% {
+% \keys_set_groups:nnnnN, \keys_set_groups:nnVnN,
+% \keys_set_groups:nnvnN, \keys_set_groups:nnonN
+% }
+% \begin{macro}
+% {
+% \keys_set_groups:nnn, \keys_set_groups:nnV,
+% \keys_set_groups:nnv, \keys_set_groups:nno
% }
-% \begin{macro}{\@@_set_selective:nnn}
-% \begin{macro}{\@@_set_selective:nnnn}
-% The idea of setting keys in a selective manner again uses booleans
-% wrapped around the basic code. The comments on \cs{keys_set_known:nnN}
-% also apply here. We have a bit more shuffling to do to keep everything
-% nestable.
+% The same for (exclusion) groups.
% \begin{macrocode}
-\cs_new_protected:Npn \keys_set_exclude_groups:nnnN #1#2#3#4
- {
- \exp_args:No \@@_set_exclude_groups:nnnnnN
- \l_@@_unused_clist
- \q_@@_no_value {#1} {#2} {#3} #4
- }
-\cs_generate_variant:Nn \keys_set_exclude_groups:nnnN { nnV , nnv , nno }
\cs_new_protected:Npn \keys_set_exclude_groups:nnnnN #1#2#3#4#5
{
- \exp_args:No \@@_set_exclude_groups:nnnnnN
- \l_@@_unused_clist {#4} {#1} {#2} {#3} #5
+ \@@_set:nnnnNn
+ {#1} {#2} {#3} {#4} #5
+ {
+ \bool_set_false:N \l_@@_only_known_bool
+ \bool_set_true:N \l_@@_exclude_bool
+ \bool_set_true:N \l_@@_selective_bool
+ }
}
\cs_generate_variant:Nn \keys_set_exclude_groups:nnnnN { nnV , nnv , nno }
-\cs_new_protected:Npn \@@_set_exclude_groups:nnnnnN #1#2#3#4#5#6
+\cs_new_protected:Npn \keys_set_exclude_groups:nnnN #1#2#3#4
+ { \keys_set_exclude_groups:nnnnN {#1} {#2} {#3} { \q_@@_no_value } #4 }
+\cs_generate_variant:Nn \keys_set_exclude_groups:nnnN { nnV , nnv , nno }
+\cs_new_protected:Npn \keys_set_exclude_groups:nnn #1#2#3
{
- \clist_clear:N \l_@@_unused_clist
- \@@_set_exclude_groups:nnnn {#2} {#3} {#4} {#5}
- \__kernel_tl_set:Nx #6 { \exp_not:o \l_@@_unused_clist }
- \__kernel_tl_set:Nx \l_@@_unused_clist { \exp_not:n {#1} }
+ \keys_set_exclude_groups:nnnnN {#1} {#2} {#3}
+ { \q_@@_no_value } \l_@@_tmp_clist
}
-\cs_new_protected:Npn \keys_set_exclude_groups:nnn #1#2#3
- {\@@_set_exclude_groups:nnnn \q_@@_no_value {#1} {#2} {#3} }
\cs_generate_variant:Nn \keys_set_exclude_groups:nnn { nnV , nnv , nno }
-\cs_new_protected:Npn \@@_set_exclude_groups:nnnn #1#2#3#4
+\cs_new_protected:Npn \keys_set_groups:nnnnN #1#2#3#4#5
{
- \use:e
+ \@@_set:nnnnNn
+ {#1} {#2} {#3} {#4} #5
{
- \bool_set_false:N \exp_not:N \l_@@_only_known_bool
- \bool_set_true:N \exp_not:N \l_@@_filtered_bool
- \bool_set_true:N \exp_not:N \l_@@_selective_bool
- \tl_set:Nn \exp_not:N \l_@@_relative_tl { \exp_not:n {#1} }
- \@@_set_selective:nnn \exp_not:n { {#2} {#3} {#4} }
- \bool_if:NT \l_@@_only_known_bool
- { \bool_set_true:N \exp_not:N \l_@@_only_known_bool }
- \bool_if:NF \l_@@_filtered_bool
- { \bool_set_false:N \exp_not:N \l_@@_filtered_bool }
- \bool_if:NF \l_@@_selective_bool
- { \bool_set_false:N \exp_not:N \l_@@_selective_bool }
- \tl_set:Nn \exp_not:N \l_@@_relative_tl
- { \exp_not:o \l_@@_relative_tl }
+ \bool_set_false:N \l_@@_only_known_bool
+ \bool_set_false:N \l_@@_exclude_bool
+ \bool_set_true:N \l_@@_selective_bool
}
}
+\cs_generate_variant:Nn \keys_set_groups:nnnnN { nnV , nnv , nno }
+\cs_new_protected:Npn \keys_set_groups:nnnN #1#2#3#4
+ { \keys_set_groups:nnnnN {#1} {#2} {#3} { \q_@@_no_value } #4 }
+\cs_generate_variant:Nn \keys_set_groups:nnnN { nnV , nnv , nno }
\cs_new_protected:Npn \keys_set_groups:nnn #1#2#3
{
- \use:e
- {
- \bool_set_false:N \exp_not:N \l_@@_only_known_bool
- \bool_set_false:N \exp_not:N \l_@@_filtered_bool
- \bool_set_true:N \exp_not:N \l_@@_selective_bool
- \tl_set:Nn \exp_not:N \l_@@_relative_tl
- { \exp_not:N \q_@@_no_value }
- \@@_set_selective:nnn \exp_not:n { {#1} {#2} {#3} }
- \bool_if:NT \l_@@_only_known_bool
- { \bool_set_true:N \exp_not:N \l_@@_only_known_bool }
- \bool_if:NF \l_@@_filtered_bool
- { \bool_set_true:N \exp_not:N \l_@@_filtered_bool }
- \bool_if:NF \l_@@_selective_bool
- { \bool_set_false:N \exp_not:N \l_@@_selective_bool }
- \tl_set:Nn \exp_not:N \l_@@_relative_tl
- { \exp_not:o \l_@@_relative_tl }
- }
+ \keys_set_groups:nnnnN {#1} {#2} {#3}
+ { \q_@@_no_value } \l_@@_tmp_clist
}
\cs_generate_variant:Nn \keys_set_groups:nnn { nnV , nnv , nno }
-\cs_new_protected:Npn \@@_set_selective:nnn
- { \exp_args:No \@@_set_selective:nnnn \l_@@_selective_seq }
-\cs_new_protected:Npn \@@_set_selective:nnnn #1#2#3#4
- {
- \exp_args:NNe \seq_set_from_clist:Nn
- \l_@@_selective_seq { \tl_to_str:n {#3} }
- \@@_set:nn {#2} {#4}
- \tl_set:Nn \l_@@_selective_seq {#1}
- }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -3011,8 +3010,6 @@
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
-% \end{macro}
%
% \begin{macro}{\keys_precompile:nnN}
% A simple wrapper.
@@ -3127,7 +3124,7 @@
\@@_check_groups:
}
{
- \bool_if:NTF \l_@@_filtered_bool
+ \bool_if:NTF \l_@@_exclude_bool
\@@_execute:
\@@_store_unused:
}
@@ -3138,7 +3135,7 @@
% set active. That requires two mappings, and again a different outcome
% depending on whether opt-in or opt-out is set.
% It is safe to use \cs{clist_if_in:NnTF} because
-% both \cs{l_@@_selective_seq} and \cs{l_@@_groups_clist} contain the
+% both \cs{l_@@_selective_clist} and \cs{l_@@_groups_clist} contain the
% groups as strings, without leading/trailing spaces in any item,
% since the \pkg{l3clist} functions were applied to the result of
% applying \cs{tl_to_str:n}.
@@ -3146,22 +3143,22 @@
\cs_new_protected:Npn \@@_check_groups:
{
\bool_set_false:N \l_@@_tmp_bool
- \seq_map_inline:Nn \l_@@_selective_seq
+ \clist_map_inline:Nn \l_@@_selective_clist
{
\clist_if_in:NnT \l_@@_groups_clist {##1}
{
\bool_set_true:N \l_@@_tmp_bool
- \seq_map_break:
+ \clist_map_break:
}
}
\bool_if:NTF \l_@@_tmp_bool
{
- \bool_if:NTF \l_@@_filtered_bool
+ \bool_if:NTF \l_@@_exclude_bool
\@@_store_unused:
\@@_execute:
}
{
- \bool_if:NTF \l_@@_filtered_bool
+ \bool_if:NTF \l_@@_exclude_bool
\@@_execute:
\@@_store_unused:
}
diff --git a/macros/latex-dev/required/l3kernel/l3legacy.dtx b/macros/latex-dev/required/l3kernel/l3legacy.dtx
index ed7dadf222..fd30799ea1 100644
--- a/macros/latex-dev/required/l3kernel/l3legacy.dtx
+++ b/macros/latex-dev/required/l3kernel/l3legacy.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3luatex.dtx b/macros/latex-dev/required/l3kernel/l3luatex.dtx
index f0107d465b..19d92a1591 100644
--- a/macros/latex-dev/required/l3kernel/l3luatex.dtx
+++ b/macros/latex-dev/required/l3kernel/l3luatex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -452,7 +452,7 @@ ltxutils.filedump = filedump
%
% \begin{macro}[int]{md5.HEX}
% Hash a string and return the hash in uppercase hexadecimal format.
-% In some engines, this is build-in. For traditional \LuaTeX{}, the conversion
+% In some engines, this is built-in. For traditional \LuaTeX{}, the conversion
% to hexadecimal has to be done by us.
% \begin{macrocode}
local md5_HEX = md5.HEX
@@ -664,7 +664,7 @@ end)
%<@@=lua>
% \end{macrocode}
%
-% The Lua state is not dumped when a forat is written, therefore any Lua
+% The Lua state is not dumped when a format is written, therefore any Lua
% variables filled doing format building need to be restored in order to
% be accessible during normal runs.
%
diff --git a/macros/latex-dev/required/l3kernel/l3msg.dtx b/macros/latex-dev/required/l3kernel/l3msg.dtx
index ab4d882dcb..96fc231193 100644
--- a/macros/latex-dev/required/l3kernel/l3msg.dtx
+++ b/macros/latex-dev/required/l3kernel/l3msg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -92,7 +92,7 @@
% will allow to filter out specifically messages from the \texttt{submodule}.
%
% Some authors may find the need to include spaces as |~| characters
-% tedious. This can be avoided by locally reseting the cateogry code
+% tedious. This can be avoided by locally resetting the category code
% of \verb*| |.
% \begin{verbatim}
% \char_set_catcode_space:n { `\ }
@@ -203,7 +203,9 @@
% \end{quote}
% This function can be redefined to alter the language in which the
% message is given, using |#1| as the name of the \meta{module} to
-% be included.
+% be included. Any redefinition \emph{must} produce output containing
+% the \meta{module} name, and will affect all messages using the
+% \pkg{expl3} mechanism.
% \end{function}
%
% \begin{function}[EXP]{\msg_critical_text:n}
@@ -217,7 +219,9 @@
% \end{quote}
% This function can be redefined to alter the language in which the
% message is given, using |#1| as the name of the \meta{module} to
-% be included.
+% be included. Any redefinition \emph{must} produce output containing
+% the \meta{module} name, and will affect all messages using the
+% \pkg{expl3} mechanism.
% \end{function}
%
% \begin{function}[EXP]{\msg_error_text:n}
@@ -231,7 +235,9 @@
% \end{quote}
% This function can be redefined to alter the language in which the
% message is given, using |#1| as the name of the \meta{module} to
-% be included.
+% be included. Any redefinition \emph{must} produce output containing
+% the \meta{module} name, and will affect all messages using the
+% \pkg{expl3} mechanism.
% \end{function}
%
% \begin{function}[EXP]{\msg_warning_text:n}
@@ -247,6 +253,9 @@
% message is given, using |#1| as the name of the \meta{module} to
% be included. The \meta{type} of \meta{module} may be adjusted:
% |Package| is the standard outcome: see \cs{msg_module_type:n}.
+% Any redefinition \emph{must} produce output containing
+% the \meta{module} name, and will affect all messages using the
+% \pkg{expl3} mechanism.
% \end{function}
%
% \begin{function}[EXP]{\msg_info_text:n}
@@ -262,6 +271,9 @@
% message is given, using |#1| as the name of the \meta{module} to
% be included. The \meta{type} of \meta{module} may be adjusted:
% |Package| is the standard outcome: see \cs{msg_module_type:n}.
+% Any redefinition \emph{must} produce output containing
+% the \meta{module} name, and will affect all messages using the
+% \pkg{expl3} mechanism.
% \end{function}
%
% \begin{function}[EXP,updated = 2018-09-30]{\msg_see_documentation_text:n}
diff --git a/macros/latex-dev/required/l3kernel/l3names.dtx b/macros/latex-dev/required/l3kernel/l3names.dtx
index 468481c28c..c2af4697f2 100644
--- a/macros/latex-dev/required/l3kernel/l3names.dtx
+++ b/macros/latex-dev/required/l3kernel/l3names.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -1540,7 +1540,7 @@ end, 'global')
% \begin{macro}[no-user-doc]{\tex_filedump:D}
% An emulated primitive for getting a hexdump from a (partial) file.
% The length has a default of |0|. This is consistent with
-% \pdfTeX, but it effectivly makes the primitive useless without an
+% \pdfTeX, but it effectively makes the primitive useless without an
% explicit |length|. Therefore we allow the keyword |whole| to be used
% instead of a length, indicating that the whole remaining file should
% be read.
diff --git a/macros/latex-dev/required/l3kernel/l3news.pdf b/macros/latex-dev/required/l3kernel/l3news.pdf
index 591ab927d3..dd143fa9e6 100644
--- a/macros/latex-dev/required/l3kernel/l3news.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news01.pdf b/macros/latex-dev/required/l3kernel/l3news01.pdf
index c8a490c9cb..5b3278a9c0 100644
--- a/macros/latex-dev/required/l3kernel/l3news01.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news01.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news02.pdf b/macros/latex-dev/required/l3kernel/l3news02.pdf
index f3ab2dbd18..cf92aa6e2b 100644
--- a/macros/latex-dev/required/l3kernel/l3news02.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news02.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news03.pdf b/macros/latex-dev/required/l3kernel/l3news03.pdf
index 268bfdca04..bfec3ed2d1 100644
--- a/macros/latex-dev/required/l3kernel/l3news03.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news03.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news04.pdf b/macros/latex-dev/required/l3kernel/l3news04.pdf
index b70a04f2bd..ffda2b9917 100644
--- a/macros/latex-dev/required/l3kernel/l3news04.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news04.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news05.pdf b/macros/latex-dev/required/l3kernel/l3news05.pdf
index 87c46a0c2a..36d6f0617b 100644
--- a/macros/latex-dev/required/l3kernel/l3news05.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news05.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news06.pdf b/macros/latex-dev/required/l3kernel/l3news06.pdf
index d4c6ce71a1..35f4d87bbd 100644
--- a/macros/latex-dev/required/l3kernel/l3news06.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news06.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news07.pdf b/macros/latex-dev/required/l3kernel/l3news07.pdf
index f11e905a9b..6e60a66006 100644
--- a/macros/latex-dev/required/l3kernel/l3news07.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news07.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news08.pdf b/macros/latex-dev/required/l3kernel/l3news08.pdf
index a56eff92d2..e1912b8a38 100644
--- a/macros/latex-dev/required/l3kernel/l3news08.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news08.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news09.pdf b/macros/latex-dev/required/l3kernel/l3news09.pdf
index 660eae9025..85edc9f516 100644
--- a/macros/latex-dev/required/l3kernel/l3news09.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news09.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news09.tex b/macros/latex-dev/required/l3kernel/l3news09.tex
index 55ed700a2c..43293ff1d6 100644
--- a/macros/latex-dev/required/l3kernel/l3news09.tex
+++ b/macros/latex-dev/required/l3kernel/l3news09.tex
@@ -1421,7 +1421,7 @@ Basically help is possible on any level and it doesn't need to involve programmi
\item help on shaping the document interface layer
\end{itemize}
These concepts, as well as their implementation, are under discussion on the list \texttt{latex-l}.\footnote{Instructions for joining and browsing archives at:\\ \url{http://latex-project.org/code.html}}
-The list has only a fairly low level of traffic right now as actual implementation and development tasks are typically discussed directly among the few active implementors. But this might change if more people join.
+The list has only a fairly low level of traffic right now as actual implementation and development tasks are typically discussed directly among the few active implementers. But this might change if more people join.
\subsection{And something else \dots}
diff --git a/macros/latex-dev/required/l3kernel/l3news10.pdf b/macros/latex-dev/required/l3kernel/l3news10.pdf
index f33607fe58..80187c9117 100644
--- a/macros/latex-dev/required/l3kernel/l3news10.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news10.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news11.pdf b/macros/latex-dev/required/l3kernel/l3news11.pdf
index 192d1d97cc..10daf64a29 100644
--- a/macros/latex-dev/required/l3kernel/l3news11.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news11.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news12.pdf b/macros/latex-dev/required/l3kernel/l3news12.pdf
index c974194673..3f5955a1fc 100644
--- a/macros/latex-dev/required/l3kernel/l3news12.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news12.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3pdf.dtx b/macros/latex-dev/required/l3kernel/l3pdf.dtx
index b0b17f2690..007cb5b5ad 100644
--- a/macros/latex-dev/required/l3kernel/l3pdf.dtx
+++ b/macros/latex-dev/required/l3kernel/l3pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -179,11 +179,13 @@
% created. This is particularly useful for anonymous objects.
% \end{function}
%
-% \begin{function}[EXP, added = 2021-02-10]{\pdf_pageobject_ref:n}
+% \begin{function}[EXP, added = 2021-02-10, updated = 2024-04-22]
+% {\pdf_pageobject_ref:n}
% \begin{syntax}
-% \cs{pdf_pagobject_ref:n} \Arg{pageobject}
+% \cs{pdf_pageobject_ref:n} \Arg{abspage}
% \end{syntax}
-% Inserts the appropriate information to reference the \meta{pageobject}.
+% Inserts the appropriate information to reference the \meta{abspage};
+% the latter is expanded fully before further processing.
% \end{function}
%
% \section{Version}
@@ -230,6 +232,9 @@
% \end{syntax}
% Sets the page size (mediabox) of the PDF being created to the
% \meta{width} and \meta{height}, both of which are \meta{dimexpr}.
+% The page size can only be set at the start of the output with
+% \texttt{dvips}; with other backends, this can be adjusted on a
+% per-page basis.
% \end{function}
%
% \section{Compression}
@@ -659,7 +664,7 @@ end,'global')
% \begin{macro}{\pdf_pageobject_ref:n}
% \begin{macrocode}
\cs_new:Npn \pdf_pageobject_ref:n #1
- { \@@_backend_pageobject_ref:n {#1} }
+ { \exp_args:Ne \@@_backend_pageobject_ref:n {#1} }
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex-dev/required/l3kernel/l3prefixes.csv b/macros/latex-dev/required/l3kernel/l3prefixes.csv
index 54fb41bdeb..7baa984582 100644
--- a/macros/latex-dev/required/l3kernel/l3prefixes.csv
+++ b/macros/latex-dev/required/l3kernel/l3prefixes.csv
@@ -96,6 +96,7 @@ fmuft,unicodefonttable,Frank Mittelbach,https://www.latex-project.org/,https://g
fmwao,widows-and-orphans,Frank Mittelbach,https://www.latex-project.org/,https://github.com/FrankMittelbach/fmitex-widows-and-orphans.git,https://github.com/FrankMittelbach/fmitex-widows-and-orphans/issues,2018-09-26,2018-09-26,
fnote,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex2e.git,https://github.com/latex3/latex2e/issues,2023-10-17,2023-10-17,
fnpct,fnpct,Clemens Niederberger,https://github.com/cgnieder/fnpct/,https://github.com/cgnieder/fnpct.git,https://github.com/cgnieder/fnpct/issues,2013-03-16,2020-04-14,
+fontscale,fontscale,Oliver Beery,https://github.com/beeryoliver/fontscale,https://github.com/beeryoliver/fontscale.git,https://github.com/beeryoliver/fontscale/issues,2024-04-18,2024-04-18,
fontsizes,fontsizes,Julien Rivaud,,,,,2018-06-13,
fontspec,fontspec,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/fontspec.git,https://github.com/latex3/fontspec/issues,2013-03-16,2024-02-15,
fp,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
@@ -124,9 +125,11 @@ intarray,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,ht
ior,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
iot,iot,Island of TeX,https://islandoftex.gitlab.io,https://gitlab.com/islandoftex/texmf,https://gitlab.com/groups/islandoftex/texmf/-/issues,2023-07-18,2023-07-18,
iow,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
+istqb,istqb,Vít Starý Novotný,https://github.com/istqborg/istqb_product_base/,https://github.com/istqborg/istqb_product_base.git,https://github.com/istqborg/istqb_product_base/issues,2024-04-24,2024-04-24,
iwonamath,iwonamath,Boris Veytsman,https://github.com/borisveytsman/iwonamath,https://github.com/borisveytsman/iwonamath,https://github.com/borisveytsman/iwonamath/issues,2023-09-04,2023-09-04,
jiazhu,jiazhu,Qing Lee,https://github.com/CTeX-org/ctex-kit,https://github.com/CTeX-org/ctex-kit.git,https://github.com/CTeX-org/ctex-kit/issues,2020-05-17,2020-05-17,
job,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2021-04-23,2021-04-23,
+jsonparse,jsonparse,Jasper Habicht,https://github.com/jasperhabicht/jsonparse,https://github.com/jasperhabicht/jsonparse/jsponsparse.git,https://github.com/jasperhabicht/jsonparse/issues,2024-04-14,2024-04-14,
kernel,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
keys,"l3kernel,l3keys2e,ltkeys",The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
keyval,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
@@ -137,11 +140,11 @@ left,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https:
lltxmath,lualatex-math,Philipp Stephani,https://github.com/phst/lualatex-math,https://github.com/phst/lualatex-math.git,https://github.com/phst/lualatex-math/issues,2012-11-07,2012-11-07,
log,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
lua,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
-luabridge,lt3luabridge,Vít Novotný,https://ctan.org/pkg/lt3luabridge,https://github.com/witiko/lt3luabridge.git,https://github.com/witiko/lt3luabridge/issues,2022-06-25,2022-06-25,
+luabridge,lt3luabridge,Vít Starý Novotný,https://ctan.org/pkg/lt3luabridge,https://github.com/witiko/lt3luabridge.git,https://github.com/witiko/lt3luabridge/issues,2022-06-25,2024-04-24,
luatex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
lwc,lua-widow-control,Max Chernoff,https://github.com/gucci-on-fleek/lua-widow-control,https://github.com/gucci-on-fleek/lua-widow-control.git,https://github.com/gucci-on-fleek/lua-widow-control/issues,2022-02-24,2022-02-24,
mark,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
-markdown,markdown,Vít Novotný,https://ctan.org/pkg/markdown,https://github.com/witiko/markdown.git,https://github.com/witiko/markdown/issues,2021-09-08,2021-09-08,
+markdown,markdown,Vít Starý Novotný,https://ctan.org/pkg/markdown,https://github.com/witiko/markdown.git,https://github.com/witiko/markdown/issues,2021-09-08,2024-04-24,
marks,l3kernel/xmarks,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2020-02-17,2020-02-17,
marks,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex2e.git,https://github.com/latex3/latex2e/issues,2021-03-03,2021-03-03,
math,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
@@ -218,6 +221,7 @@ reverse,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,htt
right,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
rivbook,rivbook,Julien Rivaud,,,,2018-06-13,2018-06-14,
rivmath,rivmath,Julien Rivaud,,,,2018-06-13,2018-06-13,
+rpgicons,rpgicons,Jasper Habicht,https://github.com/jasperhabicht/rpgicons,https://github.com/jasperhabicht/rpgicons/rpgicons.git,https://github.com/jasperhabicht/rpgicons/issues,2024-04-29,2024-04-29,
sanuml,sanitize-umlaut,Thomas F. Sturm,https://github.com/T-F-S/sanitize-umlaut,https://github.com/T-F-S/sanitize-umlaut.git,https://github.com/T-F-S/sanitize-umlaut/issues,2022-07-19,2022-07-19,
scan,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
schulma,schulmathematik,Keno Wehr,https://ctan.org/pkg/schulmathematik,,,2021-08-23,2021-08-23,
@@ -275,6 +279,7 @@ vcoffin,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,htt
wheelchart,wheelchart,Matthias Floré,,,,2023-12-07,2023-12-07,
withargs,withargs,Michiel Helvensteijn,,,,2014-02-05,2014-02-05,
witharrows,witharrows,François Pantigny,,,,2019-12-19,2019-12-19,
+wstf,wrapstuff,Qing Lee,https://github.com/qinglee/wrapstuff,https://github.com/qinglee/wrapstuff.git,https://github.com/qinglee/wrapstuff/issues,2024-04-18,2024-04-18,
xeCJK,xecjk,Qing Lee,https://github.com/CTeX-org/ctex-kit,https://github.com/CTeX-org/ctex-kit.git,https://github.com/CTeX-org/ctex-kit/issues,2013-05-26,2013-05-26,
xetex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
xfrac,xfrac,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/xfrac.git,https://github.com/latex3/xfrac/issues,2012-09-27,2024-02-14,
diff --git a/macros/latex-dev/required/l3kernel/l3prefixes.pdf b/macros/latex-dev/required/l3kernel/l3prefixes.pdf
index f3241dfd65..d90fd943f7 100644
--- a/macros/latex-dev/required/l3kernel/l3prefixes.pdf
+++ b/macros/latex-dev/required/l3kernel/l3prefixes.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3prg.dtx b/macros/latex-dev/required/l3kernel/l3prg.dtx
index ea76955d82..96ef859b3f 100644
--- a/macros/latex-dev/required/l3kernel/l3prg.dtx
+++ b/macros/latex-dev/required/l3kernel/l3prg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3prop.dtx b/macros/latex-dev/required/l3kernel/l3prop.dtx
index 6d8054e956..3350b27792 100644
--- a/macros/latex-dev/required/l3kernel/l3prop.dtx
+++ b/macros/latex-dev/required/l3kernel/l3prop.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -299,12 +299,24 @@
% codes are ignored.
% \end{function}
%
-% \begin{function}[added = 2024-03-30]
+% \begin{function}[added = 2024-03-30, updated = 2024-05-07]
% {
-% \prop_put_if_not_in:Nnn, \prop_put_if_not_in:NVn, \prop_put_if_not_in:NnV,
-% \prop_put_if_not_in:cnn, \prop_put_if_not_in:cVn, \prop_put_if_not_in:cnV,
-% \prop_gput_if_not_in:Nnn, \prop_gput_if_not_in:NVn, \prop_gput_if_not_in:NnV,
-% \prop_gput_if_not_in:cnn, \prop_gput_if_not_in:cVn, \prop_gput_if_not_in:cnV
+% \prop_put_if_not_in:Nnn, \prop_put_if_not_in:NnV, \prop_put_if_not_in:Nnv, \prop_put_if_not_in:Nne,
+% \prop_put_if_not_in:NVn, \prop_put_if_not_in:NVV, \prop_put_if_not_in:NVv, \prop_put_if_not_in:NVe,
+% \prop_put_if_not_in:Nvn, \prop_put_if_not_in:NvV, \prop_put_if_not_in:Nvv, \prop_put_if_not_in:Nve,
+% \prop_put_if_not_in:Nen, \prop_put_if_not_in:NeV, \prop_put_if_not_in:Nev, \prop_put_if_not_in:Nee,
+% \prop_put_if_not_in:cnn, \prop_put_if_not_in:cnV, \prop_put_if_not_in:cnv, \prop_put_if_not_in:cne,
+% \prop_put_if_not_in:cVn, \prop_put_if_not_in:cVV, \prop_put_if_not_in:cVv, \prop_put_if_not_in:cVe,
+% \prop_put_if_not_in:cvn, \prop_put_if_not_in:cvV, \prop_put_if_not_in:cvv, \prop_put_if_not_in:cve,
+% \prop_put_if_not_in:cen, \prop_put_if_not_in:ceV, \prop_put_if_not_in:cev, \prop_put_if_not_in:cee,
+% \prop_gput_if_not_in:Nnn, \prop_gput_if_not_in:NnV, \prop_gput_if_not_in:Nnv, \prop_gput_if_not_in:Nne,
+% \prop_gput_if_not_in:NVn, \prop_gput_if_not_in:NVV, \prop_gput_if_not_in:NVv, \prop_gput_if_not_in:NVe,
+% \prop_gput_if_not_in:Nvn, \prop_gput_if_not_in:NvV, \prop_gput_if_not_in:Nvv, \prop_gput_if_not_in:Nve,
+% \prop_gput_if_not_in:Nen, \prop_gput_if_not_in:NeV, \prop_gput_if_not_in:Nev, \prop_gput_if_not_in:Nee,
+% \prop_gput_if_not_in:cnn, \prop_gput_if_not_in:cnV, \prop_gput_if_not_in:cnv, \prop_gput_if_not_in:cne,
+% \prop_gput_if_not_in:cVn, \prop_gput_if_not_in:cVV, \prop_gput_if_not_in:cVv, \prop_gput_if_not_in:cVe,
+% \prop_gput_if_not_in:cvn, \prop_gput_if_not_in:cvV, \prop_gput_if_not_in:cvv, \prop_gput_if_not_in:cve,
+% \prop_gput_if_not_in:cen, \prop_gput_if_not_in:ceV, \prop_gput_if_not_in:cev, \prop_gput_if_not_in:cee
% }
% \begin{syntax}
% \cs{prop_put_if_not_in:Nnn} \meta{property list} \Arg{key} \Arg{value}
@@ -1940,10 +1952,22 @@
% }
% \begin{macro}[tested = m3prop002]
% {
-% \prop_put_if_not_in:Nnn, \prop_put_if_not_in:NVn, \prop_put_if_not_in:NnV,
-% \prop_put_if_not_in:cnn, \prop_put_if_not_in:cVn, \prop_put_if_not_in:cnV,
-% \prop_gput_if_not_in:Nnn, \prop_gput_if_not_in:NVn, \prop_gput_if_not_in:NnV,
-% \prop_gput_if_not_in:cnn, \prop_gput_if_not_in:cVn, \prop_gput_if_not_in:cnV
+% \prop_put_if_not_in:Nnn, \prop_put_if_not_in:NnV, \prop_put_if_not_in:Nnv, \prop_put_if_not_in:Nne,
+% \prop_put_if_not_in:NVn, \prop_put_if_not_in:NVV, \prop_put_if_not_in:NVv, \prop_put_if_not_in:NVe,
+% \prop_put_if_not_in:Nvn, \prop_put_if_not_in:NvV, \prop_put_if_not_in:Nvv, \prop_put_if_not_in:Nve,
+% \prop_put_if_not_in:Nen, \prop_put_if_not_in:NeV, \prop_put_if_not_in:Nev, \prop_put_if_not_in:Nee,
+% \prop_put_if_not_in:cnn, \prop_put_if_not_in:cnV, \prop_put_if_not_in:cnv, \prop_put_if_not_in:cne,
+% \prop_put_if_not_in:cVn, \prop_put_if_not_in:cVV, \prop_put_if_not_in:cVv, \prop_put_if_not_in:cVe,
+% \prop_put_if_not_in:cvn, \prop_put_if_not_in:cvV, \prop_put_if_not_in:cvv, \prop_put_if_not_in:cve,
+% \prop_put_if_not_in:cen, \prop_put_if_not_in:ceV, \prop_put_if_not_in:cev, \prop_put_if_not_in:cee,
+% \prop_gput_if_not_in:Nnn, \prop_gput_if_not_in:NnV, \prop_gput_if_not_in:Nnv, \prop_gput_if_not_in:Nne,
+% \prop_gput_if_not_in:NVn, \prop_gput_if_not_in:NVV, \prop_gput_if_not_in:NVv, \prop_gput_if_not_in:NVe,
+% \prop_gput_if_not_in:Nvn, \prop_gput_if_not_in:NvV, \prop_gput_if_not_in:Nvv, \prop_gput_if_not_in:Nve,
+% \prop_gput_if_not_in:Nen, \prop_gput_if_not_in:NeV, \prop_gput_if_not_in:Nev, \prop_gput_if_not_in:Nee,
+% \prop_gput_if_not_in:cnn, \prop_gput_if_not_in:cnV, \prop_gput_if_not_in:cnv, \prop_gput_if_not_in:cne,
+% \prop_gput_if_not_in:cVn, \prop_gput_if_not_in:cVV, \prop_gput_if_not_in:cVv, \prop_gput_if_not_in:cVe,
+% \prop_gput_if_not_in:cvn, \prop_gput_if_not_in:cvV, \prop_gput_if_not_in:cvv, \prop_gput_if_not_in:cve,
+% \prop_gput_if_not_in:cen, \prop_gput_if_not_in:ceV, \prop_gput_if_not_in:cev, \prop_gput_if_not_in:cee
% }
% \begin{macro}[tested = m3prop002]
% {
@@ -2006,9 +2030,19 @@
\cs_generate_variant:Nn \prop_gput:Nnn
{ cno , co , coo , cnx , cVx , cxV , cxx }
\cs_generate_variant:Nn \prop_put_if_not_in:Nnn
- { NnV , NV , c , cnV , cV }
+ {
+ NnV , Nnv , Nne , NV , NVV , NVv , NVe ,
+ Nv , NvV , Nvv , Nve , Ne , NeV , Nev , Nee ,
+ c , cnV , cnv , cne , cV , cVV , cVv , cVe ,
+ cv , cvV , cvv , cve , ce , ceV , cev , cee
+ }
\cs_generate_variant:Nn \prop_gput_if_not_in:Nnn
- { NnV , NV , c , cnV , cV }
+ {
+ NnV , Nnv , Nne , NV , NVV , NVv , NVe ,
+ Nv , NvV , Nvv , Nve , Ne , NeV , Nev , Nee ,
+ c , cnV , cnv , cne , cV , cVV , cVv , cVe ,
+ cv , cvV , cvv , cve , ce , ceV , cev , cee
+ }
% \end{macrocode}
% Since the true branch of \cs{@@_split:NnTFn} is used as the
% replacement text of an internal macro, and since the \meta{key} and
diff --git a/macros/latex-dev/required/l3kernel/l3quark.dtx b/macros/latex-dev/required/l3kernel/l3quark.dtx
index 6dba950462..c989bd4024 100644
--- a/macros/latex-dev/required/l3kernel/l3quark.dtx
+++ b/macros/latex-dev/required/l3kernel/l3quark.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3regex.dtx b/macros/latex-dev/required/l3kernel/l3regex.dtx
index ce85b56262..ad44b8c6f9 100644
--- a/macros/latex-dev/required/l3kernel/l3regex.dtx
+++ b/macros/latex-dev/required/l3kernel/l3regex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -2047,9 +2047,9 @@
% phase. Compiled regular expressions consist of the following:
% \begin{itemize}
% \item \cs{@@_class:NnnnN} \meta{boolean} \Arg{tests} \Arg{min}
-% \Arg{more} \meta{lazyness}
+% \Arg{more} \meta{laziness}
% \item \cs{@@_group:nnnN} \Arg{branches} \Arg{min} \Arg{more}
-% \meta{lazyness}, also \cs{@@_group_no_capture:nnnN} and
+% \meta{laziness}, also \cs{@@_group_no_capture:nnnN} and
% \cs{@@_group_resetting:nnnN} with the same syntax.
% \item \cs{@@_branch:n} \Arg{contents}
% \item \cs{@@_command_K:}
@@ -2638,7 +2638,7 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\@@_compile_quantifier_lazyness:nnNN}
+% \begin{macro}{\@@_compile_quantifier_laziness:nnNN}
% Once the \enquote{main} quantifier (\texttt{?}, \texttt{*},
% \texttt{+} or a braced construction) is found, we check whether it
% is lazy (followed by a question mark). We then add to the compiled
@@ -2646,7 +2646,7 @@
% the start-point of the range, its end-point, and a boolean,
% \texttt{true} for lazy and \texttt{false} for greedy operators.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_compile_quantifier_lazyness:nnNN #1#2#3#4
+\cs_new_protected:Npn \@@_compile_quantifier_laziness:nnNN #1#2#3#4
{
\@@_two_if_eq:NNNNTF #3 #4 \@@_compile_special:N ?
{
@@ -2669,15 +2669,15 @@
% \@@_compile_quantifier_+:w
% }
% For each \enquote{basic} quantifier, |?|, |*|, |+|, feed the correct
-% arguments to \cs{@@_compile_quantifier_lazyness:nnNN}, $-1$ means
+% arguments to \cs{@@_compile_quantifier_laziness:nnNN}, $-1$ means
% that there is no upper bound on the number of repetitions.
% \begin{macrocode}
\cs_new_protected:cpn { @@_compile_quantifier_?:w }
- { \@@_compile_quantifier_lazyness:nnNN { 0 } { 1 } }
+ { \@@_compile_quantifier_laziness:nnNN { 0 } { 1 } }
\cs_new_protected:cpn { @@_compile_quantifier_*:w }
- { \@@_compile_quantifier_lazyness:nnNN { 0 } { -1 } }
+ { \@@_compile_quantifier_laziness:nnNN { 0 } { -1 } }
\cs_new_protected:cpn { @@_compile_quantifier_+:w }
- { \@@_compile_quantifier_lazyness:nnNN { 1 } { -1 } }
+ { \@@_compile_quantifier_laziness:nnNN { 1 } { -1 } }
% \end{macrocode}
% \end{macro}
%
@@ -2711,7 +2711,7 @@
{
{ \@@_compile_special:N \c_right_brace_str }
{
- \exp_args:No \@@_compile_quantifier_lazyness:nnNN
+ \exp_args:No \@@_compile_quantifier_laziness:nnNN
{ \int_use:N \l_@@_internal_a_int } 0
}
{ \@@_compile_special:N , }
@@ -2731,7 +2731,7 @@
{
\@@_two_if_eq:NNNNTF #1 #2 \@@_compile_special:N \c_right_brace_str
{
- \exp_args:No \@@_compile_quantifier_lazyness:nnNN
+ \exp_args:No \@@_compile_quantifier_laziness:nnNN
{ \int_use:N \l_@@_internal_a_int } { -1 }
}
{
@@ -2753,7 +2753,7 @@
\else:
\int_sub:Nn \l_@@_internal_b_int \l_@@_internal_a_int
\fi:
- \exp_args:Noo \@@_compile_quantifier_lazyness:nnNN
+ \exp_args:Noo \@@_compile_quantifier_laziness:nnNN
{ \int_use:N \l_@@_internal_a_int }
{ \int_use:N \l_@@_internal_b_int }
}
@@ -4517,13 +4517,13 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_build_transitions_lazyness:NNNNN}
+% \begin{macro}{\@@_build_transitions_laziness:NNNNN}
% This function creates a new state, and puts two transitions starting
% from the old current state. The order of the transitions is
% controlled by |#1|, true for lazy quantifiers, and false for greedy
% quantifiers.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_build_transitions_lazyness:NNNNN #1#2#3#4#5
+\cs_new_protected:Npn \@@_build_transitions_laziness:NNNNN #1#2#3#4#5
{
\@@_build_new_state:
\@@_toks_put_right:Ne \l_@@_left_state_int
@@ -4545,7 +4545,7 @@
% \begin{macro}{\@@_class:NnnnN}
% \begin{macro}[rEXP]{\@@_tests_action_cost:n}
% The arguments are: \meta{boolean} \Arg{tests} \Arg{min} \Arg{more}
-% \meta{lazyness}. First store the tests with a trailing
+% \meta{laziness}. First store the tests with a trailing
% \cs{@@_action_cost:n}, in the true branch of
% \cs{@@_break_point:TF} for positive classes, or the false branch
% for negative classes. The integer \meta{more} is $0$ for fixed
@@ -4599,18 +4599,18 @@
% \cs{@@_class_repeat:n} for the code to match |#1| repetitions,
% and add free transitions from the last state to the previous one,
% and to a new one. In both cases, the order of transitions is
-% controlled by the lazyness boolean |#2|.
+% controlled by the laziness boolean |#2|.
% \begin{macrocode}
\cs_new_protected:Npn \@@_class_repeat:nN #1#2
{
\if_int_compare:w #1 = \c_zero_int
- \@@_build_transitions_lazyness:NNNNN #2
+ \@@_build_transitions_laziness:NNNNN #2
\@@_action_free:n \l_@@_right_state_int
\@@_tests_action_cost:n \l_@@_left_state_int
\else:
\@@_class_repeat:n {#1}
\int_set_eq:NN \l_@@_internal_a_int \l_@@_left_state_int
- \@@_build_transitions_lazyness:NNNNN #2
+ \@@_build_transitions_laziness:NNNNN #2
\@@_action_free:n \l_@@_right_state_int
\@@_action_free:n \l_@@_internal_a_int
\fi:
@@ -4634,7 +4634,7 @@
{ \l_@@_max_state_int + #2 - \c_one_int }
\prg_replicate:nn { #2 }
{
- \@@_build_transitions_lazyness:NNNNN #3
+ \@@_build_transitions_laziness:NNNNN #3
\@@_action_free:n \l_@@_internal_a_int
\@@_tests_action_cost:n \l_@@_right_state_int
}
@@ -4646,7 +4646,7 @@
%
% \begin{macro}{\@@_group_aux:nnnnN}
% Arguments: \Arg{label} \Arg{contents} \Arg{min} \Arg{more}
-% \meta{lazyness}. If \meta{min} is $0$, we need to add a state before
+% \meta{laziness}. If \meta{min} is $0$, we need to add a state before
% building the group, so that the thread which skips the group does
% not also set the start-point of the submatch. After adding one more
% state, the \texttt{left_state} is the left end of the group, from
@@ -4656,7 +4656,7 @@
% build the \textsc{nfa} states for the contents |#2| of the group,
% and we forget about the two integers. Once this is done, perform the
% repetition: either exactly |#3| times, or |#3| or more times, or
-% between |#3| and $|#3|+|#4|$ times, with lazyness |#5|. The
+% between |#3| and $|#3|+|#4|$ times, with laziness |#5|. The
% \meta{label} |#1| is used for submatch tracking. Each of the three
% auxiliaries expects \texttt{left_state} and \texttt{right_state} to
% be set properly.
@@ -4884,7 +4884,7 @@
%
% \begin{macro}{\@@_group_repeat:nnnN}
% We wish to repeat the group between |#2| and $|#2|+|#3|$ times, with
-% a lazyness controlled by |#4|. We insert submatch tracking up front:
+% a laziness controlled by |#4|. We insert submatch tracking up front:
% in principle, we could avoid recording submatches for the first |#2|
% copies of the group, but that forces us to treat specially the case
% $|#2|=0$. Repeat that group with submatch tracking $|#2|+|#3|$ times
@@ -8076,7 +8076,7 @@
% This is not technically a message, but seems related enough to go
% there. The arguments are: |#1| is the minimum number of repetitions;
% |#2| is the number of allowed extra repetitions ($-1$ for infinite
-% number), and |#3| tells us about lazyness.
+% number), and |#3| tells us about laziness.
% \begin{macrocode}
\cs_new:Npn \@@_msg_repeated:nnN #1#2#3
{
diff --git a/macros/latex-dev/required/l3kernel/l3seq.dtx b/macros/latex-dev/required/l3kernel/l3seq.dtx
index 6be32f7a83..713e4a33b1 100644
--- a/macros/latex-dev/required/l3kernel/l3seq.dtx
+++ b/macros/latex-dev/required/l3kernel/l3seq.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -1690,7 +1690,7 @@
}
% \end{macrocode}
% If the position is ok, \cs{@@_set_item:nNnnNNNN} makes the assignment
-% and returns \texttt{true} (in the case of conditionnals). Here |#1|
+% and returns \texttt{true} (in the case of conditionals). Here |#1|
% is an integer expression (position minus one), it needs to be
% evaluated. The sequence |#5| starts with \cs{s_@@} (even if empty),
% which stops the integer expression and is absorbed by it. The
diff --git a/macros/latex-dev/required/l3kernel/l3skip.dtx b/macros/latex-dev/required/l3kernel/l3skip.dtx
index a3d9256223..3eeb891e3d 100644
--- a/macros/latex-dev/required/l3kernel/l3skip.dtx
+++ b/macros/latex-dev/required/l3kernel/l3skip.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3sort.dtx b/macros/latex-dev/required/l3kernel/l3sort.dtx
index 81a025b474..9ba8713244 100644
--- a/macros/latex-dev/required/l3kernel/l3sort.dtx
+++ b/macros/latex-dev/required/l3kernel/l3sort.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3str-convert.dtx b/macros/latex-dev/required/l3kernel/l3str-convert.dtx
index 75dbdd095b..0b280fb109 100644
--- a/macros/latex-dev/required/l3kernel/l3str-convert.dtx
+++ b/macros/latex-dev/required/l3kernel/l3str-convert.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3str.dtx b/macros/latex-dev/required/l3kernel/l3str.dtx
index efc24fe8ea..d4e08b2dd2 100644
--- a/macros/latex-dev/required/l3kernel/l3str.dtx
+++ b/macros/latex-dev/required/l3kernel/l3str.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3styleguide.pdf b/macros/latex-dev/required/l3kernel/l3styleguide.pdf
index 89d4efff14..c3b43c90a8 100644
--- a/macros/latex-dev/required/l3kernel/l3styleguide.pdf
+++ b/macros/latex-dev/required/l3kernel/l3styleguide.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3styleguide.tex b/macros/latex-dev/required/l3kernel/l3styleguide.tex
index da169cd8b1..2cffd774e3 100644
--- a/macros/latex-dev/required/l3kernel/l3styleguide.tex
+++ b/macros/latex-dev/required/l3kernel/l3styleguide.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-04-11}
+\date{Released 2024-05-08}
\begin{document}
diff --git a/macros/latex-dev/required/l3kernel/l3syntax-changes.pdf b/macros/latex-dev/required/l3kernel/l3syntax-changes.pdf
index 7823600916..83d368f738 100644
--- a/macros/latex-dev/required/l3kernel/l3syntax-changes.pdf
+++ b/macros/latex-dev/required/l3kernel/l3syntax-changes.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3syntax-changes.tex b/macros/latex-dev/required/l3kernel/l3syntax-changes.tex
index 85f83bf0e3..0b21c09da0 100644
--- a/macros/latex-dev/required/l3kernel/l3syntax-changes.tex
+++ b/macros/latex-dev/required/l3kernel/l3syntax-changes.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-04-11}
+\date{Released 2024-05-08}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex-dev/required/l3kernel/l3sys.dtx b/macros/latex-dev/required/l3kernel/l3sys.dtx
index 085b5f2c97..0417a963bc 100644
--- a/macros/latex-dev/required/l3kernel/l3sys.dtx
+++ b/macros/latex-dev/required/l3kernel/l3sys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3term-glossary.pdf b/macros/latex-dev/required/l3kernel/l3term-glossary.pdf
index 7d03a9143b..7bd8b3b0fd 100644
--- a/macros/latex-dev/required/l3kernel/l3term-glossary.pdf
+++ b/macros/latex-dev/required/l3kernel/l3term-glossary.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3term-glossary.tex b/macros/latex-dev/required/l3kernel/l3term-glossary.tex
index d1b4b0082c..86ad15568a 100644
--- a/macros/latex-dev/required/l3kernel/l3term-glossary.tex
+++ b/macros/latex-dev/required/l3kernel/l3term-glossary.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-04-11}
+\date{Released 2024-05-08}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex-dev/required/l3kernel/l3text-case.dtx b/macros/latex-dev/required/l3kernel/l3text-case.dtx
index 5010114fb4..888e6e97b9 100644
--- a/macros/latex-dev/required/l3kernel/l3text-case.dtx
+++ b/macros/latex-dev/required/l3kernel/l3text-case.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -1919,7 +1919,7 @@
% \end{macrocode}
% If there was a hit, output the result with the dot-above and move on.
% Otherwise, look for one of the three letters that can take a combining
-% accent: I, J nd I-ogonek.
+% accent: I, J, and I-ogonek.
% \begin{macrocode}
\cs_new:Npn \@@_change_case_lower_lt_auxi:nnnnn #1#2#3#4#5
{
diff --git a/macros/latex-dev/required/l3kernel/l3text-map.dtx b/macros/latex-dev/required/l3kernel/l3text-map.dtx
index 213d8281a9..ab4a6db91e 100644
--- a/macros/latex-dev/required/l3kernel/l3text-map.dtx
+++ b/macros/latex-dev/required/l3kernel/l3text-map.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3text-purify.dtx b/macros/latex-dev/required/l3kernel/l3text-purify.dtx
index a713cd6e40..ec85eb8be4 100644
--- a/macros/latex-dev/required/l3kernel/l3text-purify.dtx
+++ b/macros/latex-dev/required/l3kernel/l3text-purify.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3text.dtx b/macros/latex-dev/required/l3kernel/l3text.dtx
index 56c9a5533c..a59e047bd7 100644
--- a/macros/latex-dev/required/l3kernel/l3text.dtx
+++ b/macros/latex-dev/required/l3kernel/l3text.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -887,7 +887,7 @@
% {\c_@@_chardef_group_begin_token, \c_@@_mathchardef_group_begin_token}
% \begin{variable}
% {\c_@@_chardef_group_end_token, \c_@@_mathchardef_group_end_token}
-% Markers for implict char handling.
+% Markers for implicit char handling.
% \begin{macrocode}
\tex_global:D \tex_chardef:D \c_@@_chardef_space_token = `\ %
\tex_global:D \tex_mathchardef:D \c_@@_mathchardef_space_token = `\ %
diff --git a/macros/latex-dev/required/l3kernel/l3tl-analysis.dtx b/macros/latex-dev/required/l3kernel/l3tl-analysis.dtx
index a4141dcfe4..80a7d74cef 100644
--- a/macros/latex-dev/required/l3kernel/l3tl-analysis.dtx
+++ b/macros/latex-dev/required/l3kernel/l3tl-analysis.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3tl-build.dtx b/macros/latex-dev/required/l3kernel/l3tl-build.dtx
index 859dd5025c..708ea81680 100644
--- a/macros/latex-dev/required/l3kernel/l3tl-build.dtx
+++ b/macros/latex-dev/required/l3kernel/l3tl-build.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3tl.dtx b/macros/latex-dev/required/l3kernel/l3tl.dtx
index 30e16636e5..940b3cb8d0 100644
--- a/macros/latex-dev/required/l3kernel/l3tl.dtx
+++ b/macros/latex-dev/required/l3kernel/l3tl.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -3339,7 +3339,7 @@
% }
% \begin{macro}[EXP]{\@@_use_none_delimit_by_q_act_stop:w}
% To help control the expansion, \cs{@@_act:NNNn} should always
-% be preceeded by \cs{exp:w} and ends by producing \cs{exp_end:}
+% be preceded by \cs{exp:w} and ends by producing \cs{exp_end:}
% once the result has been obtained. This way no internal token of it can be
% accidentally end up in the input stream.
% Because \cs{s_@@_act_stop} can't appear without braces around it in the
diff --git a/macros/latex-dev/required/l3kernel/l3token.dtx b/macros/latex-dev/required/l3kernel/l3token.dtx
index a38860b548..5c31ab04e7 100644
--- a/macros/latex-dev/required/l3kernel/l3token.dtx
+++ b/macros/latex-dev/required/l3kernel/l3token.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3unicode.dtx b/macros/latex-dev/required/l3kernel/l3unicode.dtx
index 0ee6858f5b..3b3bd007a4 100644
--- a/macros/latex-dev/required/l3kernel/l3unicode.dtx
+++ b/macros/latex-dev/required/l3kernel/l3unicode.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -52,7 +52,7 @@
% This module provides Unicode-specific functions along with loading data
% from a range of Unicode Consortium files. Most of the code here is
% internal, but there are a small set of public functions. These work with
-% Unicode \meta{codepoints} and are designed to give useable results with
+% Unicode \meta{codepoints} and are designed to give usable results with
% both Unicode-aware and $8$-bit engines.
%
% \begin{function}[EXP, added = 2022-10-09, updated = 2022-11-09]
diff --git a/macros/latex-dev/required/l3kernel/source3.pdf b/macros/latex-dev/required/l3kernel/source3.pdf
index a88cd68030..065674e225 100644
--- a/macros/latex-dev/required/l3kernel/source3.pdf
+++ b/macros/latex-dev/required/l3kernel/source3.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/source3.tex b/macros/latex-dev/required/l3kernel/source3.tex
index f0aaeb20c8..623b9cc1a0 100644
--- a/macros/latex-dev/required/l3kernel/source3.tex
+++ b/macros/latex-dev/required/l3kernel/source3.tex
@@ -57,7 +57,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-04-11}
+\date{Released 2024-05-08}
\pagenumbering{roman}
\maketitle