texlive[67074] Master/texmf-dist: l3 (11may23)
commits+karl at tug.org
commits+karl at tug.org
Thu May 11 22:14:10 CEST 2023
Revision: 67074
http://tug.org/svn/texlive?view=revision&revision=67074
Author: karl
Date: 2023-05-11 22:14:09 +0200 (Thu, 11 May 2023)
Log Message:
-----------
l3 (11may23)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
trunk/Master/texmf-dist/doc/latex/l3experimental/README.md
trunk/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
trunk/Master/texmf-dist/doc/latex/l3experimental/l3bitset/l3bitset.pdf
trunk/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
trunk/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
trunk/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf
trunk/Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdf
trunk/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
trunk/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf
trunk/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
trunk/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
trunk/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
trunk/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
trunk/Master/texmf-dist/doc/latex/l3kernel/README.md
trunk/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
trunk/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf
trunk/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
trunk/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf
trunk/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf
trunk/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf
trunk/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf
trunk/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf
trunk/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf
trunk/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf
trunk/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf
trunk/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf
trunk/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf
trunk/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf
trunk/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf
trunk/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf
trunk/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf
trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
trunk/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
trunk/Master/texmf-dist/doc/latex/l3kernel/source3.tex
trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3color.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3text.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
trunk/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
trunk/Master/texmf-dist/tex/latex/l3experimental/l3bitset/l3bitset.sty
trunk/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
trunk/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty
trunk/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty
trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
trunk/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
trunk/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md 2023-05-11 20:14:09 UTC (rev 67074)
@@ -7,6 +7,11 @@
## [Unreleased]
+## [2023-05-11]
+
+### Changed
+- Track `expl3` core changes
+
## [2023-04-19]
### Added
@@ -270,7 +275,8 @@
- New `l3color` module using `xcolor`-like expression syntax
- New `l3draw` module, based on `pgf` layer of the TikZ system
-[Unreleased]: https://github.com/latex3/latex3/compare/2023-04-19...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2023-05-11...HEAD
+[2023-05-11]: https://github.com/latex3/latex3/compare/2023-04-19...2023-05-11
[2023-04-19]: https://github.com/latex3/latex3/compare/2023-03-30...2023-04-19
[2023-03-30]: https://github.com/latex3/latex3/compare/2023-01-24...2023-03-30
[2023-01-24]: https://github.com/latex3/latex3/compare/2022-04-20...2023-01-24
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3experimental/README.md 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/doc/latex/l3experimental/README.md 2023-05-11 20:14:09 UTC (rev 67074)
@@ -1,7 +1,7 @@
Experimental LaTeX3 Concepts
============================
-Release 2023-04-19
+Release 2023-05-11
Overview
--------
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3bitset/l3bitset.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md 2023-05-11 20:14:09 UTC (rev 67074)
@@ -7,6 +7,21 @@
## [Unreleased]
+## [2023-05-11]
+
+### Added
+- `\seq_map_pairwise_function:NNN` (renamed from `\seq_mapthread_function:NNN`)
+
+### Changed
+- Moved `\seq_set_item:Nnn` to stable status
+- Track seen filenames to improve performance of
+ `\file_full_name:n` and dependent file operations
+
+### Removed
+- Experimental function `\seq_pop_item:NnN` from `l3candidates`
+- Experimental function `\seq_mapthread_function:NNN` now renamed
+ `\seq_map_pairwise_function:NNN`
+
## [2023-05-05]
### Added
@@ -40,7 +55,7 @@
- `\tl_range_braced:Nnn` and `\tl_range_unbraced:Nnn`
- Experimental functions now renamed
- `\bool_case_true:n(TF)` (now `\bool_case:n(TF)`)
- - `\flag_raise_if_clear:n` (now `\flag_raise_if_clear:n`)
+ - `\flag_raise_if_clear:n` (now `\flag_ensure_raised:n`)
- `\iow_allow_break:` (now `\iow_wrap_allow_break:`)
- Experimental functions moved to kernel-internal:
- `\msg_log_eval:Nn` and `\msg_show_eval:Nn`
@@ -1383,7 +1398,8 @@
- Step functions have been added for dim variables,
e.g. `\dim_step_inline:nnnn`
-[Unreleased]: https://github.com/latex3/latex3/compare/2023-05-05...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2023-05-11...HEAD
+[2023-05-11]: https://github.com/latex3/latex3/compare/2023-05-05...2023-05-11
[2023-05-05]: https://github.com/latex3/latex3/compare/2023-04-20...2023-05-05
[2023-04-20]: https://github.com/latex3/latex3/compare/2023-04-19...2023-04-20
[2023-04-19]: https://github.com/latex3/latex3/compare/2023-03-30...2023-04-19
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/README.md 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/README.md 2023-05-11 20:14:09 UTC (rev 67074)
@@ -1,7 +1,7 @@
LaTeX3 Programming Conventions
==============================
-Release 2023-05-05
+Release 2023-05-11
Overview
--------
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.tex 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.tex 2023-05-11 20:14:09 UTC (rev 67074)
@@ -62,7 +62,7 @@
{latex-team at latex-project.org}%
}%
}
-\date{Released 2023-05-05}
+\date{Released 2023-05-11}
\pagenumbering{roman}
\maketitle
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex 2023-05-11 20:14:09 UTC (rev 67074)
@@ -32,7 +32,7 @@
{latex-team at latex-project.org}%
}%
}
-\date{Released 2023-05-05}
+\date{Released 2023-05-11}
\begin{document}
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex 2023-05-11 20:14:09 UTC (rev 67074)
@@ -32,7 +32,7 @@
{latex-team at latex-project.org}%
}%
}
-\date{Released 2023-05-05}
+\date{Released 2023-05-11}
\newcommand{\TF}{\textit{(TF)}}
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex 2023-05-11 20:14:09 UTC (rev 67074)
@@ -32,7 +32,7 @@
{latex-team at latex-project.org}%
}%
}
-\date{Released 2023-05-05}
+\date{Released 2023-05-11}
\newcommand{\TF}{\textit{(TF)}}
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/source3.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/source3.tex 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/source3.tex 2023-05-11 20:14:09 UTC (rev 67074)
@@ -53,7 +53,7 @@
{latex-team at latex-project.org}%
}%
}
-\date{Released 2023-05-05}
+\date{Released 2023-05-11}
\pagenumbering{roman}
\maketitle
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2023-04-19}
+% \date{Released 2023-05-11}
%
% \maketitle
%
@@ -122,7 +122,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3benchmark}{2023-04-19}{}
+\ProvidesExplPackage{l3benchmark}{2023-05-11}{}
{L3 Experimental benchmarking}
% \end{macrocode}
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2023-04-19}
+% \date{Released 2023-05-11}
%
% \maketitle
% \begin{documentation}
@@ -264,7 +264,7 @@
%<@@=bitset>
% \end{macrocode}
% \begin{macrocode}
-\ProvidesExplPackage{l3bitset}{2023-04-19}{}
+\ProvidesExplPackage{l3bitset}{2023-05-11}{}
{L3 Experimental bitset support}
% \end{macrocode}
% A bitset is a string variable.
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-04-19}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-04-19}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-04-19}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-04-19}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-04-19}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-04-19}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-04-19}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-04-19}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -110,7 +110,7 @@
% }^^A
% }
%
-% \date{Released 2023-04-19}
+% \date{Released 2023-05-11}
%
% \maketitle
%
@@ -1173,7 +1173,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3draw}{2023-04-19}{}
+\ProvidesExplPackage{l3draw}{2023-05-11}{}
{L3 Experimental core drawing support}
% \end{macrocode}
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-04-19}
+% \date{Released 2023-05-11}
%
% \maketitle
%
@@ -184,7 +184,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3graphics}{2023-04-19}{}
+\ProvidesExplPackage{l3graphics}{2023-05-11}{}
{L3 Experimental graphics inclusion support}
% \end{macrocode}
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2023-04-19}
+% \date{Released 2023-05-11}
%
% \maketitle
%
@@ -96,7 +96,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3opacity}{2023-04-19}{}
+\ProvidesExplPackage{l3opacity}{2023-05-11}{}
{L3 Experimental opacity support}
% \end{macrocode}
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Released 2023-04-19}
+% \date{Released 2023-05-11}
%
% \maketitle
%
@@ -166,7 +166,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3str-format}{2023-04-19}{}
+\ProvidesExplPackage{l3str-format}{2023-05-11}{}
{L3 Experimental string formatting}
% \end{macrocode}
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2023-04-19}
+% \date{Released 2023-05-11}
%
% \maketitle
%
@@ -151,7 +151,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3sys-shell}{2023-04-19}{}
+\ProvidesExplPackage{l3sys-shell}{2023-05-11}{}
{L3 Experimental system shell functions}
% \end{macrocode}
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Released 2023-04-19}
+% \date{Released 2023-05-11}
%
% \maketitle
%
@@ -672,7 +672,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xcoffins}{2023-04-19}{}
+\ProvidesExplPackage{xcoffins}{2023-05-11}{}
{L3 Experimental design level coffins}
% \end{macrocode}
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -61,7 +61,7 @@
% }^^A
% }
%
-% \date{Released 2023-04-19}
+% \date{Released 2023-05-11}
%
% \maketitle
%
@@ -686,7 +686,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3galley}{2023-04-19}{}
+\ProvidesExplPackage{l3galley}{2023-05-11}{}
{L3 Experimental galley code}
% \end{macrocode}
%
@@ -1834,7 +1834,7 @@
\tex_parshape:D
\int_min:nn { \seq_count:N #1 } { \seq_count:N #2 }
\exp_stop_f:
- \seq_mapthread_function:NNN #1 #2
+ \seq_map_pairwise_function:NNN #1 #2
\@@_parshape_set_indents:nn
}
\cs_new:Npn \@@_parshape_set_indents:nn #1#2
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-04-19}
+% \date{Released 2023-05-11}
%
% \maketitle
%
@@ -731,7 +731,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xgalley}{2023-04-19}{}
+\ProvidesExplPackage{xgalley}{2023-05-11}{}
{L3 Experimental galley}
\RequirePackage{xtemplate,l3galley}
% \end{macrocode}
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/expl3.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/expl3.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -24,7 +24,7 @@
%
%<*driver|generic|package|2ekernel>
%</driver|generic|package|2ekernel>
-\def\ExplFileDate{2023-05-05}%
+\def\ExplFileDate{2023-05-11}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3box.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3box.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
@@ -86,24 +86,6 @@
%
% \section{Additions to \pkg{l3seq}}
%
-% \begin{function}[rEXP]
-% {
-% \seq_mapthread_function:NNN, \seq_mapthread_function:NcN,
-% \seq_mapthread_function:cNN, \seq_mapthread_function:ccN
-% }
-% \begin{syntax}
-% \cs{seq_mapthread_function:NNN} \meta{seq_1} \meta{seq_2} \meta{function}
-% \end{syntax}
-% Applies \meta{function} to every pair of items
-% \meta{seq_1-item}--\meta{seq_2-item} from the two sequences, returning
-% items from both sequences from left to right. The \meta{function}
-% receives two \texttt{n}-type arguments for each iteration. The mapping
-% terminates when
-% the end of either sequence is reached (\emph{i.e.}~whichever sequence has
-% fewer items determines how many iterations
-% occur).
-% \end{function}
-%
% \begin{function}{\seq_set_filter:NNn, \seq_gset_filter:NNn}
% \begin{syntax}
% \cs{seq_set_filter:NNn} \meta{sequence_1} \meta{sequence_2} \Arg{inline boolexpr}
@@ -119,42 +101,6 @@
% \end{texnote}
% \end{function}
%
-% \begin{function}[added = 2021-04-29, noTF]
-% {\seq_set_item:Nnn, \seq_set_item:cnn, \seq_gset_item:Nnn, \seq_gset_item:cnn}
-% \begin{syntax}
-% \cs{seq_set_item:Nnn} \meta{seq~var} \Arg{int expr} \Arg{item}
-% \cs{seq_set_item:NnnTF} \meta{seq~var} \Arg{int expr} \Arg{item} \Arg{true code} \Arg{false code}
-% \end{syntax}
-% Removes the item of \meta{sequence} at the position given by
-% evaluating the \meta{int expr} and replaces it by
-% \meta{item}. Items are indexed from $1$ on the left/top of the
-% \meta{sequence}, or from $-1$ on the right/bottom. If the
-% \meta{int expr} is zero or is larger (in absolute value)
-% than the number of items in the sequence, the \meta{sequence} is not
-% modified. In these cases, \cs{seq_set_item:Nnn} raises an error
-% while \cs{seq_set_item:NnnTF} runs the \meta{false code}. In cases
-% where the assignment was successful, \meta{true code} is run
-% afterwards.
-% \end{function}
-%
-% \begin{function}[added = 2021-04-28, noTF]
-% {\seq_pop_item:NnN, \seq_pop_item:cnN, \seq_gpop_item:NnN, \seq_gpop_item:cnN}
-% \begin{syntax}
-% \cs{seq_pop_item:NnN} \meta{seq~var} \Arg{int expr} \Arg{tl~var}
-% \cs{seq_pop_item:NnNTF} \meta{seq~var} \Arg{int expr} \Arg{tl~var} \Arg{true code} \Arg{false code}
-% \end{syntax}
-% Removes the \meta{item} at position \meta{int expr} in the
-% \meta{sequence}, and places it in the \meta{token list variable}.
-% Items are indexed from $1$ on the left/top of the \meta{sequence},
-% or from $-1$ on the right/bottom. If the position is zero or is
-% larger (in absolute value) than the number of items in the sequence,
-% the \meta{seq~var} is not modified, the \meta{token list} is set to
-% the special marker \cs{q_no_value}, and the \meta{false code} is
-% left in the input stream; otherwise the \meta{true code} is. The
-% \meta{token list} assignment is local while the \meta{sequence} is
-% assigned locally for |pop| or globally for |gpop| functions.
-% \end{function}
-%
% \section{Additions to \pkg{l3tl}}
%
% \begin{function}[added = 2018-04-01]{\tl_build_begin:N, \tl_build_gbegin:N}
@@ -241,53 +187,6 @@
%<@@=seq>
% \end{macrocode}
%
-% \begin{macro}
-% {
-% \seq_mapthread_function:NNN, \seq_mapthread_function:NcN,
-% \seq_mapthread_function:cNN, \seq_mapthread_function:ccN
-% }
-% \begin{macro}
-% {
-% \@@_mapthread_function:wNN, \@@_mapthread_function:wNw,
-% \@@_mapthread_function:Nnnwnn
-% }
-% The idea is to first expand both sequences, adding the
-% usual |{ ? \prg_break: } { }| to the end of each one. This is
-% most conveniently done in two steps using an auxiliary function.
-% The mapping then throws away the first tokens of |#2| and |#5|,
-% which for items in both sequences are \cs{s_@@}
-% \cs{@@_item:n}. The function to be mapped are then be applied to
-% the two entries. When the code hits the end of one of the
-% sequences, the break material stops the entire loop and tidy up.
-% This avoids needing to find the count of the two sequences, or
-% worrying about which is longer.
-% \begin{macrocode}
-\cs_new:Npn \seq_mapthread_function:NNN #1#2#3
- { \exp_after:wN \@@_mapthread_function:wNN #2 \s_@@_stop #1 #3 }
-\cs_new:Npn \@@_mapthread_function:wNN \s_@@ #1 \s_@@_stop #2#3
- {
- \exp_after:wN \@@_mapthread_function:wNw #2 \s_@@_stop #3
- #1 { ? \prg_break: } { }
- \prg_break_point:
- }
-\cs_new:Npn \@@_mapthread_function:wNw \s_@@ #1 \s_@@_stop #2
- {
- \@@_mapthread_function:Nnnwnn #2
- #1 { ? \prg_break: } { }
- \s_@@_stop
- }
-\cs_new:Npn \@@_mapthread_function:Nnnwnn #1#2#3#4 \s_@@_stop #5#6
- {
- \use_none:n #2
- \use_none:n #5
- #1 {#3} {#6}
- \@@_mapthread_function:Nnnwnn #1 #4 \s_@@_stop
- }
-\cs_generate_variant:Nn \seq_mapthread_function:NNN { Nc , c , cc }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
% \begin{macro}{\seq_set_filter:NNn, \seq_gset_filter:NNn}
% \begin{macro}{\@@_set_filter:NNNn}
% Similar to \cs{seq_map_inline:Nn}, without a
@@ -312,176 +211,6 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\@@_int_eval:w}
-% Useful to more quickly go through items.
-% \begin{macrocode}
-\cs_new_eq:NN \@@_int_eval:w \tex_numexpr:D
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}[noTF]{\seq_set_item:Nnn, \seq_set_item:cnn, \seq_gset_item:Nnn, \seq_gset_item:cnn}
-% \begin{macro}{\@@_set_item:NnnNN, \@@_set_item:nnNNNN, \@@_set_item_false:nnNNNN, \@@_set_item:nNnnNNNN}
-% \begin{macro}[rEXP]{\@@_set_item:wn, \@@_set_item_end:w}
-% The conditionals are distinguished from the |Nnn| versions by the
-% last argument \cs{use_ii:nn} vs \cs{use_i:nn}.
-% \begin{macrocode}
-\cs_new_protected:Npn \seq_set_item:Nnn #1#2#3
- { \@@_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_set:Nx \use_i:nn }
-\cs_new_protected:Npn \seq_gset_item:Nnn #1#2#3
- { \@@_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_gset:Nx \use_i:nn }
-\cs_generate_variant:Nn \seq_set_item:Nnn { c }
-\cs_generate_variant:Nn \seq_gset_item:Nnn { c }
-\prg_new_protected_conditional:Npnn \seq_set_item:Nnn #1#2#3 { TF , T , F }
- { \@@_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_set:Nx \use_ii:nn }
-\prg_new_protected_conditional:Npnn \seq_gset_item:Nnn #1#2#3 { TF , T , F }
- { \@@_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_gset:Nx \use_ii:nn }
-\prg_generate_conditional_variant:Nnn \seq_set_item:Nnn { c } { TF , T , F }
-\prg_generate_conditional_variant:Nnn \seq_gset_item:Nnn { c } { TF , T , F }
-% \end{macrocode}
-% Save the item to be stored and evaluate the position and the sequence
-% length only once. Then depending on the sign of the position, check
-% that it is not bigger than the length (in absolute value) nor zero.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_set_item:NnnNN #1#2#3
- {
- \tl_set:Nn \l_@@_internal_a_tl { \@@_item:n {#3} }
- \exp_args:Nff \@@_set_item:nnNNNN
- { \int_eval:n {#2} } { \seq_count:N #1 } #1 \use_none:nn
- }
-\cs_new_protected:Npn \@@_set_item:nnNNNN #1#2
- {
- \int_compare:nNnTF {#1} > 0
- { \int_compare:nNnF {#1} > {#2} { \@@_set_item:nNnnNNNN { #1 - 1 } } }
- {
- \int_compare:nNnF {#1} < {-#2}
- {
- \int_compare:nNnF {#1} = 0
- { \@@_set_item:nNnnNNNN { #2 + #1 } }
- }
- }
- \@@_set_item_false:nnNNNN {#1} {#2}
- }
-% \end{macrocode}
-% If the position is not ok, \cs{@@_set_item_false:nnNNNN} calls an
-% error or returns \texttt{false} (depending on the \cs{use_i:nn} vs
-% \cs{use_ii:nn} argument mentioned above).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_set_item_false:nnNNNN #1#2#3#4#5#6
- {
- #6
- {
- \msg_error:nnxxx { seq } { item-too-large }
- { \token_to_str:N #3 } {#2} {#1}
- }
- { \prg_return_false: }
- }
-\msg_new:nnnn { seq } { item-too-large }
- { Sequence~'#1'~does~not~have~an~item~#3 }
- {
- An~attempt~was~made~to~push~or~pop~the~item~at~position~#3~
- of~'#1',~but~this~
- \int_compare:nTF { #3 = 0 }
- { position~does~not~exist. }
- { sequence~only~has~#2~item \int_compare:nF { #2 = 1 } {s}. }
- }
-% \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|
-% 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
-% \cs{if_meaning:w} test is slightly faster than an integer test (but
-% only works when testing against zero, hence the offset we chose in
-% the position). When we are done skipping items, insert the saved
-% item \cs{l_@@_internal_a_tl}. For |put| functions the last argument
-% of \cs{@@_set_item_end:w} is \cs{use_none:nn} and it absorbs the
-% item |#2| that we are removing: this is only useful for the |pop|
-% functions.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_set_item:nNnnNNNN #1#2#3#4#5#6#7#8
- {
- #7 #5
- {
- \s_@@
- \exp_after:wN \@@_set_item:wn
- \int_value:w \@@_int_eval:w #1
- #5 \s_@@_stop #6
- }
- #8 { } { \prg_return_true: }
- }
-\cs_new:Npn \@@_set_item:wn #1 \@@_item:n #2
- {
- \if_meaning:w 0 #1 \@@_set_item_end:w \fi:
- \exp_not:n { \@@_item:n {#2} }
- \exp_after:wN \@@_set_item:wn
- \int_value:w \@@_int_eval:w #1 - 1 \s_@@
- }
-\cs_new:Npn \@@_set_item_end:w #1 \exp_not:n #2 #3 \s_@@ #4 \s_@@_stop #5
- {
- #1
- \exp_not:o \l_@@_internal_a_tl
- \exp_not:n {#4}
- #5 #2
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}[noTF]{\seq_pop_item:NnN, \seq_pop_item:cnN, \seq_gpop_item:NnN, \seq_gpop_item:cnN}
-% \begin{macro}{\@@_pop_item:NnNNN}
-% The |NnN| versions simply call the conditionals, for which we will
-% rely on the internals of \cs{seq_set_item:Nnn}.
-% \begin{macrocode}
-\cs_new_protected:Npn \seq_pop_item:NnN #1#2#3
- { \seq_pop_item:NnNTF #1 {#2} #3 { } { } }
-\cs_new_protected:Npn \seq_gpop_item:NnN #1#2#3
- { \seq_gpop_item:NnNTF #1 {#2} #3 { } { } }
-\cs_generate_variant:Nn \seq_pop_item:NnN { c }
-\cs_generate_variant:Nn \seq_gpop_item:NnN { c }
-\prg_new_protected_conditional:Npnn \seq_pop_item:NnN #1#2#3 { TF , T , F }
- { \@@_pop_item:NnNN #1 {#2} #3 \__kernel_tl_set:Nx }
-\prg_new_protected_conditional:Npnn \seq_gpop_item:NnN #1#2#3 { TF , T , F }
- { \@@_pop_item:NnNN #1 {#2} #3 \__kernel_tl_gset:Nx }
-\prg_generate_conditional_variant:Nnn \seq_pop_item:NnN { c } { TF , T , F }
-\prg_generate_conditional_variant:Nnn \seq_gpop_item:NnN { c } { TF , T , F }
-% \end{macrocode}
-% Save in \cs{l_@@_internal_b_tl} the token list variable |#3| in
-% which we will store the item. The \cs{@@_set_item:nnNNNN} auxiliary
-% eventually inserts \cs{l_@@_internal_a_tl} in place of the item
-% found in the sequence, so we empty that. Instead of the last
-% argument \cs{use_i:nn} or \cs{use_ii:nn} used for |put| functions,
-% we introduce \cs{@@_pop_item:nn}, which stores \cs{q_no_value}
-% before calling its second argument
-% (\cs{prg_return_true:}/\texttt{false:}) to end the conditional. The
-% item found is passed to \cs{@@_pop_item_aux:w}, which interrupts the
-% |x|-expanding sequence assignment and stores the item using the
-% assignment function in \cs{l_@@_internal_b_tl}.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_pop_item:NnNN #1#2#3#4
- {
- \tl_clear:N \l_@@_internal_a_tl
- \tl_set:Nn \l_@@_internal_b_tl { \__kernel_tl_set:Nx #3 }
- \exp_args:Nff \@@_set_item:nnNNNN
- { \int_eval:n {#2} } { \seq_count:N #1 }
- #1 \@@_pop_item_aux:w #4 \@@_pop_item:nn
- }
-\cs_new_protected:Npn \@@_pop_item:nn #1#2
- {
- \if_meaning:w \prg_return_false: #2
- \l_@@_internal_b_tl { \exp_not:N \q_no_value }
- \fi:
- #2
- }
-\cs_new:Npn \@@_pop_item_aux:w \@@_item:n #1
- {
- \if_false: { \fi: }
- \l_@@_internal_b_tl { \if_false: } \fi: \exp_not:n {#1}
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
% \subsection{Additions to \pkg{l3tl}}
%
% \subsubsection{Building a token list}
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3color.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3color.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3color.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
@@ -529,6 +529,13 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\seq_mapthread_function:NNN}
+% \begin{macrocode}
+\__kernel_patch_deprecation:nnNNpn { 2023-05-10 } { \seq_mapthread_function:NNN }
+\cs_gset:Npn \seq_mapthread_function:NNN { \seq_map_pairwise_function:NNN }
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{Deprecated \pkg{l3sys} functions}
%
% \begin{macrocode}
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -85,7 +85,7 @@
% require you to do updates, if the class changes.}}
%
% \author{\Team}
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
% \maketitle
% \tableofcontents
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3file.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3file.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
@@ -2815,8 +2815,8 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}[EXP]{\file_full_name:n, \@@_full_name:n}
-% \begin{macro}[EXP]{\@@_full_name_aux:nn}
+% \begin{macro}[EXP]{\file_full_name:n, \@@_full_name:n, \@@_full_name_aux:n}
+% \begin{macro}[EXP]{\@@_full_name_auxi:nn, \@@_full_name_auxii:nn}
% \begin{macro}[EXP]{\@@_full_name_aux:Nnn}
% \begin{macro}[EXP]{\@@_full_name_aux:nN}
% \begin{macro}[EXP]{\@@_full_name_aux:nnN}
@@ -2849,10 +2849,41 @@
\cs_new:Npn \@@_full_name:n #1
{
\tl_if_blank:nF {#1}
- { \exp_args:Nne \@@_full_name_aux:nn {#1} { \@@_size:n {#1} } }
+ { \exp_args:Nne \@@_full_name_auxii:nn {#1} { \@@_full_name_aux:n {#1} } }
}
-\cs_new:Npn \@@_full_name_aux:nn #1 #2
+% \end{macrocode}
+% To avoid repeated reading of files we need to cache the loading:
+% this is important as the code here is used by \emph{all} file checks.
+% The same marker is used in the \LaTeXe{} kernel, meaning that we get a
+% double-saving with for example \cs{IfFileExists}. As this is all about
+% performance, we use the low-level approach for the conditionals. For
+% a file already seen, the size is reported as $-1$ so it's distinct from
+% any non-cached ones.
+% \begin{macrocode}
+\cs_new:Npn \@@_full_name_aux:n #1
{
+ \if_cs_exist:w @@_seen_ \tl_to_str:n {#1} : \cs_end:
+ -1
+ \else:
+ \exp_args:Ne \@@_full_name_auxi:nn { \@@_size:n {#1} } {#1}
+ \fi:
+ }
+% \end{macrocode}
+% We will need the size of files later, and we have to avoid the
+% \cs{scan_stop:} causing issues if we are raising the flag. Thus there is
+% a slightly odd gobble here.
+% \begin{macrocode}
+\cs_new:Npn \@@_full_name_auxi:nn #1#2
+ {
+ \if:w \scan_stop: #1 \scan_stop:
+ \else:
+ \exp_after:wN \use_none:n
+ \cs:w @@_seen_ \tl_to_str:n {#2} : \cs_end:
+ #1
+ \fi:
+ }
+\cs_new:Npn \@@_full_name_auxii:nn #1 #2
+ {
\tl_if_blank:nTF {#2}
{
\seq_map_tokens:Nn \l_file_search_path_seq
@@ -2873,7 +2904,7 @@
\cs_new:Npn \@@_full_name_aux:Nnn #1#2#3
{ \exp_args:Ne \@@_full_name_aux:nN { \tl_to_str:n {#3} / #2 } #1 }
\cs_new:Npn \@@_full_name_aux:nN #1
- { \exp_args:Nne \@@_full_name_aux:nnN {#1} { \@@_size:n {#1} } }
+ { \exp_args:Nne \@@_full_name_aux:nnN {#1} { \@@_full_name_aux:n {#1} } }
\cs_new:Npn \@@_full_name_aux:nnN #1 #2 #3
{
\tl_if_blank:nF {#2}
@@ -2913,14 +2944,15 @@
{ #1 #3 }
}
\cs_new:Npn \@@_ext_check:nnn #1
- { \exp_args:Nne \@@_ext_check:nnnn {#1} { \@@_size:n {#1} } }
+ { \exp_args:Nne \@@_ext_check:nnnn {#1} { \@@_full_name_aux:n {#1} } }
\cs_new:Npn \@@_ext_check:nnnn #1#2#3#4
{
\tl_if_blank:nTF {#2}
{#3}
{
- \int_compare:nNnTF
- {#4} = {#2}
+ \bool_lazy_or:nnTF
+ { \int_compare_p:nNn {#4} = {#2} }
+ { \int_compare_p:nNn {#2} = { -1 } }
{#1}
{#3}
}
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -40,7 +40,7 @@
% {latex-team at latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
% \maketitle
%
% \begin{documentation}
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -40,7 +40,7 @@
% {latex-team at latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -40,7 +40,7 @@
% {latex-team at latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -40,7 +40,7 @@
% {latex-team at latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -40,7 +40,7 @@
% {latex-team at latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -40,7 +40,7 @@
% {latex-team at latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -40,7 +40,7 @@
% {latex-team at latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -40,7 +40,7 @@
% {latex-team at latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
% \maketitle
%
% \begin{documentation}
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -40,7 +40,7 @@
% {latex-team at latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3int.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3int.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
@@ -1991,6 +1991,15 @@
LaTeX~has~been~asked~to~create~a~new~scan~mark~'#1'~
but~this~name~has~already~been~used~for~a~scan~mark.
}
+\msg_new:nnnn { seq } { item-too-large }
+ { Sequence~'#1'~does~not~have~an~item~#3 }
+ {
+ An~attempt~was~made~to~push~or~pop~the~item~at~position~#3~
+ of~'#1',~but~this~
+ \int_compare:nTF { #3 = 0 }
+ { position~does~not~exist. }
+ { sequence~only~has~#2~item \int_compare:nF { #2 = 1 } {s}. }
+ }
\msg_new:nnnn { seq } { shuffle-too-large }
{ The~sequence~#1~is~too~long~to~be~shuffled~by~TeX. }
{
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3names.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3names.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
@@ -654,7 +654,7 @@
% The \meta{code} associated to this first case is left in the input
% stream, followed by the \meta{true code}, and other cases are
% discarded. If none of the cases match then only the \meta{false
-% code} is inserted. The function \cs{bool_case_true:n},
+% code} is inserted. The function \cs{bool_case:n},
% which does nothing if there is no match, is
% also available. For example
% \begin{verbatim}
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
@@ -474,6 +474,24 @@
% \cs{tl_if_eq:nnTF}.
% \end{function}
%
+% \begin{function}[added = 2021-04-29, noTF]
+% {\seq_set_item:Nnn, \seq_set_item:cnn, \seq_gset_item:Nnn, \seq_gset_item:cnn}
+% \begin{syntax}
+% \cs{seq_set_item:Nnn} \meta{seq~var} \Arg{int expr} \Arg{item}
+% \cs{seq_set_item:NnnTF} \meta{seq~var} \Arg{int expr} \Arg{item} \Arg{true code} \Arg{false code}
+% \end{syntax}
+% Removes the item of \meta{sequence} at the position given by
+% evaluating the \meta{int expr} and replaces it by
+% \meta{item}. Items are indexed from $1$ on the left/top of the
+% \meta{sequence}, or from $-1$ on the right/bottom. If the
+% \meta{int expr} is zero or is larger (in absolute value)
+% than the number of items in the sequence, the \meta{sequence} is not
+% modified. In these cases, \cs{seq_set_item:Nnn} raises an error
+% while \cs{seq_set_item:NnnTF} runs the \meta{false code}. In cases
+% where the assignment was successful, \meta{true code} is run
+% afterwards.
+% \end{function}
+%
% \begin{function}[added = 2014-07-18]
% {
% \seq_reverse:N, \seq_reverse:c,
@@ -621,6 +639,24 @@
% and so on) as~|#1| and the \meta{item} as~|#2|.
% \end{function}
%
+% \begin{function}[rEXP, added = 2023-05-10]
+% {
+% \seq_map_pairwise_function:NNN, \seq_map_pairwise_function:NcN,
+% \seq_map_pairwise_function:cNN, \seq_map_pairwise_function:ccN
+% }
+% \begin{syntax}
+% \cs{seq_map_pairwise_function:NNN} \meta{seq_1} \meta{seq_2} \meta{function}
+% \end{syntax}
+% Applies \meta{function} to every pair of items
+% \meta{seq_1-item}--\meta{seq_2-item} from the two sequences, returning
+% items from both sequences from left to right. The \meta{function}
+% receives two \texttt{n}-type arguments for each iteration. The mapping
+% terminates when
+% the end of either sequence is reached (\emph{i.e.}~whichever sequence has
+% fewer items determines how many iterations
+% occur).
+% \end{function}
+%
% \begin{function}[rEXP, updated = 2012-06-29]{\seq_map_break:}
% \begin{syntax}
% \cs{seq_map_break:}
@@ -1513,6 +1549,113 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\@@_int_eval:w}
+% Useful to more quickly go through items.
+% \begin{macrocode}
+\cs_new_eq:NN \@@_int_eval:w \tex_numexpr:D
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[noTF]{\seq_set_item:Nnn, \seq_set_item:cnn, \seq_gset_item:Nnn, \seq_gset_item:cnn}
+% \begin{macro}{\@@_set_item:NnnNN, \@@_set_item:nnNNNN, \@@_set_item_false:nnNNNN, \@@_set_item:nNnnNNNN}
+% \begin{macro}[rEXP]{\@@_set_item:wn, \@@_set_item_end:w}
+% The conditionals are distinguished from the |Nnn| versions by the
+% last argument \cs{use_ii:nn} vs \cs{use_i:nn}.
+% \begin{macrocode}
+\cs_new_protected:Npn \seq_set_item:Nnn #1#2#3
+ { \@@_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_set:Nx \use_i:nn }
+\cs_new_protected:Npn \seq_gset_item:Nnn #1#2#3
+ { \@@_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_gset:Nx \use_i:nn }
+\cs_generate_variant:Nn \seq_set_item:Nnn { c }
+\cs_generate_variant:Nn \seq_gset_item:Nnn { c }
+\prg_new_protected_conditional:Npnn \seq_set_item:Nnn #1#2#3 { TF , T , F }
+ { \@@_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_set:Nx \use_ii:nn }
+\prg_new_protected_conditional:Npnn \seq_gset_item:Nnn #1#2#3 { TF , T , F }
+ { \@@_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_gset:Nx \use_ii:nn }
+\prg_generate_conditional_variant:Nnn \seq_set_item:Nnn { c } { TF , T , F }
+\prg_generate_conditional_variant:Nnn \seq_gset_item:Nnn { c } { TF , T , F }
+% \end{macrocode}
+% Save the item to be stored and evaluate the position and the sequence
+% length only once. Then depending on the sign of the position, check
+% that it is not bigger than the length (in absolute value) nor zero.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_set_item:NnnNN #1#2#3
+ {
+ \tl_set:Nn \l_@@_internal_a_tl { \@@_item:n {#3} }
+ \exp_args:Nff \@@_set_item:nnNNNN
+ { \int_eval:n {#2} } { \seq_count:N #1 } #1 \use_none:nn
+ }
+\cs_new_protected:Npn \@@_set_item:nnNNNN #1#2
+ {
+ \int_compare:nNnTF {#1} > 0
+ { \int_compare:nNnF {#1} > {#2} { \@@_set_item:nNnnNNNN { #1 - 1 } } }
+ {
+ \int_compare:nNnF {#1} < {-#2}
+ {
+ \int_compare:nNnF {#1} = 0
+ { \@@_set_item:nNnnNNNN { #2 + #1 } }
+ }
+ }
+ \@@_set_item_false:nnNNNN {#1} {#2}
+ }
+% \end{macrocode}
+% If the position is not ok, \cs{@@_set_item_false:nnNNNN} calls an
+% error or returns \texttt{false} (depending on the \cs{use_i:nn} vs
+% \cs{use_ii:nn} argument mentioned above).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_set_item_false:nnNNNN #1#2#3#4#5#6
+ {
+ #6
+ {
+ \msg_error:nnxxx { seq } { item-too-large }
+ { \token_to_str:N #3 } {#2} {#1}
+ }
+ { \prg_return_false: }
+ }
+% \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|
+% 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
+% \cs{if_meaning:w} test is slightly faster than an integer test (but
+% only works when testing against zero, hence the offset we chose in
+% the position). When we are done skipping items, insert the saved
+% item \cs{l_@@_internal_a_tl}. For |put| functions the last argument
+% of \cs{@@_set_item_end:w} is \cs{use_none:nn} and it absorbs the
+% item |#2| that we are removing: this is only useful for the |pop|
+% functions.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_set_item:nNnnNNNN #1#2#3#4#5#6#7#8
+ {
+ #7 #5
+ {
+ \s_@@
+ \exp_after:wN \@@_set_item:wn
+ \int_value:w \@@_int_eval:w #1
+ #5 \s_@@_stop #6
+ }
+ #8 { } { \prg_return_true: }
+ }
+\cs_new:Npn \@@_set_item:wn #1 \@@_item:n #2
+ {
+ \if_meaning:w 0 #1 \@@_set_item_end:w \fi:
+ \exp_not:n { \@@_item:n {#2} }
+ \exp_after:wN \@@_set_item:wn
+ \int_value:w \@@_int_eval:w #1 - 1 \s_@@
+ }
+\cs_new:Npn \@@_set_item_end:w #1 \exp_not:n #2 #3 \s_@@ #4 \s_@@_stop #5
+ {
+ #1
+ \exp_not:o \l_@@_internal_a_tl
+ \exp_not:n {#4}
+ #5 #2
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
% \begin{macro}
% {\seq_reverse:N, \seq_reverse:c, \seq_greverse:N, \seq_greverse:c}
% \begin{macro}{\@@_reverse:NN}
@@ -2160,6 +2303,53 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}
+% {
+% \seq_map_pairwise_function:NNN, \seq_map_pairwise_function:NcN,
+% \seq_map_pairwise_function:cNN, \seq_map_pairwise_function:ccN
+% }
+% \begin{macro}
+% {
+% \@@_map_pairwise_function:wNN, \@@_map_pairwise_function:wNw,
+% \@@_map_pairwise_function:Nnnwnn
+% }
+% The idea is to first expand both sequences, adding the
+% usual |{ ? \prg_break: } { }| to the end of each one. This is
+% most conveniently done in two steps using an auxiliary function.
+% The mapping then throws away the first tokens of |#2| and |#5|,
+% which for items in both sequences are \cs{s_@@}
+% \cs{@@_item:n}. The function to be mapped are then be applied to
+% the two entries. When the code hits the end of one of the
+% sequences, the break material stops the entire loop and tidy up.
+% This avoids needing to find the count of the two sequences, or
+% worrying about which is longer.
+% \begin{macrocode}
+\cs_new:Npn \seq_map_pairwise_function:NNN #1#2#3
+ { \exp_after:wN \@@_map_pairwise_function:wNN #2 \s_@@_stop #1 #3 }
+\cs_new:Npn \@@_map_pairwise_function:wNN \s_@@ #1 \s_@@_stop #2#3
+ {
+ \exp_after:wN \@@_map_pairwise_function:wNw #2 \s_@@_stop #3
+ #1 { ? \prg_break: } { }
+ \prg_break_point:
+ }
+\cs_new:Npn \@@_map_pairwise_function:wNw \s_@@ #1 \s_@@_stop #2
+ {
+ \@@_map_pairwise_function:Nnnwnn #2
+ #1 { ? \prg_break: } { }
+ \s_@@_stop
+ }
+\cs_new:Npn \@@_map_pairwise_function:Nnnwnn #1#2#3#4 \s_@@_stop #5#6
+ {
+ \use_none:n #2
+ \use_none:n #5
+ #1 {#3} {#6}
+ \@@_map_pairwise_function:Nnnwnn #1 #4 \s_@@_stop
+ }
+\cs_generate_variant:Nn \seq_map_pairwise_function:NNN { Nc , c , cc }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
% \begin{macro}{\seq_set_map_x:NNn, \seq_gset_map_x:NNn}
% \begin{macro}{\@@_set_map_x:NNNn}
% Very similar to \cs{seq_set_filter:NNn}. We could actually
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3str.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3str.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3text.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3text.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3text.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3token.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3token.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-05}
+% \date{Released 2023-05-11}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty 2023-05-11 20:14:09 UTC (rev 67074)
@@ -20,7 +20,7 @@
%%
%% File: l3benchmark.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3benchmark}{2023-04-19}{}
+\ProvidesExplPackage{l3benchmark}{2023-05-11}{}
{L3 Experimental benchmarking}
\fp_new:N \g_benchmark_duration_target_fp
\fp_gset:Nn \g_benchmark_duration_target_fp { 1 }
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3bitset/l3bitset.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3bitset/l3bitset.sty 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3bitset/l3bitset.sty 2023-05-11 20:14:09 UTC (rev 67074)
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: l3bitset.dtx
-\ProvidesExplPackage{l3bitset}{2023-04-19}{}
+\ProvidesExplPackage{l3bitset}{2023-05-11}{}
{L3 Experimental bitset support}
\cs_new_protected:Npn \bitset_new:N #1
{
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty 2023-05-11 20:14:09 UTC (rev 67074)
@@ -28,7 +28,7 @@
%%
%% File: l3draw.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3draw}{2023-04-19}{}
+\ProvidesExplPackage{l3draw}{2023-05-11}{}
{L3 Experimental core drawing support}
\scan_new:N \s__draw_mark
\scan_new:N \s__draw_stop
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty 2023-05-11 20:14:09 UTC (rev 67074)
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: l3graphics.dtx
-\ProvidesExplPackage{l3graphics}{2023-04-19}{}
+\ProvidesExplPackage{l3graphics}{2023-05-11}{}
{L3 Experimental graphics inclusion support}
\dim_new:N \l__graphics_internal_dim
\ior_new:N \l__graphics_internal_ior
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty 2023-05-11 20:14:09 UTC (rev 67074)
@@ -20,7 +20,7 @@
%%
%% File: l3opacity.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3opacity}{2023-04-19}{}
+\ProvidesExplPackage{l3opacity}{2023-05-11}{}
{L3 Experimental opacity support}
\cs_new_protected:Npn \opacity_select:n #1
{ \__opacity_select:nN {#1} \__opacity_backend_select:n }
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty 2023-05-11 20:14:09 UTC (rev 67074)
@@ -20,7 +20,7 @@
%%
%% File: l3str-format.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3str-format}{2023-04-19}{}
+\ProvidesExplPackage{l3str-format}{2023-05-11}{}
{L3 Experimental string formatting}
\cs_generate_variant:Nn \use:nn { nf }
\cs_generate_variant:Nn \use:nnn { fnf }
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty 2023-05-11 20:14:09 UTC (rev 67074)
@@ -20,7 +20,7 @@
%%
%% File: l3sys-shell.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3sys-shell}{2023-04-19}{}
+\ProvidesExplPackage{l3sys-shell}{2023-05-11}{}
{L3 Experimental system shell functions}
\scan_new:N \s__sys_stop
\quark_new:N \q__sys_nil
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty 2023-05-11 20:14:09 UTC (rev 67074)
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: xcoffins.dtx
-\ProvidesExplPackage{xcoffins}{2023-04-19}{}
+\ProvidesExplPackage{xcoffins}{2023-05-11}{}
{L3 Experimental design level coffins}
\keys_define:nn { coffin }
{
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty 2023-05-11 20:14:09 UTC (rev 67074)
@@ -32,7 +32,7 @@
}%
\endinput
}
-\ProvidesExplPackage{l3galley}{2023-04-19}{}
+\ProvidesExplPackage{l3galley}{2023-05-11}{}
{L3 Experimental galley code}
\int_new:N \l__galley_tmp_int
\seq_new:N \g__galley_tmpa_seq
@@ -563,7 +563,7 @@
\tex_parshape:D
\int_min:nn { \seq_count:N #1 } { \seq_count:N #2 }
\exp_stop_f:
- \seq_mapthread_function:NNN #1 #2
+ \seq_map_pairwise_function:NNN #1 #2
\__galley_parshape_set_indents:nn
}
\cs_new:Npn \__galley_parshape_set_indents:nn #1#2
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty 2023-05-11 20:14:09 UTC (rev 67074)
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: xgalley.dtx
-\ProvidesExplPackage{xgalley}{2023-04-19}{}
+\ProvidesExplPackage{xgalley}{2023-05-11}{}
{L3 Experimental galley}
\RequirePackage{xtemplate,l3galley}
\clist_new:N \l__galley_tmpa_clist
Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex 2023-05-11 20:14:09 UTC (rev 67074)
@@ -71,7 +71,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2023-05-05}%
+\def\ExplFileDate{2023-05-11}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -5810,6 +5810,72 @@
}
\cs_generate_variant:Nn \seq_remove_all:Nn { c }
\cs_generate_variant:Nn \seq_gremove_all:Nn { c }
+\cs_new_eq:NN \__seq_int_eval:w \tex_numexpr:D
+\cs_new_protected:Npn \seq_set_item:Nnn #1#2#3
+ { \__seq_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_set:Nx \use_i:nn }
+\cs_new_protected:Npn \seq_gset_item:Nnn #1#2#3
+ { \__seq_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_gset:Nx \use_i:nn }
+\cs_generate_variant:Nn \seq_set_item:Nnn { c }
+\cs_generate_variant:Nn \seq_gset_item:Nnn { c }
+\prg_new_protected_conditional:Npnn \seq_set_item:Nnn #1#2#3 { TF , T , F }
+ { \__seq_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_set:Nx \use_ii:nn }
+\prg_new_protected_conditional:Npnn \seq_gset_item:Nnn #1#2#3 { TF , T , F }
+ { \__seq_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_gset:Nx \use_ii:nn }
+\prg_generate_conditional_variant:Nnn \seq_set_item:Nnn { c } { TF , T , F }
+\prg_generate_conditional_variant:Nnn \seq_gset_item:Nnn { c } { TF , T , F }
+\cs_new_protected:Npn \__seq_set_item:NnnNN #1#2#3
+ {
+ \tl_set:Nn \l__seq_internal_a_tl { \__seq_item:n {#3} }
+ \exp_args:Nff \__seq_set_item:nnNNNN
+ { \int_eval:n {#2} } { \seq_count:N #1 } #1 \use_none:nn
+ }
+\cs_new_protected:Npn \__seq_set_item:nnNNNN #1#2
+ {
+ \int_compare:nNnTF {#1} > 0
+ { \int_compare:nNnF {#1} > {#2} { \__seq_set_item:nNnnNNNN { #1 - 1 } } }
+ {
+ \int_compare:nNnF {#1} < {-#2}
+ {
+ \int_compare:nNnF {#1} = 0
+ { \__seq_set_item:nNnnNNNN { #2 + #1 } }
+ }
+ }
+ \__seq_set_item_false:nnNNNN {#1} {#2}
+ }
+\cs_new_protected:Npn \__seq_set_item_false:nnNNNN #1#2#3#4#5#6
+ {
+ #6
+ {
+ \msg_error:nnxxx { seq } { item-too-large }
+ { \token_to_str:N #3 } {#2} {#1}
+ }
+ { \prg_return_false: }
+ }
+\cs_new_protected:Npn \__seq_set_item:nNnnNNNN #1#2#3#4#5#6#7#8
+ {
+ #7 #5
+ {
+ \s__seq
+ \exp_after:wN \__seq_set_item:wn
+ \int_value:w \__seq_int_eval:w #1
+ #5 \s__seq_stop #6
+ }
+ #8 { } { \prg_return_true: }
+ }
+\cs_new:Npn \__seq_set_item:wn #1 \__seq_item:n #2
+ {
+ \if_meaning:w 0 #1 \__seq_set_item_end:w \fi:
+ \exp_not:n { \__seq_item:n {#2} }
+ \exp_after:wN \__seq_set_item:wn
+ \int_value:w \__seq_int_eval:w #1 - 1 \s__seq
+ }
+\cs_new:Npn \__seq_set_item_end:w #1 \exp_not:n #2 #3 \s__seq #4 \s__seq_stop #5
+ {
+ #1
+ \exp_not:o \l__seq_internal_a_tl
+ \exp_not:n {#4}
+ #5 #2
+ }
\cs_new_protected:Npn \seq_reverse:N
{ \__seq_reverse:NN \__kernel_tl_set:Nx }
\cs_new_protected:Npn \seq_greverse:N
@@ -6168,6 +6234,28 @@
\exp_after:wN #1
\int_value:w \int_eval:w 1 + #2 ;
}
+\cs_new:Npn \seq_map_pairwise_function:NNN #1#2#3
+ { \exp_after:wN \__seq_map_pairwise_function:wNN #2 \s__seq_stop #1 #3 }
+\cs_new:Npn \__seq_map_pairwise_function:wNN \s__seq #1 \s__seq_stop #2#3
+ {
+ \exp_after:wN \__seq_map_pairwise_function:wNw #2 \s__seq_stop #3
+ #1 { ? \prg_break: } { }
+ \prg_break_point:
+ }
+\cs_new:Npn \__seq_map_pairwise_function:wNw \s__seq #1 \s__seq_stop #2
+ {
+ \__seq_map_pairwise_function:Nnnwnn #2
+ #1 { ? \prg_break: } { }
+ \s__seq_stop
+ }
+\cs_new:Npn \__seq_map_pairwise_function:Nnnwnn #1#2#3#4 \s__seq_stop #5#6
+ {
+ \use_none:n #2
+ \use_none:n #5
+ #1 {#3} {#6}
+ \__seq_map_pairwise_function:Nnnwnn #1 #4 \s__seq_stop
+ }
+\cs_generate_variant:Nn \seq_map_pairwise_function:NNN { Nc , c , cc }
\cs_new_protected:Npn \seq_set_map_x:NNn
{ \__seq_set_map_x:NNNn \__kernel_tl_set:Nx }
\cs_new_protected:Npn \seq_gset_map_x:NNn
@@ -10708,6 +10796,15 @@
LaTeX~has~been~asked~to~create~a~new~scan~mark~'#1'~
but~this~name~has~already~been~used~for~a~scan~mark.
}
+\msg_new:nnnn { seq } { item-too-large }
+ { Sequence~'#1'~does~not~have~an~item~#3 }
+ {
+ An~attempt~was~made~to~push~or~pop~the~item~at~position~#3~
+ of~'#1',~but~this~
+ \int_compare:nTF { #3 = 0 }
+ { position~does~not~exist. }
+ { sequence~only~has~#2~item \int_compare:nF { #2 = 1 } {s}. }
+ }
\msg_new:nnnn { seq } { shuffle-too-large }
{ The~sequence~#1~is~too~long~to~be~shuffled~by~TeX. }
{
@@ -11759,10 +11856,27 @@
\cs_new:Npn \__file_full_name:n #1
{
\tl_if_blank:nF {#1}
- { \exp_args:Nne \__file_full_name_aux:nn {#1} { \__file_size:n {#1} } }
+ { \exp_args:Nne \__file_full_name_auxii:nn {#1} { \__file_full_name_aux:n {#1} } }
}
-\cs_new:Npn \__file_full_name_aux:nn #1 #2
+\cs_new:Npn \__file_full_name_aux:n #1
{
+ \if_cs_exist:w __file_seen_ \tl_to_str:n {#1} : \cs_end:
+ -1
+ \else:
+ \exp_args:Ne \__file_full_name_auxi:nn { \__file_size:n {#1} } {#1}
+ \fi:
+ }
+\cs_new:Npn \__file_full_name_auxi:nn #1#2
+ {
+ \if:w \scan_stop: #1 \scan_stop:
+ \else:
+ \exp_after:wN \use_none:n
+ \cs:w __file_seen_ \tl_to_str:n {#2} : \cs_end:
+ #1
+ \fi:
+ }
+\cs_new:Npn \__file_full_name_auxii:nn #1 #2
+ {
\tl_if_blank:nTF {#2}
{
\seq_map_tokens:Nn \l_file_search_path_seq
@@ -11779,7 +11893,7 @@
\cs_new:Npn \__file_full_name_aux:Nnn #1#2#3
{ \exp_args:Ne \__file_full_name_aux:nN { \tl_to_str:n {#3} / #2 } #1 }
\cs_new:Npn \__file_full_name_aux:nN #1
- { \exp_args:Nne \__file_full_name_aux:nnN {#1} { \__file_size:n {#1} } }
+ { \exp_args:Nne \__file_full_name_aux:nnN {#1} { \__file_full_name_aux:n {#1} } }
\cs_new:Npn \__file_full_name_aux:nnN #1 #2 #3
{
\tl_if_blank:nF {#2}
@@ -11814,14 +11928,15 @@
{ #1 #3 }
}
\cs_new:Npn \__file_ext_check:nnn #1
- { \exp_args:Nne \__file_ext_check:nnnn {#1} { \__file_size:n {#1} } }
+ { \exp_args:Nne \__file_ext_check:nnnn {#1} { \__file_full_name_aux:n {#1} } }
\cs_new:Npn \__file_ext_check:nnnn #1#2#3#4
{
\tl_if_blank:nTF {#2}
{#3}
{
- \int_compare:nNnTF
- {#4} = {#2}
+ \bool_lazy_or:nnTF
+ { \int_compare_p:nNn {#4} = {#2} }
+ { \int_compare_p:nNn {#2} = { -1 } }
{#1}
{#3}
}
@@ -35555,28 +35670,6 @@
\q_recursion_stop
\group_end:
%% File: l3candidates.dtx
-\cs_new:Npn \seq_mapthread_function:NNN #1#2#3
- { \exp_after:wN \__seq_mapthread_function:wNN #2 \s__seq_stop #1 #3 }
-\cs_new:Npn \__seq_mapthread_function:wNN \s__seq #1 \s__seq_stop #2#3
- {
- \exp_after:wN \__seq_mapthread_function:wNw #2 \s__seq_stop #3
- #1 { ? \prg_break: } { }
- \prg_break_point:
- }
-\cs_new:Npn \__seq_mapthread_function:wNw \s__seq #1 \s__seq_stop #2
- {
- \__seq_mapthread_function:Nnnwnn #2
- #1 { ? \prg_break: } { }
- \s__seq_stop
- }
-\cs_new:Npn \__seq_mapthread_function:Nnnwnn #1#2#3#4 \s__seq_stop #5#6
- {
- \use_none:n #2
- \use_none:n #5
- #1 {#3} {#6}
- \__seq_mapthread_function:Nnnwnn #1 #4 \s__seq_stop
- }
-\cs_generate_variant:Nn \seq_mapthread_function:NNN { Nc , c , cc }
\cs_new_protected:Npn \seq_set_filter:NNn
{ \__seq_set_filter:NNNn \__kernel_tl_set:Nx }
\cs_new_protected:Npn \seq_gset_filter:NNn
@@ -35587,113 +35680,6 @@
#1 #2 { #3 }
\__seq_pop_item_def:
}
-\cs_new_eq:NN \__seq_int_eval:w \tex_numexpr:D
-\cs_new_protected:Npn \seq_set_item:Nnn #1#2#3
- { \__seq_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_set:Nx \use_i:nn }
-\cs_new_protected:Npn \seq_gset_item:Nnn #1#2#3
- { \__seq_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_gset:Nx \use_i:nn }
-\cs_generate_variant:Nn \seq_set_item:Nnn { c }
-\cs_generate_variant:Nn \seq_gset_item:Nnn { c }
-\prg_new_protected_conditional:Npnn \seq_set_item:Nnn #1#2#3 { TF , T , F }
- { \__seq_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_set:Nx \use_ii:nn }
-\prg_new_protected_conditional:Npnn \seq_gset_item:Nnn #1#2#3 { TF , T , F }
- { \__seq_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_gset:Nx \use_ii:nn }
-\prg_generate_conditional_variant:Nnn \seq_set_item:Nnn { c } { TF , T , F }
-\prg_generate_conditional_variant:Nnn \seq_gset_item:Nnn { c } { TF , T , F }
-\cs_new_protected:Npn \__seq_set_item:NnnNN #1#2#3
- {
- \tl_set:Nn \l__seq_internal_a_tl { \__seq_item:n {#3} }
- \exp_args:Nff \__seq_set_item:nnNNNN
- { \int_eval:n {#2} } { \seq_count:N #1 } #1 \use_none:nn
- }
-\cs_new_protected:Npn \__seq_set_item:nnNNNN #1#2
- {
- \int_compare:nNnTF {#1} > 0
- { \int_compare:nNnF {#1} > {#2} { \__seq_set_item:nNnnNNNN { #1 - 1 } } }
- {
- \int_compare:nNnF {#1} < {-#2}
- {
- \int_compare:nNnF {#1} = 0
- { \__seq_set_item:nNnnNNNN { #2 + #1 } }
- }
- }
- \__seq_set_item_false:nnNNNN {#1} {#2}
- }
-\cs_new_protected:Npn \__seq_set_item_false:nnNNNN #1#2#3#4#5#6
- {
- #6
- {
- \msg_error:nnxxx { seq } { item-too-large }
- { \token_to_str:N #3 } {#2} {#1}
- }
- { \prg_return_false: }
- }
-\msg_new:nnnn { seq } { item-too-large }
- { Sequence~'#1'~does~not~have~an~item~#3 }
- {
- An~attempt~was~made~to~push~or~pop~the~item~at~position~#3~
- of~'#1',~but~this~
- \int_compare:nTF { #3 = 0 }
- { position~does~not~exist. }
- { sequence~only~has~#2~item \int_compare:nF { #2 = 1 } {s}. }
- }
-\cs_new_protected:Npn \__seq_set_item:nNnnNNNN #1#2#3#4#5#6#7#8
- {
- #7 #5
- {
- \s__seq
- \exp_after:wN \__seq_set_item:wn
- \int_value:w \__seq_int_eval:w #1
- #5 \s__seq_stop #6
- }
- #8 { } { \prg_return_true: }
- }
-\cs_new:Npn \__seq_set_item:wn #1 \__seq_item:n #2
- {
- \if_meaning:w 0 #1 \__seq_set_item_end:w \fi:
- \exp_not:n { \__seq_item:n {#2} }
- \exp_after:wN \__seq_set_item:wn
- \int_value:w \__seq_int_eval:w #1 - 1 \s__seq
- }
-\cs_new:Npn \__seq_set_item_end:w #1 \exp_not:n #2 #3 \s__seq #4 \s__seq_stop #5
- {
- #1
- \exp_not:o \l__seq_internal_a_tl
- \exp_not:n {#4}
- #5 #2
- }
-\cs_new_protected:Npn \seq_pop_item:NnN #1#2#3
- { \seq_pop_item:NnNTF #1 {#2} #3 { } { } }
-\cs_new_protected:Npn \seq_gpop_item:NnN #1#2#3
- { \seq_gpop_item:NnNTF #1 {#2} #3 { } { } }
-\cs_generate_variant:Nn \seq_pop_item:NnN { c }
-\cs_generate_variant:Nn \seq_gpop_item:NnN { c }
-\prg_new_protected_conditional:Npnn \seq_pop_item:NnN #1#2#3 { TF , T , F }
- { \__seq_pop_item:NnNN #1 {#2} #3 \__kernel_tl_set:Nx }
-\prg_new_protected_conditional:Npnn \seq_gpop_item:NnN #1#2#3 { TF , T , F }
- { \__seq_pop_item:NnNN #1 {#2} #3 \__kernel_tl_gset:Nx }
-\prg_generate_conditional_variant:Nnn \seq_pop_item:NnN { c } { TF , T , F }
-\prg_generate_conditional_variant:Nnn \seq_gpop_item:NnN { c } { TF , T , F }
-\cs_new_protected:Npn \__seq_pop_item:NnNN #1#2#3#4
- {
- \tl_clear:N \l__seq_internal_a_tl
- \tl_set:Nn \l__seq_internal_b_tl { \__kernel_tl_set:Nx #3 }
- \exp_args:Nff \__seq_set_item:nnNNNN
- { \int_eval:n {#2} } { \seq_count:N #1 }
- #1 \__seq_pop_item_aux:w #4 \__seq_pop_item:nn
- }
-\cs_new_protected:Npn \__seq_pop_item:nn #1#2
- {
- \if_meaning:w \prg_return_false: #2
- \l__seq_internal_b_tl { \exp_not:N \q_no_value }
- \fi:
- #2
- }
-\cs_new:Npn \__seq_pop_item_aux:w \__seq_item:n #1
- {
- \if_false: { \fi: }
- \l__seq_internal_b_tl { \if_false: } \fi: \exp_not:n {#1}
- }
\cs_new_protected:Npn \tl_build_begin:N #1
{ \__tl_build_begin:NN \cs_set_nopar:Npx #1 }
\cs_new_protected:Npn \tl_build_gbegin:N #1
@@ -36132,6 +36118,8 @@
\cs_gset_protected:Npn \seq_indexed_map_inline:Nn { \seq_map_indexed_inline:Nn }
\__kernel_patch_deprecation:nnNNpn { 2020-06-18 } { \seq_map_indexed_function:NN }
\cs_gset:Npn \seq_indexed_map_function:NN { \seq_map_indexed_function:NN }
+\__kernel_patch_deprecation:nnNNpn { 2023-05-10 } { \seq_mapthread_function:NNN }
+\cs_gset:Npn \seq_mapthread_function:NNN { \seq_map_pairwise_function:NNN }
\__kernel_patch_deprecation:nnNNpn { 2021-01-11 } { (no~longer~required) }
\cs_gset_protected:Npn \sys_load_deprecation: { }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_lowercase:n }
Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex 2023-05-11 20:14:09 UTC (rev 67074)
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2023-05-05}%
+\def\ExplFileDate{2023-05-11}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\catcode`\_=11
Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx 2023-05-11 20:14:09 UTC (rev 67074)
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2023-05-05}%
+\def\ExplFileDate{2023-05-11}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\catcode`\_=11
Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.sty 2023-05-11 20:11:39 UTC (rev 67073)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.sty 2023-05-11 20:14:09 UTC (rev 67074)
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2023-05-05}%
+\def\ExplFileDate{2023-05-11}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%
More information about the tex-live-commits
mailing list.