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