texlive[66710] Master/texmf-dist: l3 (30mar23)
commits+karl at tug.org
commits+karl at tug.org
Thu Mar 30 22:05:06 CEST 2023
Revision: 66710
http://tug.org/svn/texlive?view=revision&revision=66710
Author: karl
Date: 2023-03-30 22:05:05 +0200 (Thu, 30 Mar 2023)
Log Message:
-----------
l3 (30mar23)
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/l3backend/l3backend.ins
trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3color.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3text.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
trunk/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
trunk/Master/texmf-dist/tex/latex/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
Added Paths:
-----------
trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.lua
Modified: trunk/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md 2023-03-30 20:05:05 UTC (rev 66710)
@@ -6,6 +6,12 @@
## [Unreleased]
+## [2023-03-30]
+
+### Changed
+- Integrate l3color and l3opacity with luaotfload to ensure that
+ opacity specifications don't conflict.
+
## [2023-01-16]
### Changed
@@ -14,7 +20,7 @@
## [2022-10-26]
### Changed
-- Avoid setting media box is `\mag` is non-standard
+- Avoid setting media box if `\mag` is non-standard
## [2022-09-28]
@@ -282,7 +288,8 @@
- Include `l3backend` in file names
- Moved backend code to internal for each 'parent' module
-[Unreleased]: https://github.com/latex3/latex3/compare/2023-01-16...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2023-03-30...HEAD
+[2023-03-30]: https://github.com/latex3/latex3/compare/2023-01-16...2023-03-30
[2023-01-16]: https://github.com/latex3/latex3/compare/2022-10-26...2023-01-16
[2022-10-26]: https://github.com/latex3/latex3/compare/2022-09-28...2022-10-26
[2022-09-28]: https://github.com/latex3/latex3/compare/2022-08-30...2022-09-28
Modified: trunk/Master/texmf-dist/doc/latex/l3backend/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3backend/README.md 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/doc/latex/l3backend/README.md 2023-03-30 20:05:05 UTC (rev 66710)
@@ -1,7 +1,7 @@
LaTeX3 Backend Drivers
======================
-Release 2023-01-16
+Release 2023-03-30
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 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md 2023-03-30 20:05:05 UTC (rev 66710)
@@ -7,6 +7,12 @@
## [Unreleased]
+## [2023-03-30]
+
+### Fixed
+- 'Fallback' value used for benchmarking single op
+ (see \#1182)
+
## [2023-01-24]
### Changed
@@ -256,7 +262,8 @@
- New `l3color` module using `xcolor`-like expression syntax
- New `l3draw` module, based on `pgf` layer of the TikZ system
-[Unreleased]: https://github.com/latex3/latex3/compare/2023-01-24...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2023-03-30...HEAD
+[2023-03-30]: https://github.com/latex3/latex3/compare/2023-01-24...2023-03-30
[2023-01-24]: https://github.com/latex3/latex3/compare/2022-04-20...2023-01-24
[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
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3experimental/README.md 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/doc/latex/l3experimental/README.md 2023-03-30 20:05:05 UTC (rev 66710)
@@ -1,7 +1,7 @@
Experimental LaTeX3 Concepts
============================
-Release 2023-01-24
+Release 2023-03-30
Overview
--------
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3bitset/l3bitset.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md 2023-03-30 20:05:05 UTC (rev 66710)
@@ -7,6 +7,21 @@
## [Unreleased]
+## [2023-03-30]
+
+
+### Added
+- `\tex_endlocalcontrol:D` as expl3 name for the LuaTeX primitive
+
+### Changed
+- Allow non-integer values in color expressions
+- Restrict color expressions values to the range [0, 100]
+- Leave Greek spacing diacritics unchanged in uppercasing
+
+### Fixed
+- Fix minor version in `\c_sys_engine_version_str` for pdfTeX and LuaTeX
+ (issue [\#1186](https://github.com/latex3/latex3/issues/1186))
+
## [2023-02-22]
### Changed
@@ -1304,7 +1319,8 @@
- Step functions have been added for dim variables,
e.g. `\dim_step_inline:nnnn`
-[Unreleased]: https://github.com/latex3/latex3/compare/2023-02-22...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2023-03-30...HEAD
+[2023-03-30]: https://github.com/latex3/latex3/compare/2023-02-22...2023-03-30
[2023-02-22]: https://github.com/latex3/latex3/compare/2023-02-07...2023-02-22
[2023-02-07]: https://github.com/latex3/latex3/compare/2023-02-02...2023-02-07
[2023-02-02]: https://github.com/latex3/latex3/compare/2023-02-01...2023-02-02
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/README.md 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/README.md 2023-03-30 20:05:05 UTC (rev 66710)
@@ -1,7 +1,7 @@
LaTeX3 Programming Conventions
==============================
-Release 2023-02-22
+Release 2023-03-30
Overview
--------
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.tex 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.tex 2023-03-30 20:05:05 UTC (rev 66710)
@@ -62,7 +62,7 @@
{latex-team at latex-project.org}%
}%
}
-\date{Released 2023-02-22}
+\date{Released 2023-03-30}
\pagenumbering{roman}
\maketitle
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex 2023-03-30 20:05:05 UTC (rev 66710)
@@ -32,7 +32,7 @@
{latex-team at latex-project.org}%
}%
}
-\date{Released 2023-02-22}
+\date{Released 2023-03-30}
\begin{document}
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex 2023-03-30 20:05:05 UTC (rev 66710)
@@ -32,7 +32,7 @@
{latex-team at latex-project.org}%
}%
}
-\date{Released 2023-02-22}
+\date{Released 2023-03-30}
\newcommand{\TF}{\textit{(TF)}}
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex 2023-03-30 20:05:05 UTC (rev 66710)
@@ -32,7 +32,7 @@
{latex-team at latex-project.org}%
}%
}
-\date{Released 2023-02-22}
+\date{Released 2023-03-30}
\newcommand{\TF}{\textit{(TF)}}
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/source3.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/source3.tex 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/source3.tex 2023-03-30 20:05:05 UTC (rev 66710)
@@ -53,7 +53,7 @@
{latex-team at latex-project.org}%
}%
}
-\date{Released 2023-02-22}
+\date{Released 2023-03-30}
\pagenumbering{roman}
\maketitle
Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-16}
+% \date{Released 2023-03-30}
%
% \maketitle
%
@@ -53,7 +53,7 @@
%
% \begin{implementation}
%
-% \section{\pkg{l3backend-basics} Implementation}
+% \section{\pkg{l3backend-basics} implementation}
%
% \begin{macrocode}
%<*package>
@@ -70,27 +70,27 @@
% \begin{macrocode}
\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-dvipdfmx.def}{2023-01-16}{}
+ {l3backend-dvipdfmx.def}{2023-03-30}{}
{L3 backend support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-dvips.def}{2023-01-16}{}
+ {l3backend-dvips.def}{2023-03-30}{}
{L3 backend support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-dvisvgm.def}{2023-01-16}{}
+ {l3backend-dvisvgm.def}{2023-03-30}{}
{L3 backend support: dvisvgm}
%</dvisvgm>
%<*luatex>
- {l3backend-luatex.def}{2023-01-16}{}
+ {l3backend-luatex.def}{2023-03-30}{}
{L3 backend support: PDF output (LuaTeX)}
%</luatex>
%<*pdftex>
- {l3backend-pdftex.def}{2023-01-16}{}
+ {l3backend-pdftex.def}{2023-03-30}{}
{L3 backend support: PDF output (pdfTeX)}
%</pdftex>
%<*xetex>
- {l3backend-xetex.def}{2023-01-16}{}
+ {l3backend-xetex.def}{2023-03-30}{}
{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 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-16}
+% \date{Released 2023-03-30}
%
% \maketitle
%
@@ -53,7 +53,7 @@
%
% \begin{implementation}
%
-% \section{\pkg{l3backend-box} Implementation}
+% \section{\pkg{l3backend-box} implementation}
%
% \begin{macrocode}
%<*package>
Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-16}
+% \date{Released 2023-03-30}
%
% \maketitle
%
@@ -53,7 +53,7 @@
%
% \begin{implementation}
%
-% \section{\pkg{l3backend-color} Implementation}
+% \section{\pkg{l3backend-color} implementation}
%
% \begin{macrocode}
%<*package>
@@ -68,85 +68,6 @@
% \texttt{dvipdfmx}/\XeTeX{} is PDF-based means it (largely) sticks closer to
% direct PDF output.
%
-% \subsection{Collecting information from \LaTeXe{}}
-%
-% \subsubsection{\texttt{dvips}-style}
-%
-% \begin{macrocode}
-%<*dvisvgm|dvipdfmx|dvips|xetex>
-% \end{macrocode}
-%
-% \begin{macro}{\@@_backend_pickup:N}
-% \begin{macro}{\@@_backend_pickup:w}
-% Allow for \LaTeXe{} color. Here, the possible input values are limited:
-% \texttt{dvips}-style colors can be taken as-is. The \texttt{x}-type expansion
-% is there to cover the case where \pkg{xcolor} is in use.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_pickup:N #1
- {
- \exp_args:NV \tl_if_head_is_space:nTF \current at color
- {
- \tl_set:Nn #1 { { gray } { 0 } }
- \msg_warning:nnx { color } { unhandled }
- { \current at color }
- }
- {
- \exp_last_unbraced:Nx \@@_backend_pickup:w
- { \current at color } \s_@@_stop #1
- }
- }
-\cs_new_protected:Npn \@@_backend_pickup:w #1 ~ #2 \s_@@_stop #3
- { \tl_set:Nn #3 { {#1} {#2} } }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macrocode}
-%</dvisvgm|dvipdfmx|dvips|xetex>
-% \end{macrocode}
-%
-% \subsubsection{\LuaTeX{} and \pdfTeX{}}
-%
-% \begin{macrocode}
-%<*luatex|pdftex>
-% \end{macrocode}
-%
-% \begin{macro}{\@@_backend_pickup:N}
-% \begin{macro}{\@@_backend_pickup:w}
-% Same ideas, but with a different backend-dependent format.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_pickup:N #1
- {
- \exp_last_unbraced:Nx \@@_backend_pickup:w
- { \current at color } ~ 0 ~ 0 ~ 0 \s_@@_stop #1
- }
-\cs_new_protected:Npn \@@_backend_pickup:w
- #1 ~ #2 ~ #3 ~ #4 ~ #5 ~ #6 \s_@@_stop #7
- {
- \str_if_eq:nnTF {#2} { g }
- { \tl_set:Nn #7 { { gray } {#1} } }
- {
- \str_if_eq:nnTF {#4} { rg }
- { \tl_set:Nn #7 { { rgb } { #1 ~ #2 ~ #3 } } }
- {
- \str_if_eq:nnTF {#5} { k }
- { \tl_set:Nn #7 { { cmyk } { #1 ~ #2 ~ #3 ~ #4 } } }
- {
- \tl_set:Nn #1 { { gray } { 0 } }
- \msg_warning:nnx { color } { unhandled }
- { \current at color }
- }
- }
- }
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macrocode}
-%</luatex|pdftex>
-% \end{macrocode}
-%
% \subsection{The color stack}
%
% For PDF-based engines, we have a color stack available inside the specials.
@@ -289,6 +210,8 @@
% \begin{macrocode}
\tl_new:N \l_@@_backend_fill_tl
\tl_new:N \l_@@_backend_stroke_tl
+\tl_set:Nn \l_@@_backend_fill_tl { 0 ~ g }
+\tl_set:Nn \l_@@_backend_stroke_tl { 0 ~ G }
% \end{macrocode}
% \end{variable}
%
@@ -1341,6 +1264,85 @@
%</package>
% \end{macrocode}
%
+% \subsection{Font handling integration}
+%
+% In \LuaTeX{} these colors should also be usable to color fonts, so
+% \texttt{luaotfload} color handling is extended to include these.
+%
+% \begin{macrocode}
+%<*lua>
+% \end{macrocode}
+%
+% \begin{macrocode}
+local l = lpeg
+local spaces = l.P' '^0
+local digit16 = l.R('09', 'af', 'AF')
+
+local octet = digit16 * digit16 / function(s)
+ return string.format('%.3g ', tonumber(s, 16) / 255)
+end
+
+if luaotfload and luaotfload.set_transparent_colorstack then
+ local htmlcolor = l.Cs(octet * octet * octet * -1 * l.Cc'rg')
+ local color_export = {
+ token.create'tex_endlocalcontrol:D',
+ token.create'tex_hpack:D',
+ token.new(0, 1),
+ token.create'color_export:nnN',
+ token.new(0, 1),
+ '',
+ token.new(0, 2),
+ token.new(0, 1),
+ 'backend',
+ token.new(0, 2),
+ token.create'l_tmpa_tl',
+ token.create'exp_after:wN',
+ token.create'__color_select:nn',
+ token.create'l_tmpa_tl',
+ token.new(0, 2),
+ }
+ local group_end = token.create'group_end:'
+ local value = (1 - l.P'}')^0
+ luatexbase.add_to_callback('luaotfload.parse_color', function (value)
+% Also allow HTML colors to preserve compatibility
+ local html = htmlcolor:match(value)
+ if html then return html end
+
+ tex.runtoks(function()
+ token.get_next()
+ color_export[6] = value
+ tex.sprint(-2, color_export)
+ end)
+ local list = token.scan_list()
+ if not list.head or list.head.next
+ or list.head.subtype ~= node.subtype'pdf_colorstack' then
+ error'Unexpected backend behavior'
+ end
+ local cmd = list.head.data
+ node.free(list)
+ return cmd
+ end, 'l3color')
+end
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</lua>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*luatex>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*package>
+\lua_load_module:n {l3backend-luatex}
+%</package>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</luatex>
+% \end{macrocode}
+%
% \end{implementation}
%
% \PrintIndex
Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-16}
+% \date{Released 2023-03-30}
%
% \maketitle
%
@@ -53,7 +53,7 @@
%
% \begin{implementation}
%
-% \section{\pkg{l3backend-draw} Implementation}
+% \section{\pkg{l3backend-draw} implementation}
%
% \begin{macrocode}
%<*package>
Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-16}
+% \date{Released 2023-03-30}
%
% \maketitle
%
@@ -53,7 +53,7 @@
%
% \begin{implementation}
%
-% \section{\pkg{l3backend-graphics} Implementation}
+% \section{\pkg{l3backend-graphics} implementation}
%
% \begin{macrocode}
%<*package>
Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-16}
+% \date{Released 2023-03-30}
%
% \maketitle
%
@@ -53,7 +53,7 @@
%
% \begin{implementation}
%
-% \section{\pkg{l3backend-header} Implementation}
+% \section{\pkg{l3backend-header} implementation}
%
% \begin{macrocode}
%<*dvips&header>
Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-16}
+% \date{Released 2023-03-30}
%
% \maketitle
%
@@ -53,7 +53,7 @@
%
% \begin{implementation}
%
-% \section{\pkg{l3backend-opacity} Implementation}
+% \section{\pkg{l3backend-opacity} implementation}
%
% \begin{macrocode}
%<*package>
@@ -287,6 +287,69 @@
%</package>
% \end{macrocode}
%
+% \subsection{Font handling integration}
+%
+% In \LuaTeX{} we want to use these functions also for transparent fonts
+% to avoid interference between both uses of transparency.
+%
+% \begin{macrocode}
+%<*lua>
+% \end{macrocode}
+%
+% First we need to check if pdfmanagement is active from Lua.
+% \begin{macrocode}
+local pdfmanagement_active do
+ local pdfmanagement_if_active_p = token.create'pdfmanagement_if_active_p:'
+ local cmd = pdfmanagement_if_active_p.cmdname
+ if cmd == 'undefined_cs' then
+ pdfmanagement_active = false
+ else
+ token.put_next(pdfmanagement_if_active_p)
+ pdfmanagement_active = token.scan_int() ~= 0
+ end
+end
+
+if pdfmanagement_active and luaotfload and luaotfload.set_transparent_colorstack then
+ luaotfload.set_transparent_colorstack(token.create'c__opacity_backend_stack_int'.index)
+
+ local transparent_register = {
+ token.create'pdfmanagement_add:nnn',
+ token.new(0, 1),
+ 'Page/Resources/ExtGState',
+ token.new(0, 2),
+ token.new(0, 1),
+ '',
+ token.new(0, 2),
+ token.new(0, 1),
+ '<</ca ',
+ '',
+ '/CA ',
+ '',
+ '>>',
+ token.new(0, 2),
+ }
+ luatexbase.add_to_callback('luaotfload.parse_transparent', function(value)
+ value = (octet * -1):match(value)
+ if not value then
+ tex.error'Invalid transparency value'
+ return
+ end
+ value = value:sub(1, -2)
+ local result = 'opacity' .. value
+ tex.runtoks(function()
+ transparent_register[6], transparent_register[10], transparent_register[12] = result, value, value
+ tex.sprint(-2, transparent_register)
+ end)
+ return '/' .. result .. ' gs'
+ end, 'l3opacity')
+end
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</lua>
+% \end{macrocode}
+%
+%
% \end{implementation}
%
% \PrintIndex
Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-16}
+% \date{Released 2023-03-30}
%
% \maketitle
%
@@ -53,7 +53,7 @@
%
% \begin{implementation}
%
-% \section{\pkg{l3backend-pdf} Implementation}
+% \section{\pkg{l3backend-pdf} implementation}
%
% \begin{macrocode}
%<*package>
Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend.ins 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend.ins 2023-03-30 20:05:05 UTC (rev 66710)
@@ -137,4 +137,32 @@
}
}
+% Lua code
+
+\def\MetaPrefix{--}
+\preamble
+
+Copyright (C) 2023 The LaTeX Project
+
+It may be distributed and/or modified under the conditions of
+the LaTeX Project Public License (LPPL), either version 1.3c of
+this license or (at your option) any later version. The latest
+version of this license is in the file:
+
+ https://www.latex-project.org/lppl.txt
+
+This file is part of the "l3backend bundle" (The Work in LPPL)
+and all files in that bundle must be distributed together.
+
+\endpreamble
+\nopostamble
+\generate
+ {
+ \file{l3backend-luatex.lua}
+ {
+ \from{l3backend-color.dtx} {lua}
+ \from{l3backend-opacity.dtx} {lua}
+ }
+ }
+
\endbatchfile
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-24}
+% \date{Released 2023-03-30}
%
% \maketitle
%
@@ -122,7 +122,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3benchmark}{2023-01-24}{}
+\ProvidesExplPackage{l3benchmark}{2023-03-30}{}
{L3 Experimental benchmarking}
% \end{macrocode}
%
@@ -408,7 +408,7 @@
\tl_gset:Nn \g_@@_code_tl
{ \int_gadd:Nn \g_@@_duration_int { 0 } }
\@@_aux:
- \fp_gset:Nn \g_@@_one_op_fp { max(\g_benchmark_time_fp, 1e-16) }
+ \fp_gset:Nn \g_@@_one_op_fp { max(\g_benchmark_time_fp, 1e-8) }
\int_gset:Nn \g_@@_duration_int
{ \fp_to_int:n { 65536 * \g_benchmark_duration_target_fp } }
}
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-24}
+% \date{Released 2023-03-30}
%
% \maketitle
% \begin{documentation}
@@ -264,7 +264,7 @@
%<@@=bitset>
% \end{macrocode}
% \begin{macrocode}
-\ProvidesExplPackage{l3bitset}{2023-01-24}{}
+\ProvidesExplPackage{l3bitset}{2023-03-30}{}
{L3 Experimental bitset support}
% \end{macrocode}
% A bitset is a string variable.
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-24}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-24}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-24}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-24}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-24}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-24}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-24}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-24}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -110,7 +110,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-24}
+% \date{Released 2023-03-30}
%
% \maketitle
%
@@ -1173,7 +1173,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3draw}{2023-01-24}{}
+\ProvidesExplPackage{l3draw}{2023-03-30}{}
{L3 Experimental core drawing support}
% \end{macrocode}
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-24}
+% \date{Released 2023-03-30}
%
% \maketitle
%
@@ -185,7 +185,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3graphics}{2023-01-24}{}
+\ProvidesExplPackage{l3graphics}{2023-03-30}{}
{L3 Experimental graphics inclusion support}
% \end{macrocode}
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-24}
+% \date{Released 2023-03-30}
%
% \maketitle
%
@@ -85,7 +85,7 @@
%
% \begin{implementation}
%
-% \section{\pkg{l3opacity} Implementation}
+% \section{\pkg{l3opacity} implementation}
%
% \begin{macrocode}
%<*package>
@@ -96,7 +96,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3opacity}{2023-01-24}{}
+\ProvidesExplPackage{l3opacity}{2023-03-30}{}
{L3 Experimental opacity support}
% \end{macrocode}
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-24}
+% \date{Released 2023-03-30}
%
% \maketitle
%
@@ -166,7 +166,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3str-format}{2023-01-24}{}
+\ProvidesExplPackage{l3str-format}{2023-03-30}{}
{L3 Experimental string formatting}
% \end{macrocode}
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-24}
+% \date{Released 2023-03-30}
%
% \maketitle
%
@@ -151,7 +151,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3sys-shell}{2023-01-24}{}
+\ProvidesExplPackage{l3sys-shell}{2023-03-30}{}
{L3 Experimental system shell functions}
% \end{macrocode}
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-24}
+% \date{Released 2023-03-30}
%
% \maketitle
%
@@ -672,7 +672,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xcoffins}{2023-01-24}{}
+\ProvidesExplPackage{xcoffins}{2023-03-30}{}
{L3 Experimental design level coffins}
% \end{macrocode}
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -61,7 +61,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-24}
+% \date{Released 2023-03-30}
%
% \maketitle
%
@@ -615,7 +615,7 @@
%
% \begin{implementation}
%
-% \section{\pkg{l3galley} Implementation}
+% \section{\pkg{l3galley} implementation}
%
% At the implementation level, there are a number of challenges which
% have to be overcome in order to make the galley easy to use at the
@@ -686,7 +686,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3galley}{2023-01-24}{}
+\ProvidesExplPackage{l3galley}{2023-03-30}{}
{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 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-01-24}
+% \date{Released 2023-03-30}
%
% \maketitle
%
@@ -715,7 +715,7 @@
%
% \begin{implementation}
%
-% \section{\pkg{xgalley} Implementation}
+% \section{\pkg{xgalley} implementation}
%
% This module provided a template-level interface for the \LaTeX3 galley. As
% such, the code here is intended for design-level changes which apply to
@@ -731,7 +731,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xgalley}{2023-01-24}{}
+\ProvidesExplPackage{xgalley}{2023-03-30}{}
{L3 Experimental galley}
\RequirePackage{xtemplate,l3galley}
% \end{macrocode}
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/expl3.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/expl3.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -24,7 +24,7 @@
%
%<*driver|generic|package|2ekernel>
%</driver|generic|package|2ekernel>
-\def\ExplFileDate{2023-02-22}%
+\def\ExplFileDate{2023-03-30}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
@@ -1267,6 +1267,9 @@
% latter function does not turn the control sequence in question into
% "\scan_stop:"! This can be useful when dealing with control
% sequences which cannot be entered as a single token.
+% \begin{texnote}
+% These are \TeX{}'s \tn{ifdefined} and \tn{ifcsname}, respectively.
+% \end{texnote}
% \end{function}
%
% \begin{function}[EXP]
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3box.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3box.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
@@ -1319,8 +1319,10 @@
{
{ pdftex }
{
- \fp_eval:n { round(\int_use:N \tex_pdftexversion:D / 100 , 2) }
+ \int_div_truncate:nn { \tex_pdftexversion:D } { 100 }
.
+ \int_mod:nn { \tex_pdftexversion:D } { 100 }
+ .
\tex_pdftexrevision:D
}
{ ptex }
@@ -1338,8 +1340,10 @@
}
{ luatex }
{
- \fp_eval:n { round(\int_use:N \tex_luatexversion:D / 100, 2) }
+ \int_div_truncate:nn { \tex_luatexversion:D } { 100 }
.
+ \int_mod:nn { \tex_luatexversion:D } { 100 }
+ .
\tex_luatexrevision:D
}
{ uptex }
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3color.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3color.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3color.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
@@ -155,13 +155,13 @@
% In addition to allowing specification of color by model and values,
% \pkg{l3color} also supports color expressions. These are created
% by combining one or more color names, with the amount of each specified
-% as a percentage. The latter is given between |!| symbols in the expression.
-% Thus for example
+% as a value in the range $0$--$100$. The value should be given between
+% |!| symbols in the expression. Thus for example
% \begin{verbatim}
% red!50!green
% \end{verbatim}
-% is a mixture of $50\,\%$ red and $50\,\%$ green. A trailing percentage is
-% interpreted as implicitly followed by |white|, and so
+% is a mixture of $50\,\%$ red and $50\,\%$ green. A trailing value is
+% interpreted as implicitly followed by |!white|, and so
% \begin{verbatim}
% red!25
% \end{verbatim}
@@ -643,6 +643,14 @@
% \end{macrocode}
% \end{variable}
%
+% \begin{variable}{\l_@@_ignore_error_bool}
+% Used to avoid issuing multiple errors if there is a change-of-model with
+% input container an error.
+% \begin{macrocode}
+\bool_new:N \l_@@_ignore_error_bool
+% \end{macrocode}
+% \end{variable}
+%
% \subsection{Utility functions}
%
% \begin{macro}[pTF, EXP]{\color_if_exist:n}
@@ -825,6 +833,7 @@
% \begin{macro}{\@@_parse:Nw}
% \begin{macro}{\@@_parse_loop_init:Nnn}
% \begin{macro}{\@@_parse_loop:w}
+% \begin{macro}{\@@_parse_loop_check:nn}
% \begin{macro}{\@@_parse_loop:nn}
% \begin{macro}{\@@_parse_gray:n, \@@_parse_std:n}
% \begin{macro}{\@@_parse_break:w}
@@ -936,18 +945,12 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_parse_loop:w #1 ! #2 ! #3 ! #4 ! #5 \s_@@_stop
{
- \bool_lazy_or:nnF
- { \tl_if_blank_p:n {#1} }
- { \int_compare_p:nNn {#1} = { 100 } }
+ \tl_if_blank:nF {#1}
{
- \int_compare:nNnTF {#1} = { 0 }
+ \bool_lazy_and:nnTF
+ { \fp_compare_p:nNn {#1} > { 0 } }
+ { \fp_compare_p:nNn {#1} < { 100 } }
{
- \tl_if_blank:nTF {#2}
- { \@@_extract:nNN { white } }
- { \@@_extract:nNN {#2} }
- \l_@@_model_tl \l_@@_value_tl
- }
- {
\use:x
{
\@@_parse_loop:nn {#1}
@@ -954,6 +957,7 @@
{ \tl_if_blank:nTF {#2} { white } {#2} }
}
}
+ { \@@_parse_loop_check:nn {#1} {#2} }
}
\tl_if_blank:nF {#3}
{ \@@_parse_loop:w #3 ! #4 ! #5 \s_@@_stop }
@@ -960,6 +964,28 @@
\@@_parse_end:
}
% \end{macrocode}
+% As these are unusual cases, we accept slower performance here for clearer
+% code: check for the error conditions, handle the boundary cases after
+% that.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_parse_loop_check:nn #1#2
+ {
+ \bool_if:NF \l_@@_ignore_error_bool
+ {
+ \bool_lazy_or:nnT
+ { \fp_compare_p:nNn {#1} < { 0 } }
+ { \fp_compare_p:nNn {#1} > { 100 } }
+ { \msg_error:nnnnn { color } { out-of-range } {#1} { 0 } { 100 } }
+ }
+ \fp_compare:nNnF {#1} > \c_zero_fp
+ {
+ \tl_if_blank:nTF {#2}
+ { \@@_extract:nNN { white } }
+ { \@@_extract:nNN {#2} }
+ \l_@@_model_tl \l_@@_value_tl
+ }
+ }
+% \end{macrocode}
% The \enquote{payload} of calculation in the loop first. If the model for
% the upcoming color is different from that of the existing (partial) color,
% convert the model. For |gray| the two are flipped round so that the outcome
@@ -1065,6 +1091,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \begin{macro}[EXP]
% {
@@ -1779,6 +1806,7 @@
\prop_if_in:cnF { l_@@_named_ #1 _prop } {##1}
{
\group_begin:
+ \bool_set_true:N \l_@@_ignore_error_bool
\tl_set:cn { l_@@_named_ #3 _tl } {##1}
\@@_parse:nN {#2} \l_@@_internal_tl
\exp_args:NNNV \group_end:
@@ -3116,6 +3144,13 @@
LaTeX~was~asked~to~define~a~new~color~model~called~'#1',~but~
this~color~model~already~exists.
}
+\msg_new:nnnn { color } { out-of-range }
+ { Input~value~#1~out~of~range~[#2,~#3]. }
+ {
+ LaTeX~was~expecting~a~value~in~the~range~[#2,~#3]~as~part~of~a~color,~
+ but~you~gave~#1.~LaTeX~will~assume~you~meant~the~limit~of~the~range~
+ and~continue.
+ }
\msg_new:nnnn { color } { separation-alternative-model }
{ Separation~color~space~'#1'~require~an~alternative~model. }
{
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -85,7 +85,7 @@
% require you to do updates, if the class changes.}}
%
% \author{\Team}
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
% \maketitle
% \tableofcontents
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3file.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3file.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -40,7 +40,7 @@
% {latex-team at latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
% \maketitle
%
% \begin{documentation}
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -40,7 +40,7 @@
% {latex-team at latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -40,7 +40,7 @@
% {latex-team at latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -40,7 +40,7 @@
% {latex-team at latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -40,7 +40,7 @@
% {latex-team at latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -40,7 +40,7 @@
% {latex-team at latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -40,7 +40,7 @@
% {latex-team at latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -40,7 +40,7 @@
% {latex-team at latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
% \maketitle
%
% \begin{documentation}
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -40,7 +40,7 @@
% {latex-team at latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
@@ -681,6 +681,8 @@
% can be accessed as \texttt{deg}.
% \end{variable}
%
+% \section{Scratch variables}
+%
% \begin{variable}[module = fp]{\l_tmpa_fp, \l_tmpb_fp}
% Scratch floating points for local assignment. These are never used by
% the kernel code, and so are safe for use with any \LaTeX3-defined
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3int.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3int.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3names.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3names.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
@@ -832,6 +832,7 @@
\@@_primitive:NN \dvivariable \tex_dvivariable:D
\@@_primitive:NN \eTeXglueshrinkorder \tex_eTeXglueshrinkorder:D
\@@_primitive:NN \eTeXgluestretchorder \tex_eTeXgluestretchorder:D
+ \@@_primitive:NN \endlocalcontrol \tex_endlocalcontrol:D
\@@_primitive:NN \etoksapp \tex_etoksapp:D
\@@_primitive:NN \etokspre \tex_etokspre:D
\@@_primitive:NN \exceptionpenalty \tex_exceptionpenalty:D
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3str.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3str.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
@@ -885,6 +885,8 @@
% \begin{macro}[EXP,pTF]{\@@_change_case_if_greek:n}
% \begin{macro}[EXP]{\@@_change_case_if_greek:n}
% \begin{macro}[EXP,pTF]{\@@_change_case_if_greek:n}
+% \begin{macro}[EXP,pTF]{\@@_change_case_if_greek_spacing_diacritic:n}
+% \begin{macro}[EXP]{\@@_change_case_if_greek_spacing_diacritic:n}
% \begin{macro}[EXP,pTF]{\@@_change_case_if_greek_accent:n}
% \begin{macro}[EXP]{\@@_change_case_if_greek_accent:n}
% \begin{macro}[EXP,pTF]{\@@_change_case_if_greek_diacritic:n}
@@ -903,19 +905,32 @@
% although necessarily the implementation is somewhat different. The
% \emph{ypogegrammeni} is filtered out here as it is not actually in the
% Greek range, so gets lost if we leave until later. The one Greek codepoint
-% we skip is the numeral sign: it's got an awkward NFD for \pdfTeX{} so is
-% best left unchanged.
+% we skip is the numeral sign and question mark: the first has an awkward NFD
+% for \pdfTeX{} so is best left unchanged, and the latter has issues concerning
+% how \texttt{LGR} outputs the input and output (differently!).
% \begin{macrocode}
\cs_new:Npn \@@_change_case_upper_el:nnnn #1#2#3#4
{
\bool_lazy_and:nnTF
{ \@@_change_case_if_greek_p:n {#4} }
- { ! \@@_codepoint_compare_p:nNn {#4} = { "0374 } }
{
- \exp_args:Ne \@@_change_case_upper_el:nnn
+ ! \bool_lazy_or_p:nn
+ { \@@_codepoint_compare_p:nNn {#4} = { "0374 } }
+ { \@@_codepoint_compare_p:nNn {#4} = { "037E } }
+ }
+ {
+ \@@_change_case_if_greek_spacing_diacritic:nTF {#4}
{
- \codepoint_to_nfd:n { \@@_codepoint_from_chars:Nw #4 }
+ \@@_change_case_store:n {#4}
+ \@@_change_case_loop:nnw
}
+ {
+ \exp_args:Ne \@@_change_case_upper_el:nnn
+ {
+ \codepoint_to_nfd:n
+ { \@@_codepoint_from_chars:Nw #4 }
+ }
+ }
{#2} {#3}
}
{
@@ -1247,6 +1262,84 @@
\fi:
\fi:
}
+\prg_new_conditional:Npnn \@@_change_case_if_greek_spacing_diacritic:n
+ #1 { TF }
+ {
+ \exp_args:Nf \@@_change_case_if_greek_spacing_diacritic:n
+ { \int_eval:n { \@@_codepoint_from_chars:Nw #1 } }
+ }
+\cs_new:Npn \@@_change_case_if_greek_spacing_diacritic:n #1
+ {
+ \if_int_compare:w #1 < "1FBD \exp_stop_f:
+ \if_int_compare:w #1 = "037A \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \prg_return_false:
+ \fi:
+ \else:
+ \if_int_compare:w #1 = "1FBD \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FBF \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FC0 \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FC1 \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FCD \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FCE \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FCF \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FDD \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FDE \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FDF \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FED \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FEE \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FEF \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FFD \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FFE \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \prg_return_false:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ }
\prg_new_conditional:Npnn \@@_change_case_if_greek_diacritic:n
#1 { TF , p }
{
@@ -1267,11 +1360,7 @@
\if_int_compare:w #1 = "0314 \exp_stop_f:
\prg_return_true:
\else:
- \if_int_compare:w #1 = "0343 \exp_stop_f:
- \prg_return_true:
- \else:
- \prg_return_false:
- \fi:
+ \prg_return_false:
\fi:
\fi:
\fi:
@@ -1351,6 +1440,8 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
% \begin{macro}[EXP]
% {\@@_change_case_boundary_upper_el:Nnnw, \@@_change_case_boundary_upper_el-x-iota:Nnnw}
% \begin{macro}[EXP]{\@@_change_case_boundary_upper_el:nnN}
@@ -1383,9 +1474,13 @@
}
\cs_new:Npn \@@_change_case_boundary_upper_el:nnn #1#2#3
{
- \bool_lazy_or:nnTF
- { \@@_codepoint_compare_p:nNn {#3} = { "03AE } }
- { \@@_codepoint_compare_p:nNn {#3} = { "1F22 } }
+ \bool_lazy_any:nTF
+ {
+ { \@@_codepoint_compare_p:nNn {#3} = { "0389 } }
+ { \@@_codepoint_compare_p:nNn {#3} = { "03AE } }
+ { \@@_codepoint_compare_p:nNn {#3} = { "1F22 } }
+ { \@@_codepoint_compare_p:nNn {#3} = { "1F2A } }
+ }
{ \@@_change_case_boundary_upper_el:nnnw {#1} {#2} {#3} }
{ \@@_change_case_loop:nnw {#1} {#2} #3 }
}
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3text.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3text.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3text.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3token.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3token.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-22}
+% \date{Released 2023-03-30}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def 2023-03-30 20:05:05 UTC (rev 66710)
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvipdfmx.def}{2023-01-16}{}
+ {l3backend-dvipdfmx.def}{2023-03-30}{}
{L3 backend support: dvipdfmx}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
@@ -66,21 +66,6 @@
\cs_new_protected:Npn \__kernel_backend_scope_end:
{ \__kernel_backend_literal:n { x:grestore } }
%% File: l3backend-color.dtx
-\cs_new_protected:Npn \__color_backend_pickup:N #1
- {
- \exp_args:NV \tl_if_head_is_space:nTF \current at color
- {
- \tl_set:Nn #1 { { gray } { 0 } }
- \msg_warning:nnx { color } { unhandled }
- { \current at color }
- }
- {
- \exp_last_unbraced:Nx \__color_backend_pickup:w
- { \current at color } \s__color_stop #1
- }
- }
-\cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3
- { \tl_set:Nn #3 { {#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
Modified: trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def 2023-03-30 20:05:05 UTC (rev 66710)
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvips.def}{2023-01-16}{}
+ {l3backend-dvips.def}{2023-03-30}{}
{L3 backend support: dvips}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
@@ -83,21 +83,6 @@
\cs_new_protected:Npn \__kernel_backend_scope_end:
{ \__kernel_backend_literal:n { ps:grestore } }
%% File: l3backend-color.dtx
-\cs_new_protected:Npn \__color_backend_pickup:N #1
- {
- \exp_args:NV \tl_if_head_is_space:nTF \current at color
- {
- \tl_set:Nn #1 { { gray } { 0 } }
- \msg_warning:nnx { color } { unhandled }
- { \current at color }
- }
- {
- \exp_last_unbraced:Nx \__color_backend_pickup:w
- { \current at color } \s__color_stop #1
- }
- }
-\cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3
- { \tl_set:Nn #3 { {#1} {#2} } }
\cs_new_protected:Npn \__color_backend_select_cmyk:n #1
{ \__color_backend_select:n { cmyk ~ #1 } }
\cs_new_protected:Npn \__color_backend_select_gray:n #1
Modified: trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def 2023-03-30 20:05:05 UTC (rev 66710)
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvisvgm.def}{2023-01-16}{}
+ {l3backend-dvisvgm.def}{2023-03-30}{}
{L3 backend support: dvisvgm}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
@@ -97,21 +97,6 @@
}
\cs_generate_variant:Nn \__kernel_backend_scope:n { x }
%% File: l3backend-color.dtx
-\cs_new_protected:Npn \__color_backend_pickup:N #1
- {
- \exp_args:NV \tl_if_head_is_space:nTF \current at color
- {
- \tl_set:Nn #1 { { gray } { 0 } }
- \msg_warning:nnx { color } { unhandled }
- { \current at color }
- }
- {
- \exp_last_unbraced:Nx \__color_backend_pickup:w
- { \current at color } \s__color_stop #1
- }
- }
-\cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3
- { \tl_set:Nn #3 { {#1} {#2} } }
\cs_new_protected:Npn \__color_backend_select_cmyk:n #1
{ \__color_backend_select:n { cmyk ~ #1 } }
\cs_new_protected:Npn \__color_backend_select_gray:n #1
Modified: trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def 2023-03-30 20:05:05 UTC (rev 66710)
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-luatex.def}{2023-01-16}{}
+ {l3backend-luatex.def}{2023-03-30}{}
{L3 backend support: PDF output (LuaTeX)}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
@@ -82,30 +82,6 @@
}
\cs_generate_variant:Nn \__kernel_backend_matrix:n { x }
%% File: l3backend-color.dtx
-\cs_new_protected:Npn \__color_backend_pickup:N #1
- {
- \exp_last_unbraced:Nx \__color_backend_pickup:w
- { \current at color } ~ 0 ~ 0 ~ 0 \s__color_stop #1
- }
-\cs_new_protected:Npn \__color_backend_pickup:w
- #1 ~ #2 ~ #3 ~ #4 ~ #5 ~ #6 \s__color_stop #7
- {
- \str_if_eq:nnTF {#2} { g }
- { \tl_set:Nn #7 { { gray } {#1} } }
- {
- \str_if_eq:nnTF {#4} { rg }
- { \tl_set:Nn #7 { { rgb } { #1 ~ #2 ~ #3 } } }
- {
- \str_if_eq:nnTF {#5} { k }
- { \tl_set:Nn #7 { { cmyk } { #1 ~ #2 ~ #3 ~ #4 } } }
- {
- \tl_set:Nn #1 { { gray } { 0 } }
- \msg_warning:nnx { color } { unhandled }
- { \current at color }
- }
- }
- }
- }
\int_new:N \l__color_backend_stack_int
\cs_new_protected:Npn \__kernel_color_backend_stack_init:Nnn #1#2#3
{
@@ -128,6 +104,8 @@
}
\tl_new:N \l__color_backend_fill_tl
\tl_new:N \l__color_backend_stroke_tl
+\tl_set:Nn \l__color_backend_fill_tl { 0 ~ g }
+\tl_set:Nn \l__color_backend_stroke_tl { 0 ~ G }
\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
@@ -343,6 +321,7 @@
\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:
+\lua_load_module:n {l3backend-luatex}
%% File: l3backend-box.dtx
\cs_new_protected:Npn \__box_backend_clip:N #1
{
Added: trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.lua (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.lua 2023-03-30 20:05:05 UTC (rev 66710)
@@ -0,0 +1,116 @@
+--
+-- This is file `l3backend-luatex.lua',
+-- generated with the docstrip utility.
+--
+-- The original source files were:
+--
+-- l3backend-color.dtx (with options: `lua')
+-- l3backend-opacity.dtx (with options: `lua')
+--
+-- Copyright (C) 2023 The LaTeX Project
+--
+-- It may be distributed and/or modified under the conditions of
+-- the LaTeX Project Public License (LPPL), either version 1.3c of
+-- this license or (at your option) any later version. The latest
+-- version of this license is in the file:
+--
+-- https://www.latex-project.org/lppl.txt
+--
+-- This file is part of the "l3backend bundle" (The Work in LPPL)
+-- and all files in that bundle must be distributed together.
+--
+-- File: l3backend-color.dtx
+local l = lpeg
+local spaces = l.P' '^0
+local digit16 = l.R('09', 'af', 'AF')
+
+local octet = digit16 * digit16 / function(s)
+ return string.format('%.3g ', tonumber(s, 16) / 255)
+end
+
+if luaotfload and luaotfload.set_transparent_colorstack then
+ local htmlcolor = l.Cs(octet * octet * octet * -1 * l.Cc'rg')
+ local color_export = {
+ token.create'tex_endlocalcontrol:D',
+ token.create'tex_hpack:D',
+ token.new(0, 1),
+ token.create'color_export:nnN',
+ token.new(0, 1),
+ '',
+ token.new(0, 2),
+ token.new(0, 1),
+ 'backend',
+ token.new(0, 2),
+ token.create'l_tmpa_tl',
+ token.create'exp_after:wN',
+ token.create'__color_select:nn',
+ token.create'l_tmpa_tl',
+ token.new(0, 2),
+ }
+ local group_end = token.create'group_end:'
+ local value = (1 - l.P'}')^0
+ luatexbase.add_to_callback('luaotfload.parse_color', function (value)
+ local html = htmlcolor:match(value)
+ if html then return html end
+
+ tex.runtoks(function()
+ token.get_next()
+ color_export[6] = value
+ tex.sprint(-2, color_export)
+ end)
+ local list = token.scan_list()
+ if not list.head or list.head.next
+ or list.head.subtype ~= node.subtype'pdf_colorstack' then
+ error'Unexpected backend behavior'
+ end
+ local cmd = list.head.data
+ node.free(list)
+ return cmd
+ end, 'l3color')
+end
+-- File: l3backend-opacity.dtx
+local pdfmanagement_active do
+ local pdfmanagement_if_active_p = token.create'pdfmanagement_if_active_p:'
+ local cmd = pdfmanagement_if_active_p.cmdname
+ if cmd == 'undefined_cs' then
+ pdfmanagement_active = false
+ else
+ token.put_next(pdfmanagement_if_active_p)
+ pdfmanagement_active = token.scan_int() ~= 0
+ end
+end
+
+if pdfmanagement_active and luaotfload and luaotfload.set_transparent_colorstack then
+ luaotfload.set_transparent_colorstack(token.create'c__opacity_backend_stack_int'.index)
+
+ local transparent_register = {
+ token.create'pdfmanagement_add:nnn',
+ token.new(0, 1),
+ 'Page/Resources/ExtGState',
+ token.new(0, 2),
+ token.new(0, 1),
+ '',
+ token.new(0, 2),
+ token.new(0, 1),
+ '<</ca ',
+ '',
+ '/CA ',
+ '',
+ '>>',
+ token.new(0, 2),
+ }
+ luatexbase.add_to_callback('luaotfload.parse_transparent', function(value)
+ value = (octet * -1):match(value)
+ if not value then
+ tex.error'Invalid transparency value'
+ return
+ end
+ value = value:sub(1, -2)
+ local result = 'opacity' .. value
+ tex.runtoks(function()
+ transparent_register[6], transparent_register[10], transparent_register[12] = result, value, value
+ tex.sprint(-2, transparent_register)
+ end)
+ return '/' .. result .. ' gs'
+ end, 'l3opacity')
+end
Property changes on: trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def 2023-03-30 20:05:05 UTC (rev 66710)
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-pdftex.def}{2023-01-16}{}
+ {l3backend-pdftex.def}{2023-03-30}{}
{L3 backend support: PDF output (pdfTeX)}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
@@ -82,30 +82,6 @@
}
\cs_generate_variant:Nn \__kernel_backend_matrix:n { x }
%% File: l3backend-color.dtx
-\cs_new_protected:Npn \__color_backend_pickup:N #1
- {
- \exp_last_unbraced:Nx \__color_backend_pickup:w
- { \current at color } ~ 0 ~ 0 ~ 0 \s__color_stop #1
- }
-\cs_new_protected:Npn \__color_backend_pickup:w
- #1 ~ #2 ~ #3 ~ #4 ~ #5 ~ #6 \s__color_stop #7
- {
- \str_if_eq:nnTF {#2} { g }
- { \tl_set:Nn #7 { { gray } {#1} } }
- {
- \str_if_eq:nnTF {#4} { rg }
- { \tl_set:Nn #7 { { rgb } { #1 ~ #2 ~ #3 } } }
- {
- \str_if_eq:nnTF {#5} { k }
- { \tl_set:Nn #7 { { cmyk } { #1 ~ #2 ~ #3 ~ #4 } } }
- {
- \tl_set:Nn #1 { { gray } { 0 } }
- \msg_warning:nnx { color } { unhandled }
- { \current at color }
- }
- }
- }
- }
\int_new:N \l__color_backend_stack_int
\cs_new_protected:Npn \__kernel_color_backend_stack_init:Nnn #1#2#3
{
@@ -128,6 +104,8 @@
}
\tl_new:N \l__color_backend_fill_tl
\tl_new:N \l__color_backend_stroke_tl
+\tl_set:Nn \l__color_backend_fill_tl { 0 ~ g }
+\tl_set:Nn \l__color_backend_stroke_tl { 0 ~ G }
\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
Modified: trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def 2023-03-30 20:05:05 UTC (rev 66710)
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-xetex.def}{2023-01-16}{}
+ {l3backend-xetex.def}{2023-03-30}{}
{L3 backend support: XeTeX}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
@@ -66,21 +66,6 @@
\cs_new_protected:Npn \__kernel_backend_scope_end:
{ \__kernel_backend_literal:n { x:grestore } }
%% File: l3backend-color.dtx
-\cs_new_protected:Npn \__color_backend_pickup:N #1
- {
- \exp_args:NV \tl_if_head_is_space:nTF \current at color
- {
- \tl_set:Nn #1 { { gray } { 0 } }
- \msg_warning:nnx { color } { unhandled }
- { \current at color }
- }
- {
- \exp_last_unbraced:Nx \__color_backend_pickup:w
- { \current at color } \s__color_stop #1
- }
- }
-\cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3
- { \tl_set:Nn #3 { {#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
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty 2023-03-30 20:05:05 UTC (rev 66710)
@@ -20,7 +20,7 @@
%%
%% File: l3benchmark.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3benchmark}{2023-01-24}{}
+\ProvidesExplPackage{l3benchmark}{2023-03-30}{}
{L3 Experimental benchmarking}
\fp_new:N \g_benchmark_duration_target_fp
\fp_gset:Nn \g_benchmark_duration_target_fp { 1 }
@@ -175,7 +175,7 @@
\tl_gset:Nn \g__benchmark_code_tl
{ \int_gadd:Nn \g__benchmark_duration_int { 0 } }
\__benchmark_aux:
- \fp_gset:Nn \g__benchmark_one_op_fp { max(\g_benchmark_time_fp, 1e-16) }
+ \fp_gset:Nn \g__benchmark_one_op_fp { max(\g_benchmark_time_fp, 1e-8) }
\int_gset:Nn \g__benchmark_duration_int
{ \fp_to_int:n { 65536 * \g_benchmark_duration_target_fp } }
}
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3bitset/l3bitset.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3bitset/l3bitset.sty 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3bitset/l3bitset.sty 2023-03-30 20:05:05 UTC (rev 66710)
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: l3bitset.dtx
-\ProvidesExplPackage{l3bitset}{2023-01-24}{}
+\ProvidesExplPackage{l3bitset}{2023-03-30}{}
{L3 Experimental bitset support}
\cs_new_protected:Npn \bitset_new:N #1
{
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty 2023-03-30 20:05:05 UTC (rev 66710)
@@ -28,7 +28,7 @@
%%
%% File: l3draw.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3draw}{2023-01-24}{}
+\ProvidesExplPackage{l3draw}{2023-03-30}{}
{L3 Experimental core drawing support}
\scan_new:N \s__draw_mark
\scan_new:N \s__draw_stop
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty 2023-03-30 20:05:05 UTC (rev 66710)
@@ -20,7 +20,7 @@
%%
%% File: l3graphics.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3graphics}{2023-01-24}{}
+\ProvidesExplPackage{l3graphics}{2023-03-30}{}
{L3 Experimental graphics inclusion support}
\dim_new:N \l__graphics_internal_dim
\ior_new:N \l__graphics_internal_ior
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty 2023-03-30 20:05:05 UTC (rev 66710)
@@ -20,7 +20,7 @@
%%
%% File: l3opacity.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3opacity}{2023-01-24}{}
+\ProvidesExplPackage{l3opacity}{2023-03-30}{}
{L3 Experimental opacity support}
\cs_new_protected:Npn \opacity_select:n #1
{ \__opacity_select:nN {#1} \__opacity_backend_select:n }
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty 2023-03-30 20:05:05 UTC (rev 66710)
@@ -20,7 +20,7 @@
%%
%% File: l3str-format.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3str-format}{2023-01-24}{}
+\ProvidesExplPackage{l3str-format}{2023-03-30}{}
{L3 Experimental string formatting}
\cs_generate_variant:Nn \use:nn { nf }
\cs_generate_variant:Nn \use:nnn { fnf }
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty 2023-03-30 20:05:05 UTC (rev 66710)
@@ -20,7 +20,7 @@
%%
%% File: l3sys-shell.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3sys-shell}{2023-01-24}{}
+\ProvidesExplPackage{l3sys-shell}{2023-03-30}{}
{L3 Experimental system shell functions}
\scan_new:N \s__sys_stop
\quark_new:N \q__sys_nil
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty 2023-03-30 20:05:05 UTC (rev 66710)
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: xcoffins.dtx
-\ProvidesExplPackage{xcoffins}{2023-01-24}{}
+\ProvidesExplPackage{xcoffins}{2023-03-30}{}
{L3 Experimental design level coffins}
\keys_define:nn { coffin }
{
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty 2023-03-30 20:05:05 UTC (rev 66710)
@@ -32,7 +32,7 @@
}%
\endinput
}
-\ProvidesExplPackage{l3galley}{2023-01-24}{}
+\ProvidesExplPackage{l3galley}{2023-03-30}{}
{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 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty 2023-03-30 20:05:05 UTC (rev 66710)
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: xgalley.dtx
-\ProvidesExplPackage{xgalley}{2023-01-24}{}
+\ProvidesExplPackage{xgalley}{2023-03-30}{}
{L3 Experimental galley}
\RequirePackage{xtemplate,l3galley}
\clist_new:N \l__galley_tmpa_clist
Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex 2023-03-30 20:05:05 UTC (rev 66710)
@@ -71,7 +71,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2023-02-22}%
+\def\ExplFileDate{2023-03-30}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -957,6 +957,7 @@
\__kernel_primitive:NN \dvivariable \tex_dvivariable:D
\__kernel_primitive:NN \eTeXglueshrinkorder \tex_eTeXglueshrinkorder:D
\__kernel_primitive:NN \eTeXgluestretchorder \tex_eTeXgluestretchorder:D
+ \__kernel_primitive:NN \endlocalcontrol \tex_endlocalcontrol:D
\__kernel_primitive:NN \etoksapp \tex_etoksapp:D
\__kernel_primitive:NN \etokspre \tex_etokspre:D
\__kernel_primitive:NN \exceptionpenalty \tex_exceptionpenalty:D
@@ -28485,6 +28486,7 @@
\int_new:N \l__color_internal_int
\tl_new:N \l__color_internal_tl
\scan_new:N \s__color_mark
+\bool_new:N \l__color_ignore_error_bool
\prg_new_conditional:Npnn \color_if_exist:n #1 { p , T, F, TF }
{
\prop_if_exist:cTF { l__color_named_ #1 _prop }
@@ -28651,18 +28653,12 @@
}
\cs_new_protected:Npn \__color_parse_loop:w #1 ! #2 ! #3 ! #4 ! #5 \s__color_stop
{
- \bool_lazy_or:nnF
- { \tl_if_blank_p:n {#1} }
- { \int_compare_p:nNn {#1} = { 100 } }
+ \tl_if_blank:nF {#1}
{
- \int_compare:nNnTF {#1} = { 0 }
+ \bool_lazy_and:nnTF
+ { \fp_compare_p:nNn {#1} > { 0 } }
+ { \fp_compare_p:nNn {#1} < { 100 } }
{
- \tl_if_blank:nTF {#2}
- { \__color_extract:nNN { white } }
- { \__color_extract:nNN {#2} }
- \l__color_model_tl \l__color_value_tl
- }
- {
\use:x
{
\__color_parse_loop:nn {#1}
@@ -28669,11 +28665,29 @@
{ \tl_if_blank:nTF {#2} { white } {#2} }
}
}
+ { \__color_parse_loop_check:nn {#1} {#2} }
}
\tl_if_blank:nF {#3}
{ \__color_parse_loop:w #3 ! #4 ! #5 \s__color_stop }
\__color_parse_end:
}
+\cs_new_protected:Npn \__color_parse_loop_check:nn #1#2
+ {
+ \bool_if:NF \l__color_ignore_error_bool
+ {
+ \bool_lazy_or:nnT
+ { \fp_compare_p:nNn {#1} < { 0 } }
+ { \fp_compare_p:nNn {#1} > { 100 } }
+ { \msg_error:nnnnn { color } { out-of-range } {#1} { 0 } { 100 } }
+ }
+ \fp_compare:nNnF {#1} > \c_zero_fp
+ {
+ \tl_if_blank:nTF {#2}
+ { \__color_extract:nNN { white } }
+ { \__color_extract:nNN {#2} }
+ \l__color_model_tl \l__color_value_tl
+ }
+ }
\cs_new_protected:Npn \__color_parse_loop:nn #1#2
{
\color_if_exist:nTF {#2}
@@ -29184,6 +29198,7 @@
\prop_if_in:cnF { l__color_named_ #1 _prop } {##1}
{
\group_begin:
+ \bool_set_true:N \l__color_ignore_error_bool
\tl_set:cn { l__color_named_ #3 _tl } {##1}
\__color_parse:nN {#2} \l__color_internal_tl
\exp_args:NNNV \group_end:
@@ -30109,6 +30124,13 @@
LaTeX~was~asked~to~define~a~new~color~model~called~'#1',~but~
this~color~model~already~exists.
}
+\msg_new:nnnn { color } { out-of-range }
+ { Input~value~#1~out~of~range~[#2,~#3]. }
+ {
+ LaTeX~was~expecting~a~value~in~the~range~[#2,~#3]~as~part~of~a~color,~
+ but~you~gave~#1.~LaTeX~will~assume~you~meant~the~limit~of~the~range~
+ and~continue.
+ }
\msg_new:nnnn { color } { separation-alternative-model }
{ Separation~color~space~'#1'~require~an~alternative~model. }
{
@@ -33503,12 +33525,24 @@
{
\bool_lazy_and:nnTF
{ \__text_change_case_if_greek_p:n {#4} }
- { ! \__text_codepoint_compare_p:nNn {#4} = { "0374 } }
{
- \exp_args:Ne \__text_change_case_upper_el:nnn
+ ! \bool_lazy_or_p:nn
+ { \__text_codepoint_compare_p:nNn {#4} = { "0374 } }
+ { \__text_codepoint_compare_p:nNn {#4} = { "037E } }
+ }
+ {
+ \__text_change_case_if_greek_spacing_diacritic:nTF {#4}
{
- \codepoint_to_nfd:n { \__text_codepoint_from_chars:Nw #4 }
+ \__text_change_case_store:n {#4}
+ \__text_change_case_loop:nnw
}
+ {
+ \exp_args:Ne \__text_change_case_upper_el:nnn
+ {
+ \codepoint_to_nfd:n
+ { \__text_codepoint_from_chars:Nw #4 }
+ }
+ }
{#2} {#3}
}
{
@@ -33805,6 +33839,84 @@
\fi:
\fi:
}
+\prg_new_conditional:Npnn \__text_change_case_if_greek_spacing_diacritic:n
+ #1 { TF }
+ {
+ \exp_args:Nf \__text_change_case_if_greek_spacing_diacritic:n
+ { \int_eval:n { \__text_codepoint_from_chars:Nw #1 } }
+ }
+\cs_new:Npn \__text_change_case_if_greek_spacing_diacritic:n #1
+ {
+ \if_int_compare:w #1 < "1FBD \exp_stop_f:
+ \if_int_compare:w #1 = "037A \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \prg_return_false:
+ \fi:
+ \else:
+ \if_int_compare:w #1 = "1FBD \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FBF \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FC0 \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FC1 \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FCD \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FCE \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FCF \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FDD \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FDE \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FDF \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FED \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FEE \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FEF \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FFD \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "1FFE \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \prg_return_false:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ }
\prg_new_conditional:Npnn \__text_change_case_if_greek_diacritic:n
#1 { TF , p }
{
@@ -33825,11 +33937,7 @@
\if_int_compare:w #1 = "0314 \exp_stop_f:
\prg_return_true:
\else:
- \if_int_compare:w #1 = "0343 \exp_stop_f:
- \prg_return_true:
- \else:
- \prg_return_false:
- \fi:
+ \prg_return_false:
\fi:
\fi:
\fi:
@@ -33903,9 +34011,13 @@
}
\cs_new:Npn \__text_change_case_boundary_upper_el:nnn #1#2#3
{
- \bool_lazy_or:nnTF
- { \__text_codepoint_compare_p:nNn {#3} = { "03AE } }
- { \__text_codepoint_compare_p:nNn {#3} = { "1F22 } }
+ \bool_lazy_any:nTF
+ {
+ { \__text_codepoint_compare_p:nNn {#3} = { "0389 } }
+ { \__text_codepoint_compare_p:nNn {#3} = { "03AE } }
+ { \__text_codepoint_compare_p:nNn {#3} = { "1F22 } }
+ { \__text_codepoint_compare_p:nNn {#3} = { "1F2A } }
+ }
{ \__text_change_case_boundary_upper_el:nnnw {#1} {#2} {#3} }
{ \__text_change_case_loop:nnw {#1} {#2} #3 }
}
@@ -35605,8 +35717,10 @@
{
{ pdftex }
{
- \fp_eval:n { round(\int_use:N \tex_pdftexversion:D / 100 , 2) }
+ \int_div_truncate:nn { \tex_pdftexversion:D } { 100 }
.
+ \int_mod:nn { \tex_pdftexversion:D } { 100 }
+ .
\tex_pdftexrevision:D
}
{ ptex }
@@ -35624,8 +35738,10 @@
}
{ luatex }
{
- \fp_eval:n { round(\int_use:N \tex_luatexversion:D / 100, 2) }
+ \int_div_truncate:nn { \tex_luatexversion:D } { 100 }
.
+ \int_mod:nn { \tex_luatexversion:D } { 100 }
+ .
\tex_luatexrevision:D
}
{ uptex }
Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex 2023-03-30 20:05:05 UTC (rev 66710)
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2023-02-22}%
+\def\ExplFileDate{2023-03-30}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\catcode`\_=11
Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx 2023-03-30 20:05:05 UTC (rev 66710)
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2023-02-22}%
+\def\ExplFileDate{2023-03-30}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\catcode`\_=11
Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.sty 2023-03-30 20:02:45 UTC (rev 66709)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.sty 2023-03-30 20:05:05 UTC (rev 66710)
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2023-02-22}%
+\def\ExplFileDate{2023-03-30}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%
More information about the tex-live-commits
mailing list.