texlive[63089] Master/texmf-dist: l3 (20apr22)

commits+karl at tug.org commits+karl at tug.org
Wed Apr 20 21:45:22 CEST 2022


Revision: 63089
          http://tug.org/svn/texlive?view=revision&revision=63089
Author:   karl
Date:     2022-04-20 21:45:21 +0200 (Wed, 20 Apr 2022)
Log Message:
-----------
l3 (20apr22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md
    trunk/Master/texmf-dist/doc/latex/l3backend/README.md
    trunk/Master/texmf-dist/doc/latex/l3backend/l3backend-code.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
    trunk/Master/texmf-dist/doc/latex/l3experimental/README.md
    trunk/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/l3bitset/l3bitset.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
    trunk/Master/texmf-dist/doc/latex/l3kernel/README.md
    trunk/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
    trunk/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/source3.tex
    trunk/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx
    trunk/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx
    trunk/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx
    trunk/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx
    trunk/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx
    trunk/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx
    trunk/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx
    trunk/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3color.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3text.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
    trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
    trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
    trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
    trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
    trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
    trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3bitset/l3bitset.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
    trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
    trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
    trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
    trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.sty

Modified: trunk/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md	2022-04-20 19:45:21 UTC (rev 63089)
@@ -6,6 +6,13 @@
 
 ## [Unreleased]
 
+## [2022-04-20]
+
+### Changed
+- Adjust `(x)dvipdfmx` backend approach to color following issues with
+  multiple color stacks in `xetex.def`
+- Move some functions to `l3color`
+
 ## [2022-04-14]
 
 ### Added
@@ -238,7 +245,8 @@
 - Include `l3backend` in file names
 - Moved backend code to internal for each 'parent' module
 
-[Unreleased]: https://github.com/latex3/latex3/compare/2022-04-14...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2022-04-20...HEAD
+[2022-04-20]: https://github.com/latex3/latex3/compare/2022-04-14...2022-04-20
 [2022-04-14]: https://github.com/latex3/latex3/compare/2022-04-10...2022-04-14
 [2022-04-10]: https://github.com/latex3/latex3/compare/2022-02-07...2022-04-10
 [2022-02-07]: https://github.com/latex3/latex3/compare/2022-01-12...2022-02-07

Modified: trunk/Master/texmf-dist/doc/latex/l3backend/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3backend/README.md	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/doc/latex/l3backend/README.md	2022-04-20 19:45:21 UTC (rev 63089)
@@ -1,7 +1,7 @@
 LaTeX3 Backend Drivers
 ======================
 
-Release 2022-04-14
+Release 2022-04-20
 
 This package forms parts of `expl3`, and contains the code used to interface
 with backends (drivers) across the `expl3` codebase. The functions here are

Modified: trunk/Master/texmf-dist/doc/latex/l3backend/l3backend-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md	2022-04-20 19:45:21 UTC (rev 63089)
@@ -7,6 +7,11 @@
 
 ## [Unreleased]
 
+## [2022-04-20]
+
+### Fixed
+- Finding graphics files with multiple extensions
+
 ## [2022-04-10]
 
 ### Added
@@ -246,7 +251,8 @@
 - New `l3color` module using `xcolor`-like expression syntax
 - New `l3draw` module, based on `pgf` layer of the TikZ system
 
-[Unreleased]: https://github.com/latex3/latex3/compare/2022-04-10...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2022-04-20...HEAD
+[2022-04-20]: https://github.com/latex3/latex3/compare/2022-04-10...2022-04-20
 [2022-04-10]: https://github.com/latex3/latex3/compare/2022-02-05...2022-04-10
 [2022-02-05]: https://github.com/latex3/latex3/compare/2021-11-12...2022-02-05
 [2021-11-12]: https://github.com/latex3/latex3/compare/2021-08-27...2021-11-12

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3experimental/README.md	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/doc/latex/l3experimental/README.md	2022-04-20 19:45:21 UTC (rev 63089)
@@ -1,7 +1,7 @@
 Experimental LaTeX3 Concepts
 ============================
 
-Release 2022-04-10
+Release 2022-04-20
 
 Overview
 --------

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3bitset/l3bitset.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md	2022-04-20 19:45:21 UTC (rev 63089)
@@ -7,6 +7,11 @@
 
 ## [Unreleased]
 
+## [2022-04-20]
+
+### Changed
+- Collect some common code from `l3backend-color`
+
 ## [2022-04-10]
 
 ### Added
@@ -1073,7 +1078,8 @@
 - Step functions have been added for dim variables,
   e.g. `\dim_step_inline:nnnn`
 
-[Unreleased]: https://github.com/latex3/latex3/compare/2022-04-10...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2022-04-20...HEAD
+[2022-04-20]: https://github.com/latex3/latex3/compare/2022-04-10...2022-04-20
 [2022-04-10]: https://github.com/latex3/latex3/compare/2022-02-24...2022-04-10
 [2022-02-24]: https://github.com/latex3/latex3/compare/2022-02-21...2022-02-24
 [2022-02-21]: https://github.com/latex3/latex3/compare/2022-02-05...2022-02-21

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/README.md	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/README.md	2022-04-20 19:45:21 UTC (rev 63089)
@@ -1,7 +1,7 @@
 LaTeX3 Programming Conventions
 ==============================
 
-Release 2022-04-10
+Release 2022-04-20
 
 Overview
 --------

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.tex	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.tex	2022-04-20 19:45:21 UTC (rev 63089)
@@ -54,7 +54,7 @@
          {latex-team at latex-project.org}%
    }%
 }
-\date{Released 2022-04-10}
+\date{Released 2022-04-20}
 
 \pagenumbering{roman}
 \maketitle

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex	2022-04-20 19:45:21 UTC (rev 63089)
@@ -32,7 +32,7 @@
         {latex-team at latex-project.org}%
     }%
 }
-\date{Released 2022-04-10}
+\date{Released 2022-04-20}
 
 \begin{document}
 

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex	2022-04-20 19:45:21 UTC (rev 63089)
@@ -32,7 +32,7 @@
         {latex-team at latex-project.org}%
     }%
 }
-\date{Released 2022-04-10}
+\date{Released 2022-04-20}
 
 \newcommand{\TF}{\textit{(TF)}}
 

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex	2022-04-20 19:45:21 UTC (rev 63089)
@@ -32,7 +32,7 @@
         {latex-team at latex-project.org}%
     }%
 }
-\date{Released 2022-04-10}
+\date{Released 2022-04-20}
 
 \newcommand{\TF}{\textit{(TF)}}
 

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/source3.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/source3.tex	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/source3.tex	2022-04-20 19:45:21 UTC (rev 63089)
@@ -53,7 +53,7 @@
          {latex-team at latex-project.org}%
    }%
 }
-\date{Released 2022-04-10}
+\date{Released 2022-04-20}
 
 \pagenumbering{roman}
 \maketitle

Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-14}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %
@@ -70,27 +70,27 @@
 %    \begin{macrocode}
 \ProvidesExplFile
 %<*dvipdfmx>
-  {l3backend-dvipdfmx.def}{2022-04-14}{}
+  {l3backend-dvipdfmx.def}{2022-04-20}{}
   {L3 backend support: dvipdfmx}
 %</dvipdfmx>
 %<*dvips>
-  {l3backend-dvips.def}{2022-04-14}{}
+  {l3backend-dvips.def}{2022-04-20}{}
   {L3 backend support: dvips}
 %</dvips>
 %<*dvisvgm>
-  {l3backend-dvisvgm.def}{2022-04-14}{}
+  {l3backend-dvisvgm.def}{2022-04-20}{}
   {L3 backend support: dvisvgm}
 %</dvisvgm>
 %<*luatex>
-  {l3backend-luatex.def}{2022-04-14}{}
+  {l3backend-luatex.def}{2022-04-20}{}
   {L3 backend support: PDF output (LuaTeX)}
 %</luatex>
 %<*pdftex>
-  {l3backend-pdftex.def}{2022-04-14}{}
+  {l3backend-pdftex.def}{2022-04-20}{}
   {L3 backend support: PDF output (pdfTeX)}
 %</pdftex>
 %<*xetex>
-  {l3backend-xetex.def}{2022-04-14}{}
+  {l3backend-xetex.def}{2022-04-20}{}
   {L3 backend support: XeTeX}
 %</xetex>
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-14}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-14}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %
@@ -60,9 +60,10 @@
 %<@@=color>
 %    \end{macrocode}
 %
-% Color support is split into parts: collecting data from \LaTeXe{}, the color stack, general color, separations, and color for
-% drawings. We have different approaches in each backend, and have some choices
-% to make about \texttt{dvipdfmx}/\XeTeX{} in particular. Whilst it is in some ways
+% Color support is split into parts: collecting data from \LaTeXe{}, the color
+% stack, general color, separations, and color for drawings. We have different
+% approaches in each backend, and have some choices to make about
+% \texttt{dvipdfmx}/\XeTeX{} in particular. Whilst it is in some ways
 % convenient to use the same approach in multiple backends, the fact that
 % \texttt{dvipdfmx}/\XeTeX{} is PDF-based means it (largely) sticks closer to
 % direct PDF output.
@@ -169,19 +170,22 @@
 % \subsection{The color stack}
 %
 % For PDF-based engines, we have a color stack available inside the specials.
-% This is used for concepts beyond color itself: it is needed to manage th graphics
-% state generally. The exact form depends on the engine, and for
-% \texttt{dvipdfmx}/\XeTeX{} the backend version.
+% This is used for concepts beyond color itself: it is needed to manage the
+% graphics state generally. Although \texttt{dvipdfmx}/\XeTeX{} have multiple
+% color stacks in recent releases, the way these interact with the original
+% single stack and with other graphic state operations means that currently it
+% is not feasible to use the multiple stacks.
 %
 % \subsubsection{Common code}
 %
 %    \begin{macrocode}
-%<*dvipdfmx|luatex|pdftex|xetex>
+%<*luatex|pdftex>
 %    \end{macrocode}
 %
 % \begin{variable}{\l_@@_backend_stack_int}
-%   \pdfTeX{}, \LuaTeX{} and recent \texttt{(x)dvipdfmx} have multiple stacks
-%   available, and to track which one is in use a variable is required.
+%   For tracking which stack is in use where multiple stacks are used:
+%   currently just \pdfTeX{}/\LuaTeX{} but at some future stage may also cover
+%   \texttt{dvipdfmx}/\XeTeX{}.
 %    \begin{macrocode}
 \int_new:N \l_@@_backend_stack_int
 %    \end{macrocode}
@@ -188,102 +192,9 @@
 % \end{variable}
 %
 %    \begin{macrocode}
-%</dvipdfmx|luatex|pdftex|xetex>
+%</luatex|pdftex>
 %    \end{macrocode}
 %
-% \subsubsection{\texttt{dvipdfmx}/\XeTeX{}}
-%
-%    \begin{macrocode}
-%<*dvipdfmx|xetex>
-%    \end{macrocode}
-%
-% \begin{macro}{\__kernel_color_backend_stack_init:Nnn}
-% \begin{variable}
-%   {\g_@@_backend_stack_int, \c_@@_backend_main_stack_int}
-%   In \texttt{(x)dvipdfmx}, the base color stack is not set up, so we have to
-%   force that, as well as providing a mechanism more generally.
-%    \begin{macrocode}
-\int_new:N \g_@@_backend_stack_int
-\cs_new_protected:Npx \__kernel_color_backend_stack_init:Nnn #1#2#3
-  {
-    \int_gincr:N \exp_not:N \g_@@_backend_stack_int
-    \int_const:Nn #1 { \exp_not:N \g_@@_backend_stack_int }
-    \use:x
-      {
-        \__kernel_backend_first_shipout:n
-          {
-            \__kernel_backend_literal:n
-              {
-                pdfcolorstackinit ~
-                \exp_not:N \int_use:N \exp_not:N \g_@@_backend_stack_int
-                \c_space_tl
-                \exp_not:N \tl_if_blank:nF {#2} { #2 ~ }
-                (#3)
-              }
-        }
-      }
-  }
-\cs_if_exist:cTF { main at pdfcolorstack }
-  {
-    \int_set:Nn \l_@@_backend_stack_int
-      { \int_use:c { main at pdfcolorstack } }
-  }
-  {
-    \__kernel_color_backend_stack_init:Nnn \c_@@_backend_main_stack_int
-      { page ~ direct } { 0 ~ g ~ 0 ~ G }
-    \int_set_eq:NN \l_@@_backend_stack_int
-      \c_@@_backend_main_stack_int
-    \int_const:cn { main at pdfcolorstack } { \c_@@_backend_main_stack_int }
-  }
-%    \end{macrocode}
-%   The backend automatically restores the stack color from the \enquote{classical}
-%   approach (\texttt{pdf:bcolor}) after a scope. That will be an issue for us, so
-%   we manually ensure that the one we are using is inserted.
-%    \begin{macrocode}
-\cs_gset_protected:Npn \__kernel_backend_scope_end:
-  {
-    \__kernel_backend_literal:n { x:grestore }
-    \__kernel_backend_literal:x
-      {
-        pdfcolorstack ~
-        \int_use:N \g_@@_backend_stack_int \c_space_tl current
-      }
-  }
-%    \end{macrocode}
-% \end{variable}
-% \end{macro}
-%
-% \begin{macro}{\__kernel_color_backend_stack_push:nn, \__kernel_color_backend_stack_push:nx}
-% \begin{macro}{\__kernel_color_backend_stack_pop:n}
-%   Simple enough but needs a version check.
-%    \begin{macrocode}
-\cs_new_protected:Npn \__kernel_color_backend_stack_push:nn #1#2
-  {
-    \__kernel_backend_literal:x
-      {
-        pdfcolorstack ~
-        \int_eval:n {#1} ~
-        push ~ (#2)
-      }
-  }
-\cs_generate_variant:Nn \__kernel_color_backend_stack_push:nn { nx }
-\cs_new_protected:Npn \__kernel_color_backend_stack_pop:n #1
-  {
-    \__kernel_backend_literal:x
-      {
-        pdfcolorstack ~
-        \int_eval:n {#1} ~
-        pop
-      }
-  }
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%    \begin{macrocode}
-%</dvipdfmx|xetex>
-%    \end{macrocode}
-%
 % \subsubsection{\LuaTeX and \pdfTeX{}}
 %
 %    \begin{macrocode}
@@ -309,7 +220,7 @@
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{\__kernel_color_backend_stack_push:nn, \__kernel_color_backend_stack_push:nx}
+% \begin{macro}{\__kernel_color_backend_stack_push:nn}
 % \begin{macro}{\__kernel_color_backend_stack_pop:n}
 %    \begin{macrocode}
 \cs_new_protected:Npn \__kernel_color_backend_stack_push:nn #1#2
@@ -322,7 +233,6 @@
 %</pdftex>
       \int_eval:n {#1} ~ push ~ {#2}
   }
-\cs_generate_variant:Nn \__kernel_color_backend_stack_push:nn { nx }
 \cs_new_protected:Npn \__kernel_color_backend_stack_pop:n #1
   {
 %<*luatex>
@@ -392,7 +302,7 @@
 % \subsubsection{\LuaTeX{} and \pdfTeX{}}
 %
 %    \begin{macrocode}
-%<*dvipdfmx|luatex|pdftex|xetex>
+%<*luatex|pdftex>
 %    \end{macrocode}
 %
 % \begin{variable}{\l_@@_backend_fill_tl, \l_@@_backend_stroke_tl}
@@ -431,6 +341,45 @@
 % \end{macro}
 % \end{macro}
 %
+%    \begin{macrocode}
+%</luatex|pdftex>
+%    \end{macrocode}
+%
+% \subsubsection{\texttt{dvipmdfx}/\XeTeX{}}
+%
+% These backends have the most possible approaches: it recognises both
+% \texttt{dvips}-based color specials and its own format, plus one can
+% include PDF statements directly. Recent releases also have a color stack
+% approach similar to \pdfTeX{}. Of the stack methods, the dedicated
+% the most versatile is the latter as it can cover all of the use cases
+% we have. However, at present this interacts problematically with any color
+% on the original stack. We therefore stick to a single-stack approach here.
+%
+%    \begin{macrocode}
+%<*dvipdfmx|xetex>
+%    \end{macrocode}
+%
+% \begin{macro}
+%   {
+%     \@@_backend_select:n      ,
+%     \@@_backend_select_cmyk:n ,
+%     \@@_backend_select_gray:n ,
+%     \@@_backend_select_rgb:n
+%   }
+% \begin{macro}{\@@_backend_reset:}
+%   Using the single stack is relatively easy as there is only one route.
+%    \begin{macrocode}
+\cs_new_protected:Npn \@@_backend_select:n #1
+  { \__kernel_backend_literal:n { pdf : bc ~ [ #1 ] } }
+\cs_new_eq:NN \@@_backend_select_cmyk:n \@@_backend_select:n
+\cs_new_eq:NN \@@_backend_select_gray:n \@@_backend_select:n
+\cs_new_eq:NN \@@_backend_select_rgb:n  \@@_backend_select:n
+\cs_new_protected:Npn \@@_backend_reset:
+  { \__kernel_backend_literal:n { pdf : ec } }
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
 % \begin{macro}{\@@_backend_select_named:n}
 %   For classical named colors, the only value we should get is |Black|.
 %    \begin{macrocode}
@@ -446,19 +395,9 @@
 % \end{macro}
 %
 %    \begin{macrocode}
-%</dvipdfmx|luatex|pdftex|xetex>
+%</dvipdfmx|xetex>
 %    \end{macrocode}
 %
-% \subsubsection{\texttt{dvipmdfx}/\XeTeX{}}
-%
-% These backends have the most possible approaches: it recognises both
-% \texttt{dvips}-based color specials and it's own format, plus one can
-% include PDF statements directly. Recent releases also have a color stack
-% approach similar to \pdfTeX{}. Of the stack methods, the dedicated
-% the most versatile is the latter as it can cover all of the use cases
-% we have. Thus it is used in preference to the \texttt{dvips}-style interface
-% or the \enquote{native} color specials (which have only one stack).
-%
 % \subsection{Separations}
 %
 % Here, life gets interesting and we need essentially one approach per
@@ -867,17 +806,44 @@
 %     \@@_backend_select_devicen:nn   ,
 %     \@@_backend_select_iccbased:nn
 %   }
-%   Although \texttt{(x)dvipdfmx} has a built-in approach to color spaces, that
-%   can't be used with the generic color stacks. So we take an approach in which
-%   we share the same code as for \pdfTeX{}.
 %    \begin{macrocode}
+%<*dvipdfmx|xetex>
 \cs_new_protected:Npn \@@_backend_select_separation:nn #1#2
+  { \__kernel_backend_literal:x { pdf : bc ~ \pdf_object_ref:n {#1} ~ [ #2 ] } }
+%</dvipdfmx|xetex>
+%<*luatex|pdftex>
+\cs_new_protected:Npn \@@_backend_select_separation:nn #1#2
   { \@@_backend_select:nn { /#1 ~ cs ~ #2 ~ scn  } { /#1 ~ CS ~ #2 ~ SCN } }
+%</luatex|pdftex>
 \cs_new_eq:NN \@@_backend_select_devicen:nn \@@_backend_select_separation:nn
 \cs_new_eq:NN \@@_backend_select_iccbased:nn \@@_backend_select_separation:nn
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{\@@_backend_init_resource:n}
+%   Resource initiation comes up a few times. For \texttt{dvipdfmx}/\XeTeX{},
+%   we skip this as at present it's handled by the backend.
+%    \begin{macrocode}
+\cs_new_protected:Npn \@@_backend_init_resource:n #1
+  {
+%<*luatex|pdftex>
+    \bool_lazy_and:nnT
+      { \cs_if_exist_p:N \pdfmanagement_if_active_p: }
+      { \pdfmanagement_if_active_p: }
+      {
+        \use:x
+          {
+            \pdfmanagement_add:nnn
+              { Page / Resources / ColorSpace }
+              { #1 }
+              { \pdf_object_ref_last: }
+          }
+      }
+%</luatex|pdftex>
+  }
+%    \end{macrocode}
+% \end{macro}
+%
 % \begin{macro}{\@@_backend_separation_init:nnnnn}
 % \begin{macro}{\@@_backend_separation_init:nn}
 % \begin{macro}{\@@_backend_separation_init_CIELAB:nnn}
@@ -884,7 +850,9 @@
 %   Initialising the PDF structures needs two parts: creating an object
 %   containing the \enquote{real} name of the Separation, then adding a reference
 %   to that to each page. We use a separate object for the tint transformation
-%   following the model in the PDF reference.
+%   following the model in the PDF reference. The object here for the color
+%   needs to be named as that way it's accessible to
+%   \texttt{dvipdfmx}/\XeTeX{}.
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_backend_separation_init:nnnnn #1#2#3#4#5
   {
@@ -898,23 +866,16 @@
       }
     \exp_args:Nx \@@_backend_separation_init:nn
       { \str_convert_pdfname:n {#1} } {#2}
-    \bool_lazy_and:nnT
-      { \cs_if_exist_p:N \pdfmanagement_if_active_p: }
-      { \pdfmanagement_if_active_p: }
-      {
-        \use:x
-          {
-            \pdfmanagement_add:nnn
-              { Page / Resources / ColorSpace }
-              { color \int_use:N \g_@@_model_int }
-              { \pdf_object_ref_last: }
-          }
-      }
+    \@@_backend_init_resource:n { color \int_use:N \g_@@_model_int }
   }
 \cs_new_protected:Npn \@@_backend_separation_init:nn #1#2
   {
-    \pdf_object_unnamed_write:nx { array }
-      { /Separation /#1 ~ #2 ~ \pdf_object_ref_last: }
+    \use:x
+      {
+        \pdf_object_new:nn { color \int_use:N \g_@@_model_int } { array }
+        \pdf_object_write:nn { color \int_use:N \g_@@_model_int }
+          { /Separation /#1 ~ #2 ~ \pdf_object_ref_last: }
+      }
     \prop_gput:Nnx \g_@@_backend_colorant_prop { /#1 }
       { \pdf_object_ref_last: }
   }
@@ -978,26 +939,19 @@
         }
         { {#3} }
      }
-    \pdf_object_unnamed_write:nx { array }
+    \use:x
       {
-        /DeviceN ~
-        [ ~ #1 ~ ] ~
-        #2 ~
-        \pdf_object_ref_last:
-        \@@_backend_devicen_colorants:n {#1}
-      }
-    \bool_lazy_and:nnT
-      { \cs_if_exist_p:N \pdfmanagement_if_active_p: }
-      { \pdfmanagement_if_active_p: }
-      {
-        \use:x
+        \pdf_object_new:nn { color \int_use:N \g_@@_model_int } { array }
+        \pdf_object_write:nn { color \int_use:N \g_@@_model_int }
           {
-            \pdfmanagement_add:nnn
-              { Page / Resources / ColorSpace }
-              { color \int_use:N \g_@@_model_int }
-              { \pdf_object_ref_last: }
+            /DeviceN ~
+            [ ~ #1 ~ ] ~
+            #2 ~
+            \pdf_object_ref_last:
+            \@@_backend_devicen_colorants:n {#1}
           }
       }
+    \@@_backend_init_resource:n { color \int_use:N \g_@@_model_int }
   }
 \cs_new:Npn \@@_backend_devicen_init:w #1 ~ #2 \s_@@_stop
   {
@@ -1029,23 +983,14 @@
       }
     \pdf_object_unnamed_write:nx { array }
       { /ICCBased ~ \pdf_object_ref:n { @@_icc_ #1 } }
-    \cs_if_exist:NT \pdfmanagement_add:nnn
-      {
-        \use:x
-          {
-            \pdfmanagement_add:nnn { Page / Resources / ColorSpace }
-              { color \int_use:N \g_@@_model_int }
-              { ~ \pdf_object_ref_last: }
-          }
-      }
+    \@@_backend_init_resource:n { color \int_use:N \g_@@_model_int }
   }
 %    \end{macrocode}
 % \end{macro}
-
 %
 % \begin{macro}{\@@_backend_iccbased_device:nnn}
 %   This is very similar to setting up a color space: the only part we
-%   skip is adding it to the page resources.
+%   add to the page resources differently.
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_backend_iccbased_device:nnn #1#2#3
   {
@@ -1060,16 +1005,7 @@
       }
     \pdf_object_unnamed_write:nx { array }
       { /ICCBased ~ \pdf_object_ref:n { @@_icc_ #1 } }
-    \cs_if_exist:NT \pdfmanagement_add:nnn
-      {
-        \use:x
-          {
-            \pdfmanagement_add:nnn
-              { Page / Resources / ColorSpace }
-              { Default #2 }
-              { \pdf_object_ref_last: }
-          }
-      }
+    \@@_backend_init_resource:n { Default #2 }
   }
 %    \end{macrocode}
 % \end{macro} 
@@ -1080,20 +1016,85 @@
 %
 % \subsection{Fill and stroke color}
 %
-% Here, \texttt{dvipdfmx}/\XeTeX{} follows \LuaTeX{} and \pdfTeX{},
-% while for \texttt{dvips}
+% 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}
 % we have to manage fill and stroke color ourselves. We also handle
 % \texttt{dvisvgm} independently, as there we can create SVG directly.
 %
 %    \begin{macrocode}
-%<*dvipdfmx|luatex|pdftex|xetex>
+%<*dvipdfmx|xetex>
 %    \end{macrocode}
 %
 % \begin{macro}
 %   {
+%     \@@_backend_fill:n        ,
 %     \@@_backend_fill_cmyk:n   ,
 %     \@@_backend_fill_gray:n   ,
 %     \@@_backend_fill_rgb:n    ,
+%     \@@_backend_stroke:n      ,
+%     \@@_backend_stroke_cmyk:n ,
+%     \@@_backend_stroke_gray:n ,
+%     \@@_backend_stroke_rgb:n
+%   }
+%    \begin{macrocode}
+\cs_new_protected:Npn \@@_backend_fill:n #1
+  { \__kernel_backend_literal:n { pdf : bc ~ fill ~ [ #1 ] } }
+\cs_new_eq:NN \@@_backend_fill_cmyk:n \@@_backend_fill:n
+\cs_new_eq:NN \@@_backend_fill_gray:n \@@_backend_fill:n
+\cs_new_eq:NN \@@_backend_fill_rgb:n  \@@_backend_fill:n
+\cs_new_protected:Npn \@@_backend_stroke:n #1
+  { \__kernel_backend_literal:n { pdf : bc ~ stroke ~ [ #1 ] } }
+\cs_new_eq:NN \@@_backend_stroke_cmyk:n \@@_backend_stroke:n
+\cs_new_eq:NN \@@_backend_stroke_gray:n \@@_backend_stroke:n
+\cs_new_eq:NN \@@_backend_stroke_rgb:n  \@@_backend_stroke:n
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}
+%   {
+%     \@@_backend_fill_separation:nn,
+%     \@@_backend_stroke_separation:nn,
+%     \@@_backend_fill_devicen:nn,
+%     \@@_backend_stroke_devicen:nn
+%   }
+%    \begin{macrocode}
+\cs_new_protected:Npn \@@_backend_fill_separation:nn #1#2
+  {
+    \__kernel_backend_literal:x
+      { pdf : bc ~ fill ~ \pdf_object_ref:n {#1} ~ [ #2 ] }
+  }
+\cs_new_protected:Npn \@@_backend_stroke_separation:nn #1#2
+  {
+    \__kernel_backend_literal:x
+      { pdf : bc ~ stroke ~ \pdf_object_ref:n {#1} ~ [ #2 ] }
+  }
+\cs_new_eq:NN \@@_backend_fill_devicen:nn \@@_backend_fill_separation:nn
+\cs_new_eq:NN \@@_backend_stroke_devicen:nn \@@_backend_stroke_separation:nn
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_backend_fill_reset:, \@@_backend_stroke_reset:}
+%    \begin{macrocode}
+\cs_new_eq:NN \@@_backend_fill_reset: \@@_backend_reset:
+\cs_new_eq:NN \@@_backend_stroke_reset: \@@_backend_reset:
+%    \end{macrocode}
+% \end{macro}
+%
+%    \begin{macrocode}
+%</dvipdfmx|xetex>
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%<*luatex|pdftex>
+%    \end{macrocode}
+%
+% \begin{macro}
+%   {
+%     \@@_backend_fill_cmyk:n   ,
+%     \@@_backend_fill_gray:n   ,
+%     \@@_backend_fill_rgb:n    ,
 %     \@@_backend_fill:n        ,
 %     \@@_backend_stroke_cmyk:n ,
 %     \@@_backend_stroke_gray:n ,
@@ -1117,7 +1118,6 @@
     \tl_set:Nn \l_@@_backend_fill_tl {#1}
     \__kernel_color_backend_stack_push:nn \l_@@_backend_stack_int
       { #1 ~ \l_@@_backend_stroke_tl }
-    \group_insert_after:N \@@_backend_reset:
   }
 \cs_new_protected:Npn \@@_backend_stroke_cmyk:n #1
   { \@@_backend_stroke:n { #1 ~ K } }
@@ -1130,7 +1130,6 @@
     \tl_set:Nn \l_@@_backend_stroke_tl {#1}
     \__kernel_color_backend_stack_push:nn \l_@@_backend_stack_int
       { \l_@@_backend_fill_tl \c_space_tl #1 }
-    \group_insert_after:N \@@_backend_reset:
   }
 %    \end{macrocode}
 % \end{macro}
@@ -1152,11 +1151,18 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{\@@_backend_fill_reset:, \@@_backend_stroke_reset:}
 %    \begin{macrocode}
-%</dvipdfmx|luatex|pdftex|xetex>
+\cs_new_eq:NN \@@_backend_fill_reset: \@@_backend_reset:
+\cs_new_eq:NN \@@_backend_stroke_reset: \@@_backend_reset:
 %    \end{macrocode}
+% \end{macro}
 %
 %    \begin{macrocode}
+%</luatex|pdftex>
+%    \end{macrocode}
+%
+%    \begin{macrocode}
 %<*dvips>
 %    \end{macrocode}
 %
@@ -1182,7 +1188,6 @@
 \cs_new_protected:Npn \@@_backend_fill:n #1
   {
     \__kernel_backend_literal:n { color~push~ #1 }
-    \group_insert_after:N \@@_backend_reset:
   }
 \cs_new_protected:Npn \@@_backend_stroke_cmyk:n #1
   { \__kernel_backend_postscript:n { /color.sc { #1 ~ setcmykcolor } def } }
@@ -1210,7 +1215,14 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{\@@_backend_fill_reset:, \@@_backend_stroke_reset:}
 %    \begin{macrocode}
+\cs_new_eq:NN \@@_backend_fill_reset: \@@_backend_reset:
+\cs_new_protected:Npn \@@_backend_stroke_reset: { }
+%    \end{macrocode}
+% \end{macro}
+%
+%    \begin{macrocode}
 %</dvips>
 %    \end{macrocode}
 %
@@ -1237,7 +1249,6 @@
 \cs_new_protected:Npn \@@_backend_fill:n #1
   {
     \__kernel_backend_literal:n { color~push~ #1 }
-    \group_insert_after:N \@@_backend_reset:
   }
 %    \end{macrocode}
 % \end{macro}
@@ -1327,6 +1338,13 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{\@@_backend_fill_reset:, \@@_backend_stroke_reset:}
+%    \begin{macrocode}
+\cs_new_eq:NN \@@_backend_fill_reset: \@@_backend_reset:
+\cs_new_protected:Npn \@@_backend_stroke_reset: { }
+%    \end{macrocode}
+% \end{macro}
+%
 % \begin{macro}{\@@_backend_devicen_init:nnn, \@@_backend_iccbased_init:nnn}
 %   No support at present.
 %    \begin{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-14}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-14}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-14}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-14}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %
@@ -139,14 +139,16 @@
 %    \end{macrocode}
 %
 % \begin{variable}{\c_@@_backend_stack_int}
-%   Set up a stack.
+%   Set up a stack, where that is applicable.
 %    \begin{macrocode}
 \bool_lazy_and:nnT
   { \cs_if_exist_p:N \pdfmanagement_if_active_p: }
   { \pdfmanagement_if_active_p:}
   {
+%<*luatex|pdftex>
     \__kernel_color_backend_stack_init:Nnn \c_@@_backend_stack_int
       { page ~ direct } { /opacity 1 ~ gs }
+%</luatex|pdftex>
     \pdfmanagement_add:nnn { Page / Resources / ExtGState }
       { opacity 1 } { << /ca ~ 1 /CA ~ 1 >> }
   }
@@ -178,7 +180,12 @@
     \pdfmanagement_add:nnn { Page / Resources / ExtGState }
       { opacity #1 }
       { << /ca ~ #1 /CA ~ #1 >> }
+%<*dvipdfmx|xetex>
+    \__kernel_backend_literal:n
+%</dvipdfmx|xetex>
+%<*luatex|pdftex>
     \__kernel_color_backend_stack_push:nn \c_@@_backend_stack_int
+%</luatex|pdftex>
       { /opacity #1 ~ gs }
     \group_insert_after:N \@@_backend_reset:
   }
@@ -189,7 +196,11 @@
     \cs_gset_protected:Npn \@@_backend_select_aux:n #1 { }
   }
 \cs_new_protected:Npn \@@_backend_reset:
- { \__kernel_color_backend_stack_pop:n \c_@@_backend_stack_int }
+ {
+%<*luatex|pdftex>
+    \__kernel_color_backend_stack_pop:n \c_@@_backend_stack_int
+%</luatex|pdftex>
+ }
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -224,7 +235,12 @@
         \pdfmanagement_add:nnn { Page / Resources / ExtGState }
           { opacity.stroke #1 }
           { << /CA ~ #2 >> }
-        \__kernel_color_backend_stack_push:nn \c_@@_backend_stack_int
+%<*dvipdfmx|xetex>
+    \__kernel_backend_literal:n
+%</dvipdfmx|xetex>
+%<*luatex|pdftex>
+    \__kernel_color_backend_stack_push:nn \c_@@_backend_stack_int
+%</luatex|pdftex>
          { /opacity.fill #1 ~ gs /opacity.stroke #2 ~ gs }
         \group_insert_after:N \@@_backend_reset:
       }

Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-14}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -46,7 +46,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %
@@ -122,7 +122,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{l3benchmark}{2022-04-10}{}
+\ProvidesExplPackage{l3benchmark}{2022-04-20}{}
   {L3 Experimental benchmarking}
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -42,7 +42,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 % \begin{documentation}
@@ -264,7 +264,7 @@
 %<@@=bitset>
 %    \end{macrocode}
 %    \begin{macrocode}
-\ProvidesExplPackage{l3bitset}{2022-04-10}{}
+\ProvidesExplPackage{l3bitset}{2022-04-20}{}
   {L3 Experimental bitset support}
 %    \end{macrocode}
 % A bitset is a string variable.

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -110,7 +110,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %
@@ -1173,7 +1173,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{l3draw}{2022-04-10}{}
+\ProvidesExplPackage{l3draw}{2022-04-20}{}
   {L3 Experimental core drawing support}
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -46,7 +46,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %
@@ -185,13 +185,14 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{l3graphics}{2022-04-10}{}
+\ProvidesExplPackage{l3graphics}{2022-04-20}{}
   {L3 Experimental graphics inclusion support}
 %    \end{macrocode}
 %
-% \begin{variable}{\l_@@_internal_ior, \l_@@_internal_tl}
+% \begin{variable}{\l_@@_internal_dim, \l_@@_internal_ior, \l_@@_internal_tl}
 %   Scratch space.
 %    \begin{macrocode}
+\dim_new:N \l_@@_internal_dim
 \ior_new:N \l_@@_internal_ior
 \tl_new:N  \l_@@_internal_tl
 %    \end{macrocode}
@@ -631,7 +632,9 @@
 % \begin{macro}{\graphics_get_full_name:nN}
 % \begin{macro}[TF]{\graphics_get_full_name:nN}
 % \begin{macro}{\@@_get_full_name:n}
-%   A simple search.
+%   As well as searching by path, etc., there is a need here to check that
+%   we do not trip over |foo.bar| if |.bar| is not a known extension for
+%   the current backend.
 %    \begin{macrocode}
 \cs_new_protected:Npn \graphics_get_full_name:nN #1#2
   {
@@ -645,8 +648,18 @@
       \seq_set_eq:NN \l_file_search_path_seq \l_graphics_search_path_seq
       \file_get_full_name:nNTF {#1} \l_@@_full_name_str
         {
-          \str_if_eq:eeT { \l_@@_full_name_str } { #1 .tex }
+          \str_if_eq:eeTF { \l_@@_full_name_str } { #1 .tex }
             { \@@_get_full_name:n {#1} }
+            {
+              \file_parse_full_name:VNNN \l_@@_full_name_str
+                \l_@@_dir_str \l_@@_name_str \l_@@_ext_str
+              \seq_map_inline:Nn \l_graphics_search_ext_seq
+                {
+                  \str_if_eq:nVT {##1} \l_@@_ext_str
+                    { \seq_map_break:n { \use_none:nn } }
+                }
+                  \@@_get_full_name:n {#1}
+            }
         }
         { \@@_get_full_name:n {#1} }
     \exp_args:NNNV \group_end:

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -46,7 +46,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %
@@ -97,7 +97,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{l3opacity}{2022-04-10}{}
+\ProvidesExplPackage{l3opacity}{2022-04-20}{}
   {L3 Experimental opacity support}
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -48,7 +48,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %
@@ -166,7 +166,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{l3str-format}{2022-04-10}{}
+\ProvidesExplPackage{l3str-format}{2022-04-20}{}
   {L3 Experimental string formatting}
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -46,7 +46,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %
@@ -151,7 +151,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{l3sys-shell}{2022-04-10}{}
+\ProvidesExplPackage{l3sys-shell}{2022-04-20}{}
   {L3 Experimental system shell functions}
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -53,7 +53,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %
@@ -672,7 +672,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{xcoffins}{2022-04-10}{}
+\ProvidesExplPackage{xcoffins}{2022-04-20}{}
   {L3 Experimental design level coffins}
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -61,7 +61,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %
@@ -686,7 +686,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{l3galley}{2022-04-10}{}
+\ProvidesExplPackage{l3galley}{2022-04-20}{}
   {L3 Experimental galley code}
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %
@@ -731,7 +731,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{xgalley}{2022-04-10}{}
+\ProvidesExplPackage{xgalley}{2022-04-20}{}
   {L3 Experimental galley}
 \RequirePackage{xtemplate,l3galley}
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/expl3.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/expl3.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -24,7 +24,7 @@
 %
 %<*driver|generic|package|2ekernel>
 %</driver|generic|package|2ekernel>
-\def\ExplFileDate{2022-04-10}%
+\def\ExplFileDate{2022-04-20}%
 %<*driver>
 \documentclass[full]{l3doc}
 \usepackage{graphicx}
@@ -51,7 +51,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3box.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3box.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3color.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3color.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3color.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %
@@ -1600,7 +1600,10 @@
     \exp_after:wN \@@_draw:nnn \l_@@_current_tl { stroke }
   }
 \cs_new_protected:Npn \@@_draw:nnn #1#2#3
-  { \use:c { @@_backend_ #3 _ #1 :n } {#2} }
+  {
+    \use:c { @@_backend_ #3 _ #1 :n } {#2}
+    \exp_args:Nc \group_insert_after:N { @@_backend_ #3 _ reset: }
+  }
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %
@@ -487,15 +487,14 @@
 %
 % \subsection{Deprecated \pkg{l3sys} functions}
 %
+%    \begin{macrocode}
+%<@@=sys>
+%    \end{macrocode}
+%
 % \begin{macro}{\sys_load_deprecation:}
 %    \begin{macrocode}
 \__kernel_patch_deprecation:nnNNpn { 2021-01-11 } { (no~longer~required) }
-\cs_gset_protected:Npn \sys_load_deprecation:
-  {
-    \bool_if:NF \g_@@_deprecation_bool
-      { \__kernel_sys_configuration_load:n { l3deprecation } }
-    \bool_gset_true:N \g_@@_deprecation_bool
-  }
+\cs_gset_protected:Npn \sys_load_deprecation: { }
 %    \end{macrocode}
 % \end{macro}
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -85,7 +85,7 @@
 %    require you to do updates, if the class changes.}}
 %
 % \author{\Team}
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 % \maketitle
 % \tableofcontents
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -63,7 +63,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3file.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3file.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -40,7 +40,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 % \maketitle
 %
 % \begin{documentation}

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -40,7 +40,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -40,7 +40,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -40,7 +40,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -40,7 +40,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -40,7 +40,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -40,7 +40,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -40,7 +40,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 % \maketitle
 %
 % \begin{documentation}

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -40,7 +40,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -49,7 +49,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3int.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3int.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3names.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3names.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %
@@ -794,6 +794,8 @@
   \@@_primitive:NN \crampedscriptstyle    \tex_crampedscriptstyle:D
   \@@_primitive:NN \crampedtextstyle      \tex_crampedtextstyle:D
   \@@_primitive:NN \csstring              \tex_csstring:D
+  \@@_primitive:NN \discretionaryligaturemode
+    \tex_discretionaryligaturemode:D
   \@@_primitive:NN \directlua             \tex_directlua:D
   \@@_primitive:NN \dviextension          \tex_dviextension:D
   \@@_primitive:NN \dvifeedback           \tex_dvifeedback:D
@@ -840,10 +842,12 @@
   \@@_primitive:NN \luatexbanner          \tex_luatexbanner:D
   \@@_primitive:NN \luatexrevision        \tex_luatexrevision:D
   \@@_primitive:NN \luatexversion         \tex_luatexversion:D
+  \@@_primitive:NN \mathdefaultsmode      \tex_mathdefaultsmode:D
   \@@_primitive:NN \mathdelimitersmode    \tex_mathdelimitersmode:D
   \@@_primitive:NN \mathdir               \tex_mathdir:D
   \@@_primitive:NN \mathdirection         \tex_mathdirection:D
   \@@_primitive:NN \mathdisplayskipmode   \tex_mathdisplayskipmode:D
+  \@@_primitive:NN \matheqdirmode         \tex_matheqdirmode:D
   \@@_primitive:NN \matheqnogapstep       \tex_matheqnogapstep:D
   \@@_primitive:NN \mathnolimitsmode      \tex_mathnolimitsmode:D
   \@@_primitive:NN \mathoption            \tex_mathoption:D

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3str.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3str.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3text.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3text.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3text.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3token.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3token.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2022-04-10}
+% \date{Released 2022-04-20}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def	2022-04-20 19:45:21 UTC (rev 63089)
@@ -26,7 +26,7 @@
 %% 
 %% File: l3backend-basics.dtx
 \ProvidesExplFile
-  {l3backend-dvipdfmx.def}{2022-04-14}{}
+  {l3backend-dvipdfmx.def}{2022-04-20}{}
   {L3 backend support: dvipdfmx}
 \cs_if_exist:NTF \__kernel_dependency_version_check:nn
   {
@@ -87,83 +87,13 @@
     \cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3
       { \tl_set:Nn #3 { {#1} {#2} } }
   }
-\int_new:N \l__color_backend_stack_int
-\int_new:N \g__color_backend_stack_int
-\cs_new_protected:Npx \__kernel_color_backend_stack_init:Nnn #1#2#3
-  {
-    \int_gincr:N \exp_not:N \g__color_backend_stack_int
-    \int_const:Nn #1 { \exp_not:N \g__color_backend_stack_int }
-    \use:x
-      {
-        \__kernel_backend_first_shipout:n
-          {
-            \__kernel_backend_literal:n
-              {
-                pdfcolorstackinit ~
-                \exp_not:N \int_use:N \exp_not:N \g__color_backend_stack_int
-                \c_space_tl
-                \exp_not:N \tl_if_blank:nF {#2} { #2 ~ }
-                (#3)
-              }
-        }
-      }
-  }
-\cs_if_exist:cTF { main at pdfcolorstack }
-  {
-    \int_set:Nn \l__color_backend_stack_int
-      { \int_use:c { main at pdfcolorstack } }
-  }
-  {
-    \__kernel_color_backend_stack_init:Nnn \c__color_backend_main_stack_int
-      { page ~ direct } { 0 ~ g ~ 0 ~ G }
-    \int_set_eq:NN \l__color_backend_stack_int
-      \c__color_backend_main_stack_int
-    \int_const:cn { main at pdfcolorstack } { \c__color_backend_main_stack_int }
-  }
-\cs_gset_protected:Npn \__kernel_backend_scope_end:
-  {
-    \__kernel_backend_literal:n { x:grestore }
-    \__kernel_backend_literal:x
-      {
-        pdfcolorstack ~
-        \int_use:N \g__color_backend_stack_int \c_space_tl current
-      }
-  }
-\cs_new_protected:Npn \__kernel_color_backend_stack_push:nn #1#2
-  {
-    \__kernel_backend_literal:x
-      {
-        pdfcolorstack ~
-        \int_eval:n {#1} ~
-        push ~ (#2)
-      }
-  }
-\cs_generate_variant:Nn \__kernel_color_backend_stack_push:nn { nx }
-\cs_new_protected:Npn \__kernel_color_backend_stack_pop:n #1
-  {
-    \__kernel_backend_literal:x
-      {
-        pdfcolorstack ~
-        \int_eval:n {#1} ~
-        pop
-      }
-  }
-\tl_new:N \l__color_backend_fill_tl
-\tl_new:N \l__color_backend_stroke_tl
-\cs_new_protected:Npn \__color_backend_select_cmyk:n #1
-  { \__color_backend_select:nn { #1 ~ k } { #1 ~ K } }
-\cs_new_protected:Npn \__color_backend_select_gray:n #1
-  { \__color_backend_select:nn { #1 ~ g } { #1 ~ G } }
-\cs_new_protected:Npn \__color_backend_select_rgb:n #1
-  { \__color_backend_select:nn { #1 ~ rg } { #1 ~ RG } }
-\cs_new_protected:Npn \__color_backend_select:nn #1#2
-  {
-    \tl_set:Nn \l__color_backend_fill_tl {#1}
-    \tl_set:Nn \l__color_backend_stroke_tl {#2}
-    \__kernel_color_backend_stack_push:nn \l__color_backend_stack_int { #1 ~ #2 }
-  }
+\cs_new_protected:Npn \__color_backend_select:n #1
+  { \__kernel_backend_literal:n { pdf : bc ~ [ #1 ] } }
+\cs_new_eq:NN \__color_backend_select_cmyk:n \__color_backend_select:n
+\cs_new_eq:NN \__color_backend_select_gray:n \__color_backend_select:n
+\cs_new_eq:NN \__color_backend_select_rgb:n  \__color_backend_select:n
 \cs_new_protected:Npn \__color_backend_reset:
-  { \__kernel_color_backend_stack_pop:n \l__color_backend_stack_int }
+  { \__kernel_backend_literal:n { pdf : ec } }
 \cs_new_protected:Npn \__color_backend_select_named:n #1
   {
     \str_if_eq:nnTF {#1} { Black }
@@ -199,9 +129,12 @@
     \__color_backend_devicen_colorants:w
   }
 \cs_new_protected:Npn \__color_backend_select_separation:nn #1#2
-  { \__color_backend_select:nn { /#1 ~ cs ~ #2 ~ scn  } { /#1 ~ CS ~ #2 ~ SCN } }
+  { \__kernel_backend_literal:x { pdf : bc ~ \pdf_object_ref:n {#1} ~ [ #2 ] } }
 \cs_new_eq:NN \__color_backend_select_devicen:nn \__color_backend_select_separation:nn
 \cs_new_eq:NN \__color_backend_select_iccbased:nn \__color_backend_select_separation:nn
+\cs_new_protected:Npn \__color_backend_init_resource:n #1
+  {
+  }
 \cs_new_protected:Npn \__color_backend_separation_init:nnnnn #1#2#3#4#5
   {
     \pdf_object_unnamed_write:nx { dict }
@@ -214,23 +147,16 @@
       }
     \exp_args:Nx \__color_backend_separation_init:nn
       { \str_convert_pdfname:n {#1} } {#2}
-    \bool_lazy_and:nnT
-      { \cs_if_exist_p:N \pdfmanagement_if_active_p: }
-      { \pdfmanagement_if_active_p: }
-      {
-        \use:x
-          {
-            \pdfmanagement_add:nnn
-              { Page / Resources / ColorSpace }
-              { color \int_use:N \g__color_model_int }
-              { \pdf_object_ref_last: }
-          }
-      }
+    \__color_backend_init_resource:n { color \int_use:N \g__color_model_int }
   }
 \cs_new_protected:Npn \__color_backend_separation_init:nn #1#2
   {
-    \pdf_object_unnamed_write:nx { array }
-      { /Separation /#1 ~ #2 ~ \pdf_object_ref_last: }
+    \use:x
+      {
+        \pdf_object_new:nn { color \int_use:N \g__color_model_int } { array }
+        \pdf_object_write:nn { color \int_use:N \g__color_model_int }
+          { /Separation /#1 ~ #2 ~ \pdf_object_ref_last: }
+      }
     \prop_gput:Nnx \g__color_backend_colorant_prop { /#1 }
       { \pdf_object_ref_last: }
   }
@@ -280,26 +206,19 @@
         }
         { {#3} }
      }
-    \pdf_object_unnamed_write:nx { array }
+    \use:x
       {
-        /DeviceN ~
-        [ ~ #1 ~ ] ~
-        #2 ~
-        \pdf_object_ref_last:
-        \__color_backend_devicen_colorants:n {#1}
-      }
-    \bool_lazy_and:nnT
-      { \cs_if_exist_p:N \pdfmanagement_if_active_p: }
-      { \pdfmanagement_if_active_p: }
-      {
-        \use:x
+        \pdf_object_new:nn { color \int_use:N \g__color_model_int } { array }
+        \pdf_object_write:nn { color \int_use:N \g__color_model_int }
           {
-            \pdfmanagement_add:nnn
-              { Page / Resources / ColorSpace }
-              { color \int_use:N \g__color_model_int }
-              { \pdf_object_ref_last: }
+            /DeviceN ~
+            [ ~ #1 ~ ] ~
+            #2 ~
+            \pdf_object_ref_last:
+            \__color_backend_devicen_colorants:n {#1}
           }
       }
+    \__color_backend_init_resource:n { color \int_use:N \g__color_model_int }
   }
 \cs_new:Npn \__color_backend_devicen_init:w #1 ~ #2 \s__color_stop
   {
@@ -323,17 +242,8 @@
       }
     \pdf_object_unnamed_write:nx { array }
       { /ICCBased ~ \pdf_object_ref:n { __color_icc_ #1 } }
-    \cs_if_exist:NT \pdfmanagement_add:nnn
-      {
-        \use:x
-          {
-            \pdfmanagement_add:nnn { Page / Resources / ColorSpace }
-              { color \int_use:N \g__color_model_int }
-              { ~ \pdf_object_ref_last: }
-          }
-      }
+    \__color_backend_init_resource:n { color \int_use:N \g__color_model_int }
   }
-
 \cs_new_protected:Npn \__color_backend_iccbased_device:nnn #1#2#3
   {
     \pdf_object_if_exist:nF { __color_icc_ #1 }
@@ -347,49 +257,32 @@
       }
     \pdf_object_unnamed_write:nx { array }
       { /ICCBased ~ \pdf_object_ref:n { __color_icc_ #1 } }
-    \cs_if_exist:NT \pdfmanagement_add:nnn
-      {
-        \use:x
-          {
-            \pdfmanagement_add:nnn
-              { Page / Resources / ColorSpace }
-              { Default #2 }
-              { \pdf_object_ref_last: }
-          }
-      }
+    \__color_backend_init_resource:n { Default #2 }
   }
-\cs_new_protected:Npn \__color_backend_fill_cmyk:n #1
-  { \__color_backend_fill:n { #1 ~ k } }
-\cs_new_protected:Npn \__color_backend_fill_gray:n #1
-  { \__color_backend_fill:n { #1 ~ g } }
-\cs_new_protected:Npn \__color_backend_fill_rgb:n #1
-  { \__color_backend_fill:n { #1 ~ rg } }
 \cs_new_protected:Npn \__color_backend_fill:n #1
+  { \__kernel_backend_literal:n { pdf : bc ~ fill ~ [ #1 ] } }
+\cs_new_eq:NN \__color_backend_fill_cmyk:n \__color_backend_fill:n
+\cs_new_eq:NN \__color_backend_fill_gray:n \__color_backend_fill:n
+\cs_new_eq:NN \__color_backend_fill_rgb:n  \__color_backend_fill:n
+\cs_new_protected:Npn \__color_backend_stroke:n #1
+  { \__kernel_backend_literal:n { pdf : bc ~ stroke ~ [ #1 ] } }
+\cs_new_eq:NN \__color_backend_stroke_cmyk:n \__color_backend_stroke:n
+\cs_new_eq:NN \__color_backend_stroke_gray:n \__color_backend_stroke:n
+\cs_new_eq:NN \__color_backend_stroke_rgb:n  \__color_backend_stroke:n
+\cs_new_protected:Npn \__color_backend_fill_separation:nn #1#2
   {
-    \tl_set:Nn \l__color_backend_fill_tl {#1}
-    \__kernel_color_backend_stack_push:nn \l__color_backend_stack_int
-      { #1 ~ \l__color_backend_stroke_tl }
-    \group_insert_after:N \__color_backend_reset:
+    \__kernel_backend_literal:x
+      { pdf : bc ~ fill ~ \pdf_object_ref:n {#1} ~ [ #2 ] }
   }
-\cs_new_protected:Npn \__color_backend_stroke_cmyk:n #1
-  { \__color_backend_stroke:n { #1 ~ K } }
-\cs_new_protected:Npn \__color_backend_stroke_gray:n #1
-  { \__color_backend_stroke:n { #1 ~ G } }
-\cs_new_protected:Npn \__color_backend_stroke_rgb:n #1
-  { \__color_backend_stroke:n { #1 ~ RG } }
-\cs_new_protected:Npn \__color_backend_stroke:n #1
+\cs_new_protected:Npn \__color_backend_stroke_separation:nn #1#2
   {
-    \tl_set:Nn \l__color_backend_stroke_tl {#1}
-    \__kernel_color_backend_stack_push:nn \l__color_backend_stack_int
-      { \l__color_backend_fill_tl \c_space_tl #1 }
-    \group_insert_after:N \__color_backend_reset:
+    \__kernel_backend_literal:x
+      { pdf : bc ~ stroke ~ \pdf_object_ref:n {#1} ~ [ #2 ] }
   }
-\cs_new_protected:Npn \__color_backend_fill_separation:nn #1#2
-  { \__color_backend_fill:n { /#1 ~ cs ~ #2 ~ scn } }
-\cs_new_protected:Npn \__color_backend_stroke_separation:nn #1#2
-  { \__color_backend_stroke:n { /#1 ~ CS ~ #2 ~ SCN } }
 \cs_new_eq:NN \__color_backend_fill_devicen:nn \__color_backend_fill_separation:nn
 \cs_new_eq:NN \__color_backend_stroke_devicen:nn \__color_backend_stroke_separation:nn
+\cs_new_eq:NN \__color_backend_fill_reset: \__color_backend_reset:
+\cs_new_eq:NN \__color_backend_stroke_reset: \__color_backend_reset:
 %% File: l3backend-box.dtx
 \cs_new_protected:Npn \__box_backend_clip:N #1
   {
@@ -923,8 +816,6 @@
   { \cs_if_exist_p:N \pdfmanagement_if_active_p: }
   { \pdfmanagement_if_active_p:}
   {
-    \__kernel_color_backend_stack_init:Nnn \c__opacity_backend_stack_int
-      { page ~ direct } { /opacity 1 ~ gs }
     \pdfmanagement_add:nnn { Page / Resources / ExtGState }
       { opacity 1 } { << /ca ~ 1 /CA ~ 1 >> }
   }
@@ -942,7 +833,7 @@
     \pdfmanagement_add:nnn { Page / Resources / ExtGState }
       { opacity #1 }
       { << /ca ~ #1 /CA ~ #1 >> }
-    \__kernel_color_backend_stack_push:nn \c__opacity_backend_stack_int
+    \__kernel_backend_literal:n
       { /opacity #1 ~ gs }
     \group_insert_after:N \__opacity_backend_reset:
   }
@@ -953,7 +844,8 @@
     \cs_gset_protected:Npn \__opacity_backend_select_aux:n #1 { }
   }
 \cs_new_protected:Npn \__opacity_backend_reset:
- { \__kernel_color_backend_stack_pop:n \c__opacity_backend_stack_int }
+ {
+ }
 \cs_new_protected:Npn \__opacity_backend_fill:n #1
   {
     \__opacity_backend_fill_stroke:xx
@@ -979,7 +871,7 @@
         \pdfmanagement_add:nnn { Page / Resources / ExtGState }
           { opacity.stroke #1 }
           { << /CA ~ #2 >> }
-        \__kernel_color_backend_stack_push:nn \c__opacity_backend_stack_int
+    \__kernel_backend_literal:n
          { /opacity.fill #1 ~ gs /opacity.stroke #2 ~ gs }
         \group_insert_after:N \__opacity_backend_reset:
       }

Modified: trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def	2022-04-20 19:45:21 UTC (rev 63089)
@@ -26,7 +26,7 @@
 %% 
 %% File: l3backend-basics.dtx
 \ProvidesExplFile
-  {l3backend-dvips.def}{2022-04-14}{}
+  {l3backend-dvips.def}{2022-04-20}{}
   {L3 backend support: dvips}
 \cs_if_exist:NTF \__kernel_dependency_version_check:nn
   {
@@ -336,7 +336,6 @@
 \cs_new_protected:Npn \__color_backend_fill:n #1
   {
     \__kernel_backend_literal:n { color~push~ #1 }
-    \group_insert_after:N \__color_backend_reset:
   }
 \cs_new_protected:Npn \__color_backend_stroke_cmyk:n #1
   { \__kernel_backend_postscript:n { /color.sc { #1 ~ setcmykcolor } def } }
@@ -350,6 +349,8 @@
   { \__kernel_backend_postscript:n { /color.sc { separation ~ #1 ~ #2 } def } }
 \cs_new_eq:NN \__color_backend_fill_devicen:nn \__color_backend_fill_separation:nn
 \cs_new_eq:NN \__color_backend_stroke_devicen:nn \__color_backend_stroke_separation:nn
+\cs_new_eq:NN \__color_backend_fill_reset: \__color_backend_reset:
+\cs_new_protected:Npn \__color_backend_stroke_reset: { }
 %% File: l3backend-box.dtx
 \cs_new_protected:Npn \__box_backend_clip:N #1
   {

Modified: trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def	2022-04-20 19:45:21 UTC (rev 63089)
@@ -26,7 +26,7 @@
 %% 
 %% File: l3backend-basics.dtx
 \ProvidesExplFile
-  {l3backend-dvisvgm.def}{2022-04-14}{}
+  {l3backend-dvisvgm.def}{2022-04-20}{}
   {L3 backend support: dvisvgm}
 \cs_if_exist:NTF \__kernel_dependency_version_check:nn
   {
@@ -161,7 +161,6 @@
 \cs_new_protected:Npn \__color_backend_fill:n #1
   {
     \__kernel_backend_literal:n { color~push~ #1 }
-    \group_insert_after:N \__color_backend_reset:
   }
 \cs_new_protected:Npn \__color_backend_stroke_cmyk:n #1
   { \__color_backend_cmyk:w #1 \s__color_stop }
@@ -218,6 +217,8 @@
 \cs_new_protected:Npn \__color_backend_stroke_separation:nn #1#2 { }
 \cs_new_eq:NN \__color_backend_fill_devicen:nn \__color_backend_fill_separation:nn
 \cs_new_eq:NN \__color_backend_stroke_devicen:nn \__color_backend_stroke_separation:nn
+\cs_new_eq:NN \__color_backend_fill_reset: \__color_backend_reset:
+\cs_new_protected:Npn \__color_backend_stroke_reset: { }
 \cs_new_protected:Npn \__color_backend_devicen_init:nnn #1#2#3 { }
 \cs_new_protected:Npn \__color_backend_iccbased_init:nnn #1#2#3 { }
 %% File: l3backend-box.dtx

Modified: trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def	2022-04-20 19:45:21 UTC (rev 63089)
@@ -26,7 +26,7 @@
 %% 
 %% File: l3backend-basics.dtx
 \ProvidesExplFile
-  {l3backend-luatex.def}{2022-04-14}{}
+  {l3backend-luatex.def}{2022-04-20}{}
   {L3 backend support: PDF output (LuaTeX)}
 \cs_if_exist:NTF \__kernel_dependency_version_check:nn
   {
@@ -129,7 +129,6 @@
     \tex_pdfextension:D colorstack ~
       \int_eval:n {#1} ~ push ~ {#2}
   }
-\cs_generate_variant:Nn \__kernel_color_backend_stack_push:nn { nx }
 \cs_new_protected:Npn \__kernel_color_backend_stack_pop:n #1
   {
     \tex_pdfextension:D colorstack ~
@@ -151,14 +150,6 @@
   }
 \cs_new_protected:Npn \__color_backend_reset:
   { \__kernel_color_backend_stack_pop:n \l__color_backend_stack_int }
-\cs_new_protected:Npn \__color_backend_select_named:n #1
-  {
-    \str_if_eq:nnTF {#1} { Black }
-      { \__color_backend_select_gray:n { 0 } }
-      { \msg_error:nnn { color } { unknown-named-color } {#1} }
-  }
-\msg_new:nnn { color } { unknown-named-color }
-  { Named~color~'#1'~is~not~known. }
 \prop_new:N \g__color_backend_colorant_prop
 \cs_new:Npx \__color_backend_devicen_colorants:n #1
   {
@@ -189,18 +180,8 @@
   { \__color_backend_select:nn { /#1 ~ cs ~ #2 ~ scn  } { /#1 ~ CS ~ #2 ~ SCN } }
 \cs_new_eq:NN \__color_backend_select_devicen:nn \__color_backend_select_separation:nn
 \cs_new_eq:NN \__color_backend_select_iccbased:nn \__color_backend_select_separation:nn
-\cs_new_protected:Npn \__color_backend_separation_init:nnnnn #1#2#3#4#5
+\cs_new_protected:Npn \__color_backend_init_resource:n #1
   {
-    \pdf_object_unnamed_write:nx { dict }
-      {
-        /FunctionType ~ 2
-        /Domain ~ [0 ~ 1]
-        \tl_if_blank:nF {#3} { /Range ~ [#3] }
-        /C0 ~ [#4] ~
-        /C1 ~ [#5] /N ~ 1
-      }
-    \exp_args:Nx \__color_backend_separation_init:nn
-      { \str_convert_pdfname:n {#1} } {#2}
     \bool_lazy_and:nnT
       { \cs_if_exist_p:N \pdfmanagement_if_active_p: }
       { \pdfmanagement_if_active_p: }
@@ -209,15 +190,33 @@
           {
             \pdfmanagement_add:nnn
               { Page / Resources / ColorSpace }
-              { color \int_use:N \g__color_model_int }
+              { #1 }
               { \pdf_object_ref_last: }
           }
       }
   }
+\cs_new_protected:Npn \__color_backend_separation_init:nnnnn #1#2#3#4#5
+  {
+    \pdf_object_unnamed_write:nx { dict }
+      {
+        /FunctionType ~ 2
+        /Domain ~ [0 ~ 1]
+        \tl_if_blank:nF {#3} { /Range ~ [#3] }
+        /C0 ~ [#4] ~
+        /C1 ~ [#5] /N ~ 1
+      }
+    \exp_args:Nx \__color_backend_separation_init:nn
+      { \str_convert_pdfname:n {#1} } {#2}
+    \__color_backend_init_resource:n { color \int_use:N \g__color_model_int }
+  }
 \cs_new_protected:Npn \__color_backend_separation_init:nn #1#2
   {
-    \pdf_object_unnamed_write:nx { array }
-      { /Separation /#1 ~ #2 ~ \pdf_object_ref_last: }
+    \use:x
+      {
+        \pdf_object_new:nn { color \int_use:N \g__color_model_int } { array }
+        \pdf_object_write:nn { color \int_use:N \g__color_model_int }
+          { /Separation /#1 ~ #2 ~ \pdf_object_ref_last: }
+      }
     \prop_gput:Nnx \g__color_backend_colorant_prop { /#1 }
       { \pdf_object_ref_last: }
   }
@@ -267,26 +266,19 @@
         }
         { {#3} }
      }
-    \pdf_object_unnamed_write:nx { array }
+    \use:x
       {
-        /DeviceN ~
-        [ ~ #1 ~ ] ~
-        #2 ~
-        \pdf_object_ref_last:
-        \__color_backend_devicen_colorants:n {#1}
-      }
-    \bool_lazy_and:nnT
-      { \cs_if_exist_p:N \pdfmanagement_if_active_p: }
-      { \pdfmanagement_if_active_p: }
-      {
-        \use:x
+        \pdf_object_new:nn { color \int_use:N \g__color_model_int } { array }
+        \pdf_object_write:nn { color \int_use:N \g__color_model_int }
           {
-            \pdfmanagement_add:nnn
-              { Page / Resources / ColorSpace }
-              { color \int_use:N \g__color_model_int }
-              { \pdf_object_ref_last: }
+            /DeviceN ~
+            [ ~ #1 ~ ] ~
+            #2 ~
+            \pdf_object_ref_last:
+            \__color_backend_devicen_colorants:n {#1}
           }
       }
+    \__color_backend_init_resource:n { color \int_use:N \g__color_model_int }
   }
 \cs_new:Npn \__color_backend_devicen_init:w #1 ~ #2 \s__color_stop
   {
@@ -310,17 +302,8 @@
       }
     \pdf_object_unnamed_write:nx { array }
       { /ICCBased ~ \pdf_object_ref:n { __color_icc_ #1 } }
-    \cs_if_exist:NT \pdfmanagement_add:nnn
-      {
-        \use:x
-          {
-            \pdfmanagement_add:nnn { Page / Resources / ColorSpace }
-              { color \int_use:N \g__color_model_int }
-              { ~ \pdf_object_ref_last: }
-          }
-      }
+    \__color_backend_init_resource:n { color \int_use:N \g__color_model_int }
   }
-
 \cs_new_protected:Npn \__color_backend_iccbased_device:nnn #1#2#3
   {
     \pdf_object_if_exist:nF { __color_icc_ #1 }
@@ -334,16 +317,7 @@
       }
     \pdf_object_unnamed_write:nx { array }
       { /ICCBased ~ \pdf_object_ref:n { __color_icc_ #1 } }
-    \cs_if_exist:NT \pdfmanagement_add:nnn
-      {
-        \use:x
-          {
-            \pdfmanagement_add:nnn
-              { Page / Resources / ColorSpace }
-              { Default #2 }
-              { \pdf_object_ref_last: }
-          }
-      }
+    \__color_backend_init_resource:n { Default #2 }
   }
 \cs_new_protected:Npn \__color_backend_fill_cmyk:n #1
   { \__color_backend_fill:n { #1 ~ k } }
@@ -356,7 +330,6 @@
     \tl_set:Nn \l__color_backend_fill_tl {#1}
     \__kernel_color_backend_stack_push:nn \l__color_backend_stack_int
       { #1 ~ \l__color_backend_stroke_tl }
-    \group_insert_after:N \__color_backend_reset:
   }
 \cs_new_protected:Npn \__color_backend_stroke_cmyk:n #1
   { \__color_backend_stroke:n { #1 ~ K } }
@@ -369,7 +342,6 @@
     \tl_set:Nn \l__color_backend_stroke_tl {#1}
     \__kernel_color_backend_stack_push:nn \l__color_backend_stack_int
       { \l__color_backend_fill_tl \c_space_tl #1 }
-    \group_insert_after:N \__color_backend_reset:
   }
 \cs_new_protected:Npn \__color_backend_fill_separation:nn #1#2
   { \__color_backend_fill:n { /#1 ~ cs ~ #2 ~ scn } }
@@ -377,6 +349,8 @@
   { \__color_backend_stroke:n { /#1 ~ CS ~ #2 ~ SCN } }
 \cs_new_eq:NN \__color_backend_fill_devicen:nn \__color_backend_fill_separation:nn
 \cs_new_eq:NN \__color_backend_stroke_devicen:nn \__color_backend_stroke_separation:nn
+\cs_new_eq:NN \__color_backend_fill_reset: \__color_backend_reset:
+\cs_new_eq:NN \__color_backend_stroke_reset: \__color_backend_reset:
 %% File: l3backend-box.dtx
 \cs_new_protected:Npn \__box_backend_clip:N #1
   {
@@ -922,7 +896,9 @@
     \cs_gset_protected:Npn \__opacity_backend_select_aux:n #1 { }
   }
 \cs_new_protected:Npn \__opacity_backend_reset:
- { \__kernel_color_backend_stack_pop:n \c__opacity_backend_stack_int }
+ {
+    \__kernel_color_backend_stack_pop:n \c__opacity_backend_stack_int
+ }
 \cs_new_protected:Npn \__opacity_backend_fill:n #1
   {
     \__opacity_backend_fill_stroke:xx
@@ -948,7 +924,7 @@
         \pdfmanagement_add:nnn { Page / Resources / ExtGState }
           { opacity.stroke #1 }
           { << /CA ~ #2 >> }
-        \__kernel_color_backend_stack_push:nn \c__opacity_backend_stack_int
+    \__kernel_color_backend_stack_push:nn \c__opacity_backend_stack_int
          { /opacity.fill #1 ~ gs /opacity.stroke #2 ~ gs }
         \group_insert_after:N \__opacity_backend_reset:
       }

Modified: trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def	2022-04-20 19:45:21 UTC (rev 63089)
@@ -26,7 +26,7 @@
 %% 
 %% File: l3backend-basics.dtx
 \ProvidesExplFile
-  {l3backend-pdftex.def}{2022-04-14}{}
+  {l3backend-pdftex.def}{2022-04-20}{}
   {L3 backend support: PDF output (pdfTeX)}
 \cs_if_exist:NTF \__kernel_dependency_version_check:nn
   {
@@ -129,7 +129,6 @@
     \tex_pdfcolorstack:D
       \int_eval:n {#1} ~ push ~ {#2}
   }
-\cs_generate_variant:Nn \__kernel_color_backend_stack_push:nn { nx }
 \cs_new_protected:Npn \__kernel_color_backend_stack_pop:n #1
   {
     \tex_pdfcolorstack:D
@@ -151,14 +150,6 @@
   }
 \cs_new_protected:Npn \__color_backend_reset:
   { \__kernel_color_backend_stack_pop:n \l__color_backend_stack_int }
-\cs_new_protected:Npn \__color_backend_select_named:n #1
-  {
-    \str_if_eq:nnTF {#1} { Black }
-      { \__color_backend_select_gray:n { 0 } }
-      { \msg_error:nnn { color } { unknown-named-color } {#1} }
-  }
-\msg_new:nnn { color } { unknown-named-color }
-  { Named~color~'#1'~is~not~known. }
 \prop_new:N \g__color_backend_colorant_prop
 \cs_new:Npx \__color_backend_devicen_colorants:n #1
   {
@@ -189,18 +180,8 @@
   { \__color_backend_select:nn { /#1 ~ cs ~ #2 ~ scn  } { /#1 ~ CS ~ #2 ~ SCN } }
 \cs_new_eq:NN \__color_backend_select_devicen:nn \__color_backend_select_separation:nn
 \cs_new_eq:NN \__color_backend_select_iccbased:nn \__color_backend_select_separation:nn
-\cs_new_protected:Npn \__color_backend_separation_init:nnnnn #1#2#3#4#5
+\cs_new_protected:Npn \__color_backend_init_resource:n #1
   {
-    \pdf_object_unnamed_write:nx { dict }
-      {
-        /FunctionType ~ 2
-        /Domain ~ [0 ~ 1]
-        \tl_if_blank:nF {#3} { /Range ~ [#3] }
-        /C0 ~ [#4] ~
-        /C1 ~ [#5] /N ~ 1
-      }
-    \exp_args:Nx \__color_backend_separation_init:nn
-      { \str_convert_pdfname:n {#1} } {#2}
     \bool_lazy_and:nnT
       { \cs_if_exist_p:N \pdfmanagement_if_active_p: }
       { \pdfmanagement_if_active_p: }
@@ -209,15 +190,33 @@
           {
             \pdfmanagement_add:nnn
               { Page / Resources / ColorSpace }
-              { color \int_use:N \g__color_model_int }
+              { #1 }
               { \pdf_object_ref_last: }
           }
       }
   }
+\cs_new_protected:Npn \__color_backend_separation_init:nnnnn #1#2#3#4#5
+  {
+    \pdf_object_unnamed_write:nx { dict }
+      {
+        /FunctionType ~ 2
+        /Domain ~ [0 ~ 1]
+        \tl_if_blank:nF {#3} { /Range ~ [#3] }
+        /C0 ~ [#4] ~
+        /C1 ~ [#5] /N ~ 1
+      }
+    \exp_args:Nx \__color_backend_separation_init:nn
+      { \str_convert_pdfname:n {#1} } {#2}
+    \__color_backend_init_resource:n { color \int_use:N \g__color_model_int }
+  }
 \cs_new_protected:Npn \__color_backend_separation_init:nn #1#2
   {
-    \pdf_object_unnamed_write:nx { array }
-      { /Separation /#1 ~ #2 ~ \pdf_object_ref_last: }
+    \use:x
+      {
+        \pdf_object_new:nn { color \int_use:N \g__color_model_int } { array }
+        \pdf_object_write:nn { color \int_use:N \g__color_model_int }
+          { /Separation /#1 ~ #2 ~ \pdf_object_ref_last: }
+      }
     \prop_gput:Nnx \g__color_backend_colorant_prop { /#1 }
       { \pdf_object_ref_last: }
   }
@@ -267,26 +266,19 @@
         }
         { {#3} }
      }
-    \pdf_object_unnamed_write:nx { array }
+    \use:x
       {
-        /DeviceN ~
-        [ ~ #1 ~ ] ~
-        #2 ~
-        \pdf_object_ref_last:
-        \__color_backend_devicen_colorants:n {#1}
-      }
-    \bool_lazy_and:nnT
-      { \cs_if_exist_p:N \pdfmanagement_if_active_p: }
-      { \pdfmanagement_if_active_p: }
-      {
-        \use:x
+        \pdf_object_new:nn { color \int_use:N \g__color_model_int } { array }
+        \pdf_object_write:nn { color \int_use:N \g__color_model_int }
           {
-            \pdfmanagement_add:nnn
-              { Page / Resources / ColorSpace }
-              { color \int_use:N \g__color_model_int }
-              { \pdf_object_ref_last: }
+            /DeviceN ~
+            [ ~ #1 ~ ] ~
+            #2 ~
+            \pdf_object_ref_last:
+            \__color_backend_devicen_colorants:n {#1}
           }
       }
+    \__color_backend_init_resource:n { color \int_use:N \g__color_model_int }
   }
 \cs_new:Npn \__color_backend_devicen_init:w #1 ~ #2 \s__color_stop
   {
@@ -310,17 +302,8 @@
       }
     \pdf_object_unnamed_write:nx { array }
       { /ICCBased ~ \pdf_object_ref:n { __color_icc_ #1 } }
-    \cs_if_exist:NT \pdfmanagement_add:nnn
-      {
-        \use:x
-          {
-            \pdfmanagement_add:nnn { Page / Resources / ColorSpace }
-              { color \int_use:N \g__color_model_int }
-              { ~ \pdf_object_ref_last: }
-          }
-      }
+    \__color_backend_init_resource:n { color \int_use:N \g__color_model_int }
   }
-
 \cs_new_protected:Npn \__color_backend_iccbased_device:nnn #1#2#3
   {
     \pdf_object_if_exist:nF { __color_icc_ #1 }
@@ -334,16 +317,7 @@
       }
     \pdf_object_unnamed_write:nx { array }
       { /ICCBased ~ \pdf_object_ref:n { __color_icc_ #1 } }
-    \cs_if_exist:NT \pdfmanagement_add:nnn
-      {
-        \use:x
-          {
-            \pdfmanagement_add:nnn
-              { Page / Resources / ColorSpace }
-              { Default #2 }
-              { \pdf_object_ref_last: }
-          }
-      }
+    \__color_backend_init_resource:n { Default #2 }
   }
 \cs_new_protected:Npn \__color_backend_fill_cmyk:n #1
   { \__color_backend_fill:n { #1 ~ k } }
@@ -356,7 +330,6 @@
     \tl_set:Nn \l__color_backend_fill_tl {#1}
     \__kernel_color_backend_stack_push:nn \l__color_backend_stack_int
       { #1 ~ \l__color_backend_stroke_tl }
-    \group_insert_after:N \__color_backend_reset:
   }
 \cs_new_protected:Npn \__color_backend_stroke_cmyk:n #1
   { \__color_backend_stroke:n { #1 ~ K } }
@@ -369,7 +342,6 @@
     \tl_set:Nn \l__color_backend_stroke_tl {#1}
     \__kernel_color_backend_stack_push:nn \l__color_backend_stack_int
       { \l__color_backend_fill_tl \c_space_tl #1 }
-    \group_insert_after:N \__color_backend_reset:
   }
 \cs_new_protected:Npn \__color_backend_fill_separation:nn #1#2
   { \__color_backend_fill:n { /#1 ~ cs ~ #2 ~ scn } }
@@ -377,6 +349,8 @@
   { \__color_backend_stroke:n { /#1 ~ CS ~ #2 ~ SCN } }
 \cs_new_eq:NN \__color_backend_fill_devicen:nn \__color_backend_fill_separation:nn
 \cs_new_eq:NN \__color_backend_stroke_devicen:nn \__color_backend_stroke_separation:nn
+\cs_new_eq:NN \__color_backend_fill_reset: \__color_backend_reset:
+\cs_new_eq:NN \__color_backend_stroke_reset: \__color_backend_reset:
 %% File: l3backend-box.dtx
 \cs_new_protected:Npn \__box_backend_clip:N #1
   {
@@ -922,7 +896,9 @@
     \cs_gset_protected:Npn \__opacity_backend_select_aux:n #1 { }
   }
 \cs_new_protected:Npn \__opacity_backend_reset:
- { \__kernel_color_backend_stack_pop:n \c__opacity_backend_stack_int }
+ {
+    \__kernel_color_backend_stack_pop:n \c__opacity_backend_stack_int
+ }
 \cs_new_protected:Npn \__opacity_backend_fill:n #1
   {
     \__opacity_backend_fill_stroke:xx
@@ -948,7 +924,7 @@
         \pdfmanagement_add:nnn { Page / Resources / ExtGState }
           { opacity.stroke #1 }
           { << /CA ~ #2 >> }
-        \__kernel_color_backend_stack_push:nn \c__opacity_backend_stack_int
+    \__kernel_color_backend_stack_push:nn \c__opacity_backend_stack_int
          { /opacity.fill #1 ~ gs /opacity.stroke #2 ~ gs }
         \group_insert_after:N \__opacity_backend_reset:
       }

Modified: trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def	2022-04-20 19:45:21 UTC (rev 63089)
@@ -26,7 +26,7 @@
 %% 
 %% File: l3backend-basics.dtx
 \ProvidesExplFile
-  {l3backend-xetex.def}{2022-04-14}{}
+  {l3backend-xetex.def}{2022-04-20}{}
   {L3 backend support: XeTeX}
 \cs_if_exist:NTF \__kernel_dependency_version_check:nn
   {
@@ -87,83 +87,13 @@
     \cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3
       { \tl_set:Nn #3 { {#1} {#2} } }
   }
-\int_new:N \l__color_backend_stack_int
-\int_new:N \g__color_backend_stack_int
-\cs_new_protected:Npx \__kernel_color_backend_stack_init:Nnn #1#2#3
-  {
-    \int_gincr:N \exp_not:N \g__color_backend_stack_int
-    \int_const:Nn #1 { \exp_not:N \g__color_backend_stack_int }
-    \use:x
-      {
-        \__kernel_backend_first_shipout:n
-          {
-            \__kernel_backend_literal:n
-              {
-                pdfcolorstackinit ~
-                \exp_not:N \int_use:N \exp_not:N \g__color_backend_stack_int
-                \c_space_tl
-                \exp_not:N \tl_if_blank:nF {#2} { #2 ~ }
-                (#3)
-              }
-        }
-      }
-  }
-\cs_if_exist:cTF { main at pdfcolorstack }
-  {
-    \int_set:Nn \l__color_backend_stack_int
-      { \int_use:c { main at pdfcolorstack } }
-  }
-  {
-    \__kernel_color_backend_stack_init:Nnn \c__color_backend_main_stack_int
-      { page ~ direct } { 0 ~ g ~ 0 ~ G }
-    \int_set_eq:NN \l__color_backend_stack_int
-      \c__color_backend_main_stack_int
-    \int_const:cn { main at pdfcolorstack } { \c__color_backend_main_stack_int }
-  }
-\cs_gset_protected:Npn \__kernel_backend_scope_end:
-  {
-    \__kernel_backend_literal:n { x:grestore }
-    \__kernel_backend_literal:x
-      {
-        pdfcolorstack ~
-        \int_use:N \g__color_backend_stack_int \c_space_tl current
-      }
-  }
-\cs_new_protected:Npn \__kernel_color_backend_stack_push:nn #1#2
-  {
-    \__kernel_backend_literal:x
-      {
-        pdfcolorstack ~
-        \int_eval:n {#1} ~
-        push ~ (#2)
-      }
-  }
-\cs_generate_variant:Nn \__kernel_color_backend_stack_push:nn { nx }
-\cs_new_protected:Npn \__kernel_color_backend_stack_pop:n #1
-  {
-    \__kernel_backend_literal:x
-      {
-        pdfcolorstack ~
-        \int_eval:n {#1} ~
-        pop
-      }
-  }
-\tl_new:N \l__color_backend_fill_tl
-\tl_new:N \l__color_backend_stroke_tl
-\cs_new_protected:Npn \__color_backend_select_cmyk:n #1
-  { \__color_backend_select:nn { #1 ~ k } { #1 ~ K } }
-\cs_new_protected:Npn \__color_backend_select_gray:n #1
-  { \__color_backend_select:nn { #1 ~ g } { #1 ~ G } }
-\cs_new_protected:Npn \__color_backend_select_rgb:n #1
-  { \__color_backend_select:nn { #1 ~ rg } { #1 ~ RG } }
-\cs_new_protected:Npn \__color_backend_select:nn #1#2
-  {
-    \tl_set:Nn \l__color_backend_fill_tl {#1}
-    \tl_set:Nn \l__color_backend_stroke_tl {#2}
-    \__kernel_color_backend_stack_push:nn \l__color_backend_stack_int { #1 ~ #2 }
-  }
+\cs_new_protected:Npn \__color_backend_select:n #1
+  { \__kernel_backend_literal:n { pdf : bc ~ [ #1 ] } }
+\cs_new_eq:NN \__color_backend_select_cmyk:n \__color_backend_select:n
+\cs_new_eq:NN \__color_backend_select_gray:n \__color_backend_select:n
+\cs_new_eq:NN \__color_backend_select_rgb:n  \__color_backend_select:n
 \cs_new_protected:Npn \__color_backend_reset:
-  { \__kernel_color_backend_stack_pop:n \l__color_backend_stack_int }
+  { \__kernel_backend_literal:n { pdf : ec } }
 \cs_new_protected:Npn \__color_backend_select_named:n #1
   {
     \str_if_eq:nnTF {#1} { Black }
@@ -199,9 +129,12 @@
     \__color_backend_devicen_colorants:w
   }
 \cs_new_protected:Npn \__color_backend_select_separation:nn #1#2
-  { \__color_backend_select:nn { /#1 ~ cs ~ #2 ~ scn  } { /#1 ~ CS ~ #2 ~ SCN } }
+  { \__kernel_backend_literal:x { pdf : bc ~ \pdf_object_ref:n {#1} ~ [ #2 ] } }
 \cs_new_eq:NN \__color_backend_select_devicen:nn \__color_backend_select_separation:nn
 \cs_new_eq:NN \__color_backend_select_iccbased:nn \__color_backend_select_separation:nn
+\cs_new_protected:Npn \__color_backend_init_resource:n #1
+  {
+  }
 \cs_new_protected:Npn \__color_backend_separation_init:nnnnn #1#2#3#4#5
   {
     \pdf_object_unnamed_write:nx { dict }
@@ -214,23 +147,16 @@
       }
     \exp_args:Nx \__color_backend_separation_init:nn
       { \str_convert_pdfname:n {#1} } {#2}
-    \bool_lazy_and:nnT
-      { \cs_if_exist_p:N \pdfmanagement_if_active_p: }
-      { \pdfmanagement_if_active_p: }
-      {
-        \use:x
-          {
-            \pdfmanagement_add:nnn
-              { Page / Resources / ColorSpace }
-              { color \int_use:N \g__color_model_int }
-              { \pdf_object_ref_last: }
-          }
-      }
+    \__color_backend_init_resource:n { color \int_use:N \g__color_model_int }
   }
 \cs_new_protected:Npn \__color_backend_separation_init:nn #1#2
   {
-    \pdf_object_unnamed_write:nx { array }
-      { /Separation /#1 ~ #2 ~ \pdf_object_ref_last: }
+    \use:x
+      {
+        \pdf_object_new:nn { color \int_use:N \g__color_model_int } { array }
+        \pdf_object_write:nn { color \int_use:N \g__color_model_int }
+          { /Separation /#1 ~ #2 ~ \pdf_object_ref_last: }
+      }
     \prop_gput:Nnx \g__color_backend_colorant_prop { /#1 }
       { \pdf_object_ref_last: }
   }
@@ -280,26 +206,19 @@
         }
         { {#3} }
      }
-    \pdf_object_unnamed_write:nx { array }
+    \use:x
       {
-        /DeviceN ~
-        [ ~ #1 ~ ] ~
-        #2 ~
-        \pdf_object_ref_last:
-        \__color_backend_devicen_colorants:n {#1}
-      }
-    \bool_lazy_and:nnT
-      { \cs_if_exist_p:N \pdfmanagement_if_active_p: }
-      { \pdfmanagement_if_active_p: }
-      {
-        \use:x
+        \pdf_object_new:nn { color \int_use:N \g__color_model_int } { array }
+        \pdf_object_write:nn { color \int_use:N \g__color_model_int }
           {
-            \pdfmanagement_add:nnn
-              { Page / Resources / ColorSpace }
-              { color \int_use:N \g__color_model_int }
-              { \pdf_object_ref_last: }
+            /DeviceN ~
+            [ ~ #1 ~ ] ~
+            #2 ~
+            \pdf_object_ref_last:
+            \__color_backend_devicen_colorants:n {#1}
           }
       }
+    \__color_backend_init_resource:n { color \int_use:N \g__color_model_int }
   }
 \cs_new:Npn \__color_backend_devicen_init:w #1 ~ #2 \s__color_stop
   {
@@ -323,17 +242,8 @@
       }
     \pdf_object_unnamed_write:nx { array }
       { /ICCBased ~ \pdf_object_ref:n { __color_icc_ #1 } }
-    \cs_if_exist:NT \pdfmanagement_add:nnn
-      {
-        \use:x
-          {
-            \pdfmanagement_add:nnn { Page / Resources / ColorSpace }
-              { color \int_use:N \g__color_model_int }
-              { ~ \pdf_object_ref_last: }
-          }
-      }
+    \__color_backend_init_resource:n { color \int_use:N \g__color_model_int }
   }
-
 \cs_new_protected:Npn \__color_backend_iccbased_device:nnn #1#2#3
   {
     \pdf_object_if_exist:nF { __color_icc_ #1 }
@@ -347,49 +257,32 @@
       }
     \pdf_object_unnamed_write:nx { array }
       { /ICCBased ~ \pdf_object_ref:n { __color_icc_ #1 } }
-    \cs_if_exist:NT \pdfmanagement_add:nnn
-      {
-        \use:x
-          {
-            \pdfmanagement_add:nnn
-              { Page / Resources / ColorSpace }
-              { Default #2 }
-              { \pdf_object_ref_last: }
-          }
-      }
+    \__color_backend_init_resource:n { Default #2 }
   }
-\cs_new_protected:Npn \__color_backend_fill_cmyk:n #1
-  { \__color_backend_fill:n { #1 ~ k } }
-\cs_new_protected:Npn \__color_backend_fill_gray:n #1
-  { \__color_backend_fill:n { #1 ~ g } }
-\cs_new_protected:Npn \__color_backend_fill_rgb:n #1
-  { \__color_backend_fill:n { #1 ~ rg } }
 \cs_new_protected:Npn \__color_backend_fill:n #1
+  { \__kernel_backend_literal:n { pdf : bc ~ fill ~ [ #1 ] } }
+\cs_new_eq:NN \__color_backend_fill_cmyk:n \__color_backend_fill:n
+\cs_new_eq:NN \__color_backend_fill_gray:n \__color_backend_fill:n
+\cs_new_eq:NN \__color_backend_fill_rgb:n  \__color_backend_fill:n
+\cs_new_protected:Npn \__color_backend_stroke:n #1
+  { \__kernel_backend_literal:n { pdf : bc ~ stroke ~ [ #1 ] } }
+\cs_new_eq:NN \__color_backend_stroke_cmyk:n \__color_backend_stroke:n
+\cs_new_eq:NN \__color_backend_stroke_gray:n \__color_backend_stroke:n
+\cs_new_eq:NN \__color_backend_stroke_rgb:n  \__color_backend_stroke:n
+\cs_new_protected:Npn \__color_backend_fill_separation:nn #1#2
   {
-    \tl_set:Nn \l__color_backend_fill_tl {#1}
-    \__kernel_color_backend_stack_push:nn \l__color_backend_stack_int
-      { #1 ~ \l__color_backend_stroke_tl }
-    \group_insert_after:N \__color_backend_reset:
+    \__kernel_backend_literal:x
+      { pdf : bc ~ fill ~ \pdf_object_ref:n {#1} ~ [ #2 ] }
   }
-\cs_new_protected:Npn \__color_backend_stroke_cmyk:n #1
-  { \__color_backend_stroke:n { #1 ~ K } }
-\cs_new_protected:Npn \__color_backend_stroke_gray:n #1
-  { \__color_backend_stroke:n { #1 ~ G } }
-\cs_new_protected:Npn \__color_backend_stroke_rgb:n #1
-  { \__color_backend_stroke:n { #1 ~ RG } }
-\cs_new_protected:Npn \__color_backend_stroke:n #1
+\cs_new_protected:Npn \__color_backend_stroke_separation:nn #1#2
   {
-    \tl_set:Nn \l__color_backend_stroke_tl {#1}
-    \__kernel_color_backend_stack_push:nn \l__color_backend_stack_int
-      { \l__color_backend_fill_tl \c_space_tl #1 }
-    \group_insert_after:N \__color_backend_reset:
+    \__kernel_backend_literal:x
+      { pdf : bc ~ stroke ~ \pdf_object_ref:n {#1} ~ [ #2 ] }
   }
-\cs_new_protected:Npn \__color_backend_fill_separation:nn #1#2
-  { \__color_backend_fill:n { /#1 ~ cs ~ #2 ~ scn } }
-\cs_new_protected:Npn \__color_backend_stroke_separation:nn #1#2
-  { \__color_backend_stroke:n { /#1 ~ CS ~ #2 ~ SCN } }
 \cs_new_eq:NN \__color_backend_fill_devicen:nn \__color_backend_fill_separation:nn
 \cs_new_eq:NN \__color_backend_stroke_devicen:nn \__color_backend_stroke_separation:nn
+\cs_new_eq:NN \__color_backend_fill_reset: \__color_backend_reset:
+\cs_new_eq:NN \__color_backend_stroke_reset: \__color_backend_reset:
 %% File: l3backend-box.dtx
 \cs_new_protected:Npn \__box_backend_clip:N #1
   {
@@ -977,8 +870,6 @@
   { \cs_if_exist_p:N \pdfmanagement_if_active_p: }
   { \pdfmanagement_if_active_p:}
   {
-    \__kernel_color_backend_stack_init:Nnn \c__opacity_backend_stack_int
-      { page ~ direct } { /opacity 1 ~ gs }
     \pdfmanagement_add:nnn { Page / Resources / ExtGState }
       { opacity 1 } { << /ca ~ 1 /CA ~ 1 >> }
   }
@@ -996,7 +887,7 @@
     \pdfmanagement_add:nnn { Page / Resources / ExtGState }
       { opacity #1 }
       { << /ca ~ #1 /CA ~ #1 >> }
-    \__kernel_color_backend_stack_push:nn \c__opacity_backend_stack_int
+    \__kernel_backend_literal:n
       { /opacity #1 ~ gs }
     \group_insert_after:N \__opacity_backend_reset:
   }
@@ -1007,7 +898,8 @@
     \cs_gset_protected:Npn \__opacity_backend_select_aux:n #1 { }
   }
 \cs_new_protected:Npn \__opacity_backend_reset:
- { \__kernel_color_backend_stack_pop:n \c__opacity_backend_stack_int }
+ {
+ }
 \cs_new_protected:Npn \__opacity_backend_fill:n #1
   {
     \__opacity_backend_fill_stroke:xx
@@ -1033,7 +925,7 @@
         \pdfmanagement_add:nnn { Page / Resources / ExtGState }
           { opacity.stroke #1 }
           { << /CA ~ #2 >> }
-        \__kernel_color_backend_stack_push:nn \c__opacity_backend_stack_int
+    \__kernel_backend_literal:n
          { /opacity.fill #1 ~ gs /opacity.stroke #2 ~ gs }
         \group_insert_after:N \__opacity_backend_reset:
       }

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty	2022-04-20 19:45:21 UTC (rev 63089)
@@ -20,7 +20,7 @@
 %% 
 %% File: l3benchmark.dtx
 \RequirePackage{expl3}
-\ProvidesExplPackage{l3benchmark}{2022-04-10}{}
+\ProvidesExplPackage{l3benchmark}{2022-04-20}{}
   {L3 Experimental benchmarking}
 \fp_new:N \g_benchmark_duration_target_fp
 \fp_gset:Nn \g_benchmark_duration_target_fp { 1 }

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3bitset/l3bitset.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3bitset/l3bitset.sty	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3bitset/l3bitset.sty	2022-04-20 19:45:21 UTC (rev 63089)
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: l3bitset.dtx
-\ProvidesExplPackage{l3bitset}{2022-04-10}{}
+\ProvidesExplPackage{l3bitset}{2022-04-20}{}
   {L3 Experimental bitset support}
 \cs_new_protected:Npn \bitset_new:N #1
   {

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty	2022-04-20 19:45:21 UTC (rev 63089)
@@ -28,7 +28,7 @@
 %% 
 %% File: l3draw.dtx
 \RequirePackage{expl3}
-\ProvidesExplPackage{l3draw}{2022-04-10}{}
+\ProvidesExplPackage{l3draw}{2022-04-20}{}
   {L3 Experimental core drawing support}
 \scan_new:N \s__draw_mark
 \scan_new:N \s__draw_stop

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty	2022-04-20 19:45:21 UTC (rev 63089)
@@ -20,8 +20,9 @@
 %% 
 %% File: l3graphics.dtx
 \RequirePackage{expl3}
-\ProvidesExplPackage{l3graphics}{2022-04-10}{}
+\ProvidesExplPackage{l3graphics}{2022-04-20}{}
   {L3 Experimental graphics inclusion support}
+\dim_new:N \l__graphics_internal_dim
 \ior_new:N \l__graphics_internal_ior
 \tl_new:N  \l__graphics_internal_tl
 \scan_new:N \s__graphics_stop
@@ -292,8 +293,18 @@
       \seq_set_eq:NN \l_file_search_path_seq \l_graphics_search_path_seq
       \file_get_full_name:nNTF {#1} \l__graphics_full_name_str
         {
-          \str_if_eq:eeT { \l__graphics_full_name_str } { #1 .tex }
+          \str_if_eq:eeTF { \l__graphics_full_name_str } { #1 .tex }
             { \__graphics_get_full_name:n {#1} }
+            {
+              \file_parse_full_name:VNNN \l__graphics_full_name_str
+                \l__graphics_dir_str \l__graphics_name_str \l__graphics_ext_str
+              \seq_map_inline:Nn \l_graphics_search_ext_seq
+                {
+                  \str_if_eq:nVT {##1} \l__graphics_ext_str
+                    { \seq_map_break:n { \use_none:nn } }
+                }
+                  \__graphics_get_full_name:n {#1}
+            }
         }
         { \__graphics_get_full_name:n {#1} }
     \exp_args:NNNV \group_end:

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty	2022-04-20 19:45:21 UTC (rev 63089)
@@ -20,7 +20,7 @@
 %% 
 %% File: l3opacity.dtx
 \RequirePackage{expl3}
-\ProvidesExplPackage{l3opacity}{2022-04-10}{}
+\ProvidesExplPackage{l3opacity}{2022-04-20}{}
   {L3 Experimental opacity support}
 \cs_new_protected:Npn \opacity_select:n #1
   { \__opacity_select:nN {#1} \__opacity_backend_select:n }

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty	2022-04-20 19:45:21 UTC (rev 63089)
@@ -20,7 +20,7 @@
 %% 
 %% File: l3str-format.dtx
 \RequirePackage{expl3}
-\ProvidesExplPackage{l3str-format}{2022-04-10}{}
+\ProvidesExplPackage{l3str-format}{2022-04-20}{}
   {L3 Experimental string formatting}
 \cs_generate_variant:Nn \use:nn { nf }
 \cs_generate_variant:Nn \use:nnn { fnf }

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty	2022-04-20 19:45:21 UTC (rev 63089)
@@ -20,7 +20,7 @@
 %% 
 %% File: l3sys-shell.dtx
 \RequirePackage{expl3}
-\ProvidesExplPackage{l3sys-shell}{2022-04-10}{}
+\ProvidesExplPackage{l3sys-shell}{2022-04-20}{}
   {L3 Experimental system shell functions}
 \scan_new:N \s__sys_stop
 \quark_new:N \q__sys_nil

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty	2022-04-20 19:45:21 UTC (rev 63089)
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: xcoffins.dtx
-\ProvidesExplPackage{xcoffins}{2022-04-10}{}
+\ProvidesExplPackage{xcoffins}{2022-04-20}{}
   {L3 Experimental design level coffins}
 \keys_define:nn { coffin }
   {

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty	2022-04-20 19:45:21 UTC (rev 63089)
@@ -32,7 +32,7 @@
       }%
     \endinput
   }
-\ProvidesExplPackage{l3galley}{2022-04-10}{}
+\ProvidesExplPackage{l3galley}{2022-04-20}{}
   {L3 Experimental galley code}
 \int_new:N \l__galley_tmp_int
 \seq_new:N \g__galley_tmpa_seq

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty	2022-04-20 19:45:21 UTC (rev 63089)
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: xgalley.dtx
-\ProvidesExplPackage{xgalley}{2022-04-10}{}
+\ProvidesExplPackage{xgalley}{2022-04-20}{}
   {L3 Experimental galley}
 \RequirePackage{xtemplate,l3galley}
 \clist_new:N \l__galley_tmpa_clist

Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex	2022-04-20 19:45:21 UTC (rev 63089)
@@ -70,7 +70,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: expl3.dtx
-\def\ExplFileDate{2022-04-10}%
+\def\ExplFileDate{2022-04-20}%
 \begingroup
   \def\next{\endgroup}%
   \expandafter\ifx\csname PackageError\endcsname\relax
@@ -922,6 +922,8 @@
   \__kernel_primitive:NN \crampedscriptstyle    \tex_crampedscriptstyle:D
   \__kernel_primitive:NN \crampedtextstyle      \tex_crampedtextstyle:D
   \__kernel_primitive:NN \csstring              \tex_csstring:D
+  \__kernel_primitive:NN \discretionaryligaturemode
+    \tex_discretionaryligaturemode:D
   \__kernel_primitive:NN \directlua             \tex_directlua:D
   \__kernel_primitive:NN \dviextension          \tex_dviextension:D
   \__kernel_primitive:NN \dvifeedback           \tex_dvifeedback:D
@@ -968,10 +970,12 @@
   \__kernel_primitive:NN \luatexbanner          \tex_luatexbanner:D
   \__kernel_primitive:NN \luatexrevision        \tex_luatexrevision:D
   \__kernel_primitive:NN \luatexversion         \tex_luatexversion:D
+  \__kernel_primitive:NN \mathdefaultsmode      \tex_mathdefaultsmode:D
   \__kernel_primitive:NN \mathdelimitersmode    \tex_mathdelimitersmode:D
   \__kernel_primitive:NN \mathdir               \tex_mathdir:D
   \__kernel_primitive:NN \mathdirection         \tex_mathdirection:D
   \__kernel_primitive:NN \mathdisplayskipmode   \tex_mathdisplayskipmode:D
+  \__kernel_primitive:NN \matheqdirmode         \tex_matheqdirmode:D
   \__kernel_primitive:NN \matheqnogapstep       \tex_matheqnogapstep:D
   \__kernel_primitive:NN \mathnolimitsmode      \tex_mathnolimitsmode:D
   \__kernel_primitive:NN \mathoption            \tex_mathoption:D
@@ -29076,7 +29080,10 @@
     \exp_after:wN \__color_draw:nnn \l__color_current_tl { stroke }
   }
 \cs_new_protected:Npn \__color_draw:nnn #1#2#3
-  { \use:c { __color_backend_ #3 _ #1 :n } {#2} }
+  {
+    \use:c { __color_backend_ #3 _ #1 :n } {#2}
+    \exp_args:Nc \group_insert_after:N { __color_backend_ #3 _ reset: }
+  }
 \tl_new:N \l__color_named_tl
 \cs_new_protected:Npn \color_set:nn #1#2
   {
@@ -35365,12 +35372,7 @@
 \__kernel_patch_deprecation:nnNNpn { 2020-06-18 } { \seq_map_indexed_function:NN }
 \cs_gset:Npn \seq_indexed_map_function:NN { \seq_map_indexed_function:NN }
 \__kernel_patch_deprecation:nnNNpn { 2021-01-11 } { (no~longer~required) }
-\cs_gset_protected:Npn \sys_load_deprecation:
-  {
-    \bool_if:NF \g__str_deprecation_bool
-      { \__kernel_sys_configuration_load:n { l3deprecation } }
-    \bool_gset_true:N \g__str_deprecation_bool
-  }
+\cs_gset_protected:Npn \sys_load_deprecation: { }
 \__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_lowercase:n }
 \cs_gset:Npn \tl_lower_case:n #1
   { \text_lowercase:n {#1} }

Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex	2022-04-20 19:45:21 UTC (rev 63089)
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: expl3.dtx
-\def\ExplFileDate{2022-04-10}%
+\def\ExplFileDate{2022-04-20}%
 \let\ExplLoaderFileDate\ExplFileDate
 \begingroup
   \catcode`\_=11

Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx	2022-04-20 19:45:21 UTC (rev 63089)
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: expl3.dtx
-\def\ExplFileDate{2022-04-10}%
+\def\ExplFileDate{2022-04-20}%
 \let\ExplLoaderFileDate\ExplFileDate
 \begingroup
   \catcode`\_=11

Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.sty	2022-04-20 19:43:13 UTC (rev 63088)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.sty	2022-04-20 19:45:21 UTC (rev 63089)
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: expl3.dtx
-\def\ExplFileDate{2022-04-10}%
+\def\ExplFileDate{2022-04-20}%
 \let\ExplLoaderFileDate\ExplFileDate
 \ProvidesPackage{expl3}
   [%



More information about the tex-live-commits mailing list.