summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-05-18 20:40:47 +0000
committerKarl Berry <karl@freefriends.org>2020-05-18 20:40:47 +0000
commit64ff205837dfa8fa805e4e3edde437799e630463 (patch)
tree6b66498a143a61c319744301dc0e974fb73d2884
parent2820c5a1c2503809a033a87ae1b070a03c753dba (diff)
l3experimental (18may20)
git-svn-id: svn://tug.org/texlive/trunk@55205 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md8
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/README.md4
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdfbin314019 -> 314627 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3cctab/l3cctab.pdfbin337341 -> 337933 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3color/l3color.pdfbin349685 -> 350289 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdfbin624175 -> 625771 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdfbin491117 -> 491703 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdfbin362861 -> 363473 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf-code.pdfbin277030 -> 278894 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf.pdfbin349545 -> 351156 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdfbin344664 -> 345275 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdfbin311429 -> 312114 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdfbin372664 -> 373261 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdfbin385522 -> 386128 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdfbin285447 -> 286048 bytes
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3cctab/l3cctab.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3color/l3color.dtx87
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx18
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx18
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx16
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx29
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx23
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3pdf/l3pdf.dtx41
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx50
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx39
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx8
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty73
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty53
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty15
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3pdf/l3pdf.sty23
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty26
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty15
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty2
45 files changed, 344 insertions, 240 deletions
diff --git a/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
index ccdcd90dfe4..f457a0069d5 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
@@ -7,6 +7,11 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2020-05-18]
+
+### Added
+- `\pdf_object_if_exist:n(TF)`
+
## [2020-01-12]
### Changed
@@ -122,7 +127,8 @@ this project uses date-based 'snapshot' version identifiers.
- 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/2020-01-12...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2020-05-18...HEAD
+[2020-05-18]: https://github.com/latex3/latex3/compare/2020-01-12...2020-05-18
[2020-01-12]: https://github.com/latex3/latex3/compare/2019-10-11...2020-01-12
[2019-10-11]: https://github.com/latex3/latex3/compare/2019-09-28...2019-10-11
[2019-09-28]: https://github.com/latex3/latex3/compare/2019-09-19...2019-09-28
diff --git a/Master/texmf-dist/doc/latex/l3experimental/README.md b/Master/texmf-dist/doc/latex/l3experimental/README.md
index 4202fb71e68..fd1dc7c09e7 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/README.md
+++ b/Master/texmf-dist/doc/latex/l3experimental/README.md
@@ -1,7 +1,7 @@
Experimental LaTeX3 Concepts
============================
-Release 2020-01-12
+Release 2020-05-18
Overview
--------
@@ -142,6 +142,6 @@ the [LaTeX-L list](#Discussion) should be used.
-----
-<p>Copyright (C) 1998-2011,2015-2020 The LaTeX3 Project <br />
+<p>Copyright (C) 1998-2004,2008-2012,2014-2020 The LaTeX3 Project <br />
<a href="http://latex-project.org/">http://latex-project.org/</a> <br />
All rights reserved.</p>
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
index 1fd8c716f38..a63753aa455 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3cctab/l3cctab.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3cctab/l3cctab.pdf
index 00a402e93e4..ecdbbe71529 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3cctab/l3cctab.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3cctab/l3cctab.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3color/l3color.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3color/l3color.pdf
index 1c7f8f31538..cfffa89396f 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3color/l3color.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3color/l3color.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
index 296561bb057..58ec9c8866e 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
index ed46ba5f7f3..e68c0a0a77b 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf
index 91fd6d81c43..61d989c0ad7 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf-code.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf-code.pdf
index 7f232d74e57..33d08d4d7bc 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf-code.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf.pdf
index c223f4db7c6..2afe2f9eeda 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
index b84115d4b9b..dae19872df2 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf
index 59880cbf58b..68a82d4a4d1 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf b/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
index adf53b40ea1..289ba3c15e8 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf b/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
index 83e56ffd2c3..2c4091dce6a 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf b/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
index fd0cb034f0d..20cf474c393 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx b/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
index 5383ac46247..9794e24e5f7 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -130,7 +130,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3benchmark}{2020-01-12}{}
+\ProvidesExplPackage{l3benchmark}{2020-05-18}{}
{L3 Experimental benchmarking}
%</package>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3cctab/l3cctab.dtx b/Master/texmf-dist/source/latex/l3experimental/l3cctab/l3cctab.dtx
index f7418e117f6..51bbf90bf03 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3cctab/l3cctab.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3cctab/l3cctab.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -171,7 +171,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3cctab}{2020-01-12}{}
+\ProvidesExplPackage{l3cctab}{2020-05-18}{}
{L3 Experimental category code tables}
%</package>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3color/l3color.dtx b/Master/texmf-dist/source/latex/l3experimental/l3color/l3color.dtx
index de6616acf3d..9438e8110f3 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3color/l3color.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3color/l3color.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -243,7 +243,7 @@
% \cs{color_parse:nN} \Arg{color expression} \Arg{tl}
% \end{syntax}
% Parses the \meta{color expression} as described above, and sets the
-% \meta{tl} the the equivalent \meta{core color representation}
+% \meta{tl} to the equivalent \meta{core color representation}
% (used at the backend level and based on \texttt{dvips} color
% representation).
% \end{function}
@@ -267,7 +267,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3color}{2020-01-12}{}
+\ProvidesExplPackage{l3color}{2020-05-18}{}
{L3 Experimental color support}
%</package>
% \end{macrocode}
@@ -300,6 +300,13 @@
% \end{macrocode}
% \end{variable}
%
+% \begin{variable}{\s_@@_mark}
+% Internal scan marks. \cs{s_@@_stop} is already defined in \pkg{l3color-base}.
+% \begin{macrocode}
+\scan_new:N \s_@@_mark
+% \end{macrocode}
+% \end{variable}
+%
% \subsection{Utility functions}
%
% \begin{macro}[int, TF, EXP]{\@@_if_defined:n}
@@ -328,10 +335,10 @@
\@@_extract:NNw
\exp_after:wN \exp_after:wN \exp_after:wN #2
\exp_after:wN \exp_after:wN \exp_after:wN #3
- \cs:w l_@@_named_ #1 _tl \cs_end: \q_stop
+ \cs:w l_@@_named_ #1 _tl \cs_end: \s_@@_stop
}
\cs_generate_variant:Nn \@@_extract:nNN { V }
-\cs_new_protected:Npn \@@_extract:NNw #1#2 #3 ~ #4 \q_stop
+\cs_new_protected:Npn \@@_extract:NNw #1#2 #3 ~ #4 \s_@@_stop
{
\tl_set:Nn #1 {#3}
\tl_set:Nn #2 {#4}
@@ -366,18 +373,18 @@
\str_if_eq:nnT {#1} { spot } % TO DO!!!
{ }
\tl_set:Nx #4
- { \use:c { @@_convert_ #1 _ #2 :w } #3 ~ 0 ~ 0 ~ 0 \q_stop }
+ { \use:c { @@_convert_ #1 _ #2 :w } #3 ~ 0 ~ 0 ~ 0 \s_@@_stop }
}
\cs_generate_variant:Nn \@@_convert:nnnN { nnV }
-\cs_new:Npn \@@_convert_gray_rgb:w #1 ~ #2 \q_stop
+\cs_new:Npn \@@_convert_gray_rgb:w #1 ~ #2 \s_@@_stop
{ #1 ~ #1 ~ #1 }
-\cs_new:Npn \@@_convert_gray_cmyk:w #1 ~ #2 \q_stop
+\cs_new:Npn \@@_convert_gray_cmyk:w #1 ~ #2 \s_@@_stop
{ 0 ~ 0 ~ 0 ~ \fp_eval:n { 1 - #1 } }
% \end{macrocode}
% These rather odd values are based on \textsc{ntsc} television: the set are
% used for the |cmyk| conversion.
% \begin{macrocode}
-\cs_new:Npn \@@_convert_rgb_gray:w #1 ~ #2 ~ #3 ~ #4 \q_stop
+\cs_new:Npn \@@_convert_rgb_gray:w #1 ~ #2 ~ #3 ~ #4 \s_@@_stop
{ \fp_eval:n { 0.3 * #1 + 0.59 * #2 + 0.11 * #3 } }
% \end{macrocode}
% The conversion from |rgb| to |cmyk| is the most complex: a two-step
@@ -387,7 +394,7 @@
% Moreover, as the likelihood of anyone using a non-unitary matrix here is
% tiny, we simplify and treat those two concepts as no-ops.
% \begin{macrocode}
-\cs_new:Npn \@@_convert_rgb_cmyk:w #1 ~ #2 ~ #3 ~ #4 \q_stop
+\cs_new:Npn \@@_convert_rgb_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s_@@_stop
{
\exp_args:Nf \@@_convert_rgb_cmyk:nnnn
{ \fp_eval:n { min ( 1 - #1 , 1 - #2 , 1 - #3 ) } } {#1} {#2} {#3}
@@ -399,9 +406,9 @@
\fp_eval:n { min ( 1 , max ( 0 , 1 - #4 - #1 ) ) } \c_space_tl
#1
}
-\cs_new:Npn \@@_convert_cmyk_gray:w #1 ~ #2 ~ #3 ~ #4 ~ #5 \q_stop
+\cs_new:Npn \@@_convert_cmyk_gray:w #1 ~ #2 ~ #3 ~ #4 ~ #5 \s_@@_stop
{ \fp_eval:n { 1 - min ( 1 , 0.3 * #1 + 0.59 * #2 + 0.11 * #3 + #4 ) } }
-\cs_new:Npn \@@_convert_cmyk_rgb:w #1 ~ #2 ~ #3 ~ #4 ~ #5 \q_stop
+\cs_new:Npn \@@_convert_cmyk_rgb:w #1 ~ #2 ~ #3 ~ #4 ~ #5 \s_@@_stop
{
\fp_eval:n { 1 - min ( 1 , #1 + #4 ) } \c_space_tl
\fp_eval:n { 1 - min ( 1 , #2 + #4 ) } \c_space_tl
@@ -464,10 +471,10 @@
{
\tl_if_exist:cTF { l_@@_named_ #1 _tl }
{ \tl_set_eq:Nc #2 { l_@@_named_ #1 _tl } }
- { \@@_parse:Nw #2#1 ! \q_stop }
+ { \@@_parse:Nw #2#1 ! \s_@@_stop }
\@@_check_model:N #2
}
-\cs_new_protected:Npn \@@_parse:Nw #1#2 ! #3 \q_stop
+\cs_new_protected:Npn \@@_parse:Nw #1#2 ! #3 \s_@@_stop
{
\@@_if_defined:nTF {#2}
{
@@ -489,7 +496,7 @@
{
\group_begin:
\@@_extract:nNN {#2} \l_@@_model_tl \l_@@_value_tl
- \@@_parse_loop:w #3 ! ! ! ! \q_stop
+ \@@_parse_loop:w #3 ! ! ! ! \s_@@_stop
\tl_set:Nx \l_@@_internal_tl
{ \l_@@_model_tl \c_space_tl \l_@@_value_tl }
\exp_args:NNNV \group_end:
@@ -507,7 +514,7 @@
% sorted out by checking if we have further data to process: in contrast
% to \pkg{xcolor}, we don't allow |!!| so the test can be simplified.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_parse_loop:w #1 ! #2 ! #3 ! #4 ! #5 \q_stop
+\cs_new_protected:Npn \@@_parse_loop:w #1 ! #2 ! #3 ! #4 ! #5 \s_@@_stop
{
\bool_lazy_or:nnF
{ \tl_if_blank_p:n {#1} }
@@ -529,7 +536,7 @@
}
}
\tl_if_blank:nF {#3}
- { \@@_parse_loop:w #3 ! #4 ! #5 \q_stop }
+ { \@@_parse_loop:w #3 ! #4 ! #5 \s_@@_stop }
\@@_parse_end:
}
% \end{macrocode}
@@ -594,19 +601,19 @@
\cs_new:Npn \@@_parse_mix:nNnn #1#2#3#4
{
\use:c { @@_parse_mix_ #2 :nw } {#1}
- #3 \q_mark #4 \q_stop
+ #3 \s_@@_mark #4 \s_@@_stop
}
-\cs_new:Npn \@@_parse_mix_gray:nw #1#2 \q_mark #3 \q_stop
+\cs_new:Npn \@@_parse_mix_gray:nw #1#2 \s_@@_mark #3 \s_@@_stop
{ \fp_eval:n { #2 * #1 + #3 * ( 1 - #1 ) } }
\cs_new:Npn \@@_parse_mix_rgb:nw
- #1#2 ~ #3 ~ #4 \q_mark #5 ~ #6 ~ #7 \q_stop
+ #1#2 ~ #3 ~ #4 \s_@@_mark #5 ~ #6 ~ #7 \s_@@_stop
{
\fp_eval:n { #2 * #1 + #5 * ( 1 - #1 ) } \c_space_tl
\fp_eval:n { #3 * #1 + #6 * ( 1 - #1 ) } \c_space_tl
\fp_eval:n { #4 * #1 + #7 * ( 1 - #1 ) }
}
\cs_new:Npn \@@_parse_mix_cmyk:nw
- #1#2 ~ #3 ~ #4 ~ #5 \q_mark #6 ~ #7 ~ #8 ~ #9 \q_stop
+ #1#2 ~ #3 ~ #4 ~ #5 \s_@@_mark #6 ~ #7 ~ #8 ~ #9 \s_@@_stop
{
\fp_eval:n { #2 * #1 + #6 * ( 1 - #1 ) } \c_space_tl
\fp_eval:n { #3 * #1 + #7 * ( 1 - #1 ) } \c_space_tl
@@ -636,27 +643,27 @@
% \begin{macro}[EXP]{\@@_parse_spot_aux:w}
% Turn the input into internal form, also tidying up the number quickly.
% \begin{macrocode}
-\cs_new:Npn \@@_parse_model_gray:w #1 , #2 \q_stop { \@@_parse_number:n {#1} }
-\cs_new:Npn \@@_parse_model_rgb:w #1 , #2 , #3 , #4 \q_stop
+\cs_new:Npn \@@_parse_model_gray:w #1 , #2 \s_@@_stop { \@@_parse_number:n {#1} }
+\cs_new:Npn \@@_parse_model_rgb:w #1 , #2 , #3 , #4 \s_@@_stop
{
- \@@_parse_number:n {#1} ~
+ \@@_parse_number:n {#1} ~
\@@_parse_number:n {#2} ~
\@@_parse_number:n {#3}
}
-\cs_new:Npn \@@_parse_model_cmyk:w #1 , #2 , #3 , #4 , #5 \q_stop
+\cs_new:Npn \@@_parse_model_cmyk:w #1 , #2 , #3 , #4 , #5 \s_@@_stop
{
- \@@_parse_number:n {#1} ~
+ \@@_parse_number:n {#1} ~
\@@_parse_number:n {#2} ~
\@@_parse_number:n {#3} ~
\@@_parse_number:n {#4}
}
-\cs_new:Npn \@@_parse_model_spot:w #1 , #2 \q_stop
- { \@@_parse_spot_aux:w #1 ! 100 ! \q_stop }
-\cs_new:Npn \@@_parse_spot_aux:w #1 ! #2 ! #3 \q_stop
+\cs_new:Npn \@@_parse_model_spot:w #1 , #2 \s_@@_stop
+ { \@@_parse_spot_aux:w #1 ! 100 ! \s_@@_stop }
+\cs_new:Npn \@@_parse_spot_aux:w #1 ! #2 ! #3 \s_@@_stop
{ #1 ~ \fp_eval:n { #2 / 100 } }
\cs_new:Npn \@@_parse_number:n #1
- { \@@_parse_number:w #1 . 0 . \q_stop }
-\cs_new:Npn \@@_parse_number:w #1 . #2 . #3 \q_stop
+ { \@@_parse_number:w #1 . 0 . \s_@@_stop }
+\cs_new:Npn \@@_parse_number:w #1 . #2 . #3 \s_@@_stop
{ \tl_if_blank:nTF {#1} { 0 } {#1} . #2 }
% \end{macrocode}
% \end{macro}
@@ -681,7 +688,7 @@
{
\tl_if_empty:NF \l_color_fixed_model_tl
{
- \exp_after:wN \@@_check_model:w #1 \q_stop
+ \exp_after:wN \@@_check_model:w #1 \s_@@_stop
\tl_if_eq:NNF \l_@@_model_tl \l_color_fixed_model_tl
{
\@@_convert:VVN \l_@@_model_tl \l_color_fixed_model_tl
@@ -691,7 +698,7 @@
{ \l_color_fixed_model_tl \c_space_tl \l_@@_value_tl }
}
}
-\cs_new_protected:Npn \@@_check_model:w #1 ~ #2 \q_stop
+\cs_new_protected:Npn \@@_check_model:w #1 ~ #2 \s_@@_stop
{
\tl_set:Nn \l_@@_model_tl {#1}
\tl_set:Nn \l_@@_value_tl {#2}
@@ -743,7 +750,7 @@
\cs_if_exist:cTF { @@_parse_model_ #1 :w }
{
\tl_set:Nx #3
- { #1 ~ \use:c { @@_parse_model_ #1 :w } #2 , 0 , 0 , 0 , 0 \q_stop }
+ { #1 ~ \use:c { @@_parse_model_ #1 :w } #2 , 0 , 0 , 0 , 0 \s_@@_stop }
\@@_check_model:N #3
}
{
@@ -848,21 +855,21 @@
{#1}
{
\@@_if_defined:nTF {#1}
- { \exp_last_unbraced:Nv \@@_show:w { l_@@_named_ #1 _tl } \q_stop }
+ { \exp_last_unbraced:Nv \@@_show:w { l_@@_named_ #1 _tl } \s_@@_stop }
{ }
}
{ }
{ }
}
-\cs_new:Npn \@@_show:w #1 ~ #2 \q_stop
+\cs_new:Npn \@@_show:w #1 ~ #2 \s_@@_stop
{
\msg_show_item_unbraced:nn { model } {#1}
\exp_args:Nnf \msg_show_item_unbraced:nn { value }
- { \use:c { @@_show_ #1 :w } #2 \q_stop }
+ { \use:c { @@_show_ #1 :w } #2 \s_@@_stop }
}
-\cs_new:Npn \@@_show_gray:w #1 \q_stop { #1 }
-\cs_new:Npn \@@_show_rgb:w #1 ~ #2 ~ #3 \q_stop { #1 ,~ #2 ,~ #3 }
-\cs_new:Npn \@@_show_cmyk:w #1 ~ #2 ~ #3 ~ #4 \q_stop { #1 ,~ #2 ,~ #3 ,~ #4 }
+\cs_new:Npn \@@_show_gray:w #1 \s_@@_stop { #1 }
+\cs_new:Npn \@@_show_rgb:w #1 ~ #2 ~ #3 \s_@@_stop { #1 ,~ #2 ,~ #3 }
+\cs_new:Npn \@@_show_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s_@@_stop { #1 ,~ #2 ,~ #3 ,~ #4 }
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
index 572b4f2192a..b1c1b8f9bba 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx
index 53c221d69e2..1711561dc72 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
index 846043faa45..1d79852ddc1 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
index dccb1fb6772..6874d149ae1 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -116,8 +116,8 @@
{#1}
}
\cs_new:Npn \@@_point_process_auxi:nn #1#2
- { \@@_point_process_auxii:nw {#2} #1 \q_stop }
-\cs_new:Npn \@@_point_process_auxii:nw #1 #2 , #3 \q_stop
+ { \@@_point_process_auxii:nw {#2} #1 \s_@@_stop }
+\cs_new:Npn \@@_point_process_auxii:nw #1 #2 , #3 \s_@@_stop
{ #1 {#2} {#3} }
\cs_new:Npn \@@_point_process:nnn #1#2#3
{
@@ -127,8 +127,8 @@
{#1}
}
\cs_new:Npn \@@_point_process_auxiii:nnn #1#2#3
- { \@@_point_process_auxiv:nw {#3} #1 \q_mark #2 \q_stop }
-\cs_new:Npn \@@_point_process_auxiv:nw #1 #2 , #3 \q_mark #4 , #5 \q_stop
+ { \@@_point_process_auxiv:nw {#3} #1 \s_@@_mark #2 \s_@@_stop }
+\cs_new:Npn \@@_point_process_auxiv:nw #1 #2 , #3 \s_@@_mark #4 , #5 \s_@@_stop
{ #1 {#2} {#3} {#4} {#5} }
\cs_new:Npn \@@_point_process:nnnn #1#2#3#4
{
@@ -139,9 +139,9 @@
{#1}
}
\cs_new:Npn \@@_point_process_auxv:nnnn #1#2#3#4
- { \@@_point_process_auxvi:nw {#4} #1 \q_mark #2 \q_mark #3 \q_stop }
+ { \@@_point_process_auxvi:nw {#4} #1 \s_@@_mark #2 \s_@@_mark #3 \s_@@_stop }
\cs_new:Npn \@@_point_process_auxvi:nw
- #1 #2 , #3 \q_mark #4 , #5 \q_mark #6 , #7 \q_stop
+ #1 #2 , #3 \s_@@_mark #4 , #5 \s_@@_mark #6 , #7 \s_@@_stop
{ #1 {#2} {#3} {#4} {#5} {#6} {#7} }
\cs_new:Npn \@@_point_process:nnnnn #1#2#3#4#5
{
@@ -155,10 +155,10 @@
\cs_new:Npn \@@_point_process_auxvii:nnnnn #1#2#3#4#5
{
\@@_point_process_auxviii:nw
- {#5} #1 \q_mark #2 \q_mark #3 \q_mark #4 \q_stop
+ {#5} #1 \s_@@_mark #2 \s_@@_mark #3 \s_@@_mark #4 \s_@@_stop
}
\cs_new:Npn \@@_point_process_auxviii:nw
- #1 #2 , #3 \q_mark #4 , #5 \q_mark #6 , #7 \q_mark #8 , #9 \q_stop
+ #1 #2 , #3 \s_@@_mark #4 , #5 \s_@@_mark #6 , #7 \s_@@_mark #8 , #9 \s_@@_stop
{ #1 {#2} {#3} {#4} {#5} {#6} {#7} {#8} {#9} }
% \end{macrocode}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
index 704d80652ff..13592541066 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
index ce3b8b1ac80..ca1f161df56 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -326,8 +326,8 @@
\tl_build_get:NN \g_@@_softpath_main_tl \l_@@_softpath_internal_tl
\exp_after:wN \@@_softpath_round_loop:Nnn
\l_@@_softpath_internal_tl
- \q_recursion_tail ? ?
- \q_recursion_stop
+ \q_@@_recursion_tail ? ?
+ \q_@@_recursion_stop
\group_end:
}
\bool_gset_false:N \g_@@_softpath_corners_bool
@@ -342,7 +342,7 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_softpath_round_loop:Nnn #1#2#3
{
- \quark_if_recursion_tail_stop_do:Nn #1 { \@@_softpath_round_end: }
+ \@@_if_recursion_tail_stop_do:Nn #1 { \@@_softpath_round_end: }
\token_if_eq_meaning:NNTF #1 \@@_softpath_roundpoint_op:nn
{ \@@_softpath_round_action:nn {#2} {#3} }
{
@@ -505,7 +505,7 @@
\cs_new:Npn \@@_softpath_round_calc:nnnnnn #1#2#3#4#5#6
{
\@@_softpath_round_calc:nnnnw {#3} {#4} {#5} {#6}
- #1 \q_mark #2 \q_stop
+ #1 \s_@@_mark #2 \s_@@_stop
}
\cs_generate_variant:Nn \@@_softpath_round_calc:nnnnnn { fV }
% \end{macrocode}
@@ -513,7 +513,7 @@
% quadratic Bézier curve.
% \begin{macrocode}
\cs_new:Npn \@@_softpath_round_calc:nnnnw
- #1#2#3#4 #5 , #6 \q_mark #7 , #8 \q_stop
+ #1#2#3#4 #5 , #6 \s_@@_mark #7 , #8 \s_@@_stop
{
{#5} {#6}
\exp_not:N \@@_softpath_curveto_opi:nn
@@ -556,7 +556,7 @@
\exp_not:N \exp_after:wN
\exp_not:N \@@_softpath_round_close:w
\exp_not:N \l_@@_softpath_curve_end_tl
- \exp_not:N \q_stop
+ \s_@@_stop
}
\use:x
{
@@ -567,7 +567,7 @@
\exp_not:N \exp_after:wN
\exp_not:N \@@_softpath_round_close:w
\exp_not:N \l_@@_softpath_curve_end_tl
- \exp_not:N \q_stop
+ \s_@@_stop
}
}
}
@@ -576,7 +576,7 @@
\exp_after:wN \use_none:n \l_@@_softpath_move_tl
}
}
-\cs_new:Npn \@@_softpath_round_close:w #1 , #2 \q_stop { {#1} {#2} }
+\cs_new:Npn \@@_softpath_round_close:w #1 , #2 \s_@@_stop { {#1} {#2} }
% \end{macrocode}
% Tidy up the parts of the path, complete the built token list and put
% it back into action.
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
index 658982a49b9..74f4f6a0720 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -177,17 +177,17 @@
\@@_color_aux:Vn \l_@@_color_tmp_tl {#1}
}
\cs_new_protected:Npn \@@_color_aux:nn #1#2
- { \@@_color:nw {#2} #1 \q_stop }
+ { \@@_color:nw {#2} #1 \s_@@_stop }
\cs_generate_variant:Nn \@@_color_aux:nn { V }
-\cs_new_protected:Npn \@@_color:nw #1#2 ~ #3 \q_stop
- { \use:c { @@_color_ #2 :nw } {#1} #3 \q_stop }
-\cs_new_protected:Npn \@@_color_cmyk:nw #1#2 ~ #3 ~ #4 ~ #5 \q_stop
+\cs_new_protected:Npn \@@_color:nw #1#2 ~ #3 \s_@@_stop
+ { \use:c { @@_color_ #2 :nw } {#1} #3 \s_@@_stop }
+\cs_new_protected:Npn \@@_color_cmyk:nw #1#2 ~ #3 ~ #4 ~ #5 \s_@@_stop
{ \use:c { @@_backend_color_ #1 _cmyk:nnnn } {#2} {#3} {#4} {#5} }
-\cs_new_protected:Npn \@@_color_gray:nw #1#2 \q_stop
+\cs_new_protected:Npn \@@_color_gray:nw #1#2 \s_@@_stop
{ \use:c { @@_backend_color_ #1 _gray:n } {#2} }
-\cs_new_protected:Npn \@@_color_rgb:nw #1#2 ~ #3 ~ #4 \q_stop
+\cs_new_protected:Npn \@@_color_rgb:nw #1#2 ~ #3 ~ #4 \s_@@_stop
{ \use:c { @@_backend_color_ #1 _rgb:nnn } {#2} {#3} {#4} }
-\cs_new_protected:Npn \@@_color_spot:nw #1#2 ~ #3 \q_stop
+\cs_new_protected:Npn \@@_color_spot:nw #1#2 ~ #3 \s_@@_stop
{ \use:c { @@_backend_color_ #1 _spot:nn } {#2} {#3} }
% \end{macrocode}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
index bcfed707879..beb6582e0e7 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
index 0ce74688f42..f485aa69a25 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
@@ -110,7 +110,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -1146,7 +1146,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3draw}{2020-01-12}{}
+\ProvidesExplPackage{l3draw}{2020-05-18}{}
{L3 Experimental core drawing support}
%</package>
% \end{macrocode}
@@ -1155,6 +1155,31 @@
\RequirePackage { l3color }
% \end{macrocode}
%
+% \subsection{Internal auxiliaries}
+%
+% \begin{variable}{\s_@@_mark,\s_@@_stop}
+% Internal scan marks.
+% \begin{macrocode}
+\scan_new:N \s_@@_mark
+\scan_new:N \s_@@_stop
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\q_@@_recursion_tail,\q_@@_recursion_stop}
+% Internal recursion quarks.
+% \begin{macrocode}
+\quark_new:N \q_@@_recursion_tail
+\quark_new:N \q_@@_recursion_stop
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}[EXP]{\@@_if_recursion_tail_stop_do:Nn}
+% Functions to query recursion quarks.
+% \begin{macrocode}
+\__kernel_quark_new_test:N \@@_if_recursion_tail_stop_do:Nn
+% \end{macrocode}
+% \end{macro}
+%
% Everything else is in the sub-files!
%
% \begin{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx b/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx
index e877b69ca5f..36a63818c15 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -241,7 +241,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3graphics}{2020-01-12}{}
+\ProvidesExplPackage{l3graphics}{2020-05-18}{}
{L3 Experimental graphics inclusion support}
%</package>
% \end{macrocode}
@@ -254,6 +254,13 @@
% \end{macrocode}
% \end{variable}
%
+% \begin{variable}{\s_@@_stop}
+% Internal scan marks.
+% \begin{macrocode}
+\scan_new:N \s_@@_stop
+% \end{macrocode}
+% \end{variable}
+%
% \subsection{Image feature support}
%
% \begin{macro}
@@ -408,7 +415,7 @@
\ior_str_map_inline:Nn \exp_not:N \l_@@_tmp_ior
{
\exp_not:N \@@_read_bb_auxiii:w
- ##1 ~ \c_colon_str \exp_not:N \q_stop
+ ##1 ~ \c_colon_str \s_@@_stop
}
}
\exp_not:n
@@ -425,12 +432,12 @@
\use:x
{
\cs_new_protected:Npn \exp_not:N \@@_read_bb_auxiii:w
- ##1 \c_colon_str ##2 \exp_not:N \q_stop
+ ##1 \c_colon_str ##2 \s_@@_stop
{
\exp_not:N \str_if_eq:nnT
{ \c_percent_str \c_percent_str BoundingBox }
{##1}
- { \exp_not:N \@@_read_bb_auxiv:w ##2 ( ) \exp_not:N \q_stop }
+ { \exp_not:N \@@_read_bb_auxiv:w ##2 ( ) \s_@@_stop }
}
}
% \end{macrocode}
@@ -441,7 +448,7 @@
% whitespace. \TeX{} will then tidy up for us, with just a leading space to
% worry about: that is taken out by the |\use:n| here.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_read_bb_auxiv:w #1 ( #2 ) #3 \q_stop
+\cs_new_protected:Npn \@@_read_bb_auxiv:w #1 ( #2 ) #3 \s_@@_stop
{
\str_if_eq:nnF {#2} { atend }
{
@@ -451,14 +458,14 @@
\char_set_catcode_space:n { 32 }
}
{ \use:n #1 }
- \exp_after:wN \@@_read_bb_auxv:w \l_@@_tmp_tl \q_stop
+ \exp_after:wN \@@_read_bb_auxv:w \l_@@_tmp_tl \s_@@_stop
}
}
% \end{macrocode}
% A trailing space was deliberately added earlier so we know that the final
% data point is terminated by a space.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_read_bb_auxv:w #1~#2~#3~#4~#5 \q_stop
+\cs_new_protected:Npn \@@_read_bb_auxv:w #1~#2~#3~#4~#5 \s_@@_stop
{
\dim_set:Nn \l_graphics_llx_dim { #1 bp }
\dim_set:Nn \l_graphics_lly_dim { #2 bp }
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3pdf/l3pdf.dtx b/Master/texmf-dist/source/latex/l3experimental/l3pdf/l3pdf.dtx
index dc36f172faa..2b9f2564e74 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3pdf/l3pdf.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3pdf/l3pdf.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -71,7 +71,13 @@
% The object may be referenced from this point on, and written later
% using \cs{pdf_object_write:nn}.
% \end{function}
-%
+% \begin{function}[EXP, pTF, added=2020-05-15]{\pdf_object_if_exist:n}
+% \begin{syntax}
+% \cs{pdf_object_if_exist_p:n} \Arg{object}
+% \cs{pdf_object_if_exist:nTF} \Arg{object}
+% \end{syntax}
+% Tests whether an object with name \Arg{object} has been defined.
+% \end{function}
% \begin{function}[added = 2019-06-02]
% {\pdf_object_write:nn, \pdf_object_write:nx}
% \begin{syntax}
@@ -185,11 +191,18 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3pdf}{2020-01-12}{}
+\ProvidesExplPackage{l3pdf}{2020-05-18}{}
{L3 Experimental core PDF support}
%</package>
% \end{macrocode}
%
+% \begin{variable}{\s_@@_stop}
+% Internal scan marks.
+% \begin{macrocode}
+\scan_new:N \s_@@_stop
+% \end{macrocode}
+% \end{variable}
+%
% \begin{variable}{\g_@@_init_bool}
% A flag so we have some chance of avoiding setting things we are not
% allowed to.
@@ -224,6 +237,7 @@
% \subsection{Objects}
%
% \begin{macro}{\pdf_object_new:nn, \pdf_object_write:nn, \pdf_object_write:nx}
+% \begin{macro}[pTF]{\pdf_object_if_exist:n}
% \begin{macro}{\pdf_object_ref:n}
% \begin{macro}{\pdf_object_now:nn, \pdf_object_now:nx}
% \begin{macro}{\pdf_object_last:}
@@ -231,6 +245,12 @@
% \begin{macrocode}
\cs_new_protected:Npn \pdf_object_new:nn #1#2
{ \@@_backend_object_new:nn {#1} {#2} }
+\prg_new_conditional:Npnn \pdf_object_if_exist:n #1 { p , T , F , TF }
+ {
+ \int_if_exist:cTF { c__pdf_backend_object_ \tl_to_str:n {#1} _int }
+ { \prg_return_true: }
+ { \prg_return_false:}
+ }
\cs_new_protected:Npn \pdf_object_write:nn #1#2
{ \@@_backend_object_write:nn {#1} {#2} }
\cs_generate_variant:Nn \pdf_object_write:nn { nx }
@@ -244,6 +264,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \subsection{Version}
%
@@ -258,8 +279,8 @@
% To compare version, we need to split the given value then deal with both
% major and minor version
\prg_new_conditional:Npnn \pdf_version_compare:Nn #1#2 { p , T , F , TF }
- { \use:c { @@_version_compare_ #1 :w } #2 . . \q_stop }
-\cs_new:cpn { @@_version_compare_=:w } #1 . #2 . #3 \q_stop
+ { \use:c { @@_version_compare_ #1 :w } #2 . . \s_@@_stop }
+\cs_new:cpn { @@_version_compare_=:w } #1 . #2 . #3 \s_@@_stop
{
\bool_lazy_and:nnTF
{ \int_compare_p:nNn \@@_backend_version_major: = {#1} }
@@ -267,7 +288,7 @@
{ \prg_return_true: }
{ \prg_return_false: }
}
-\cs_new:cpn { @@_version_compare_<:w } #1 . #2 . #3 \q_stop
+\cs_new:cpn { @@_version_compare_<:w } #1 . #2 . #3 \s_@@_stop
{
\bool_lazy_or:nnTF
{ \int_compare_p:nNn \@@_backend_version_major: < {#1} }
@@ -279,7 +300,7 @@
{ \prg_return_true: }
{ \prg_return_false: }
}
-\cs_new:cpn { @@_version_compare_>:w } #1 . #2 . #3 \q_stop
+\cs_new:cpn { @@_version_compare_>:w } #1 . #2 . #3 \s_@@_stop
{
\bool_lazy_or:nnTF
{ \int_compare_p:nNn \@@_backend_version_major: > {#1} }
@@ -300,13 +321,13 @@
% Split the version and set.
% \begin{macrocode}
\cs_new_protected:Npn \pdf_version_gset:n #1
- { \@@_version_gset:w #1 . . \q_stop }
+ { \@@_version_gset:w #1 . . \s_@@_stop }
\cs_new_protected:Npn \pdf_version_min_gset:n #1
{
\pdf_version_compare:NnT < {#1}
- { \@@_version_gset:w #1 . . \q_stop }
+ { \@@_version_gset:w #1 . . \s_@@_stop }
}
-\cs_new_protected:Npn \@@_version_gset:w #1 . #2 . #3\q_stop
+\cs_new_protected:Npn \@@_version_gset:w #1 . #2 . #3\s_@@_stop
{
\bool_if:NF \g_@@_init_bool
{
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
index af34128e5b7..5cc7827af5f 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -167,7 +167,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3str-format}{2020-01-12}{}
+\ProvidesExplPackage{l3str-format}{2020-05-18}{}
{L3 Experimental string formatting}
%</package>
% \end{macrocode}
@@ -191,7 +191,7 @@
%
% \begin{macro}[EXP]{\@@_format_if_digit:NTF}
% Here we expect |#1| to be a character with category other, or
-% \cs{s_stop}.
+% \cs{s_@@_stop}.
% \begin{macrocode}
\prg_new_conditional:Npnn \@@_format_if_digit:N #1 { TF }
{
@@ -203,9 +203,9 @@
%
% \begin{macro}[EXP]
% {\@@_format_put:nw, \@@_format_put:ow, \@@_format_put:fw}
-% Put |#1| after an \cs{s_stop} delimiter.
+% Put |#1| after an \cs{s_@@_stop} delimiter.
% \begin{macrocode}
-\cs_new:Npn \@@_format_put:nw #1 #2 \s_stop { #2 \s_stop #1 }
+\cs_new:Npn \@@_format_put:nw #1 #2 \s_@@_stop { #2 \s_@@_stop #1 }
\cs_generate_variant:Nn \@@_format_put:nw { o , f }
% \end{macrocode}
% \end{macro}
@@ -256,7 +256,7 @@
\cs_new:Npn \@@_format_parse:n #1
{
\exp_last_unbraced:Nf \@@_format_parse_auxi:NN
- { \__kernel_str_to_other:n {#1} } \s_stop \s_stop {#1}
+ { \__kernel_str_to_other:n {#1} } \s_@@_stop \s_@@_stop {#1}
}
\cs_new:Npx \@@_format_parse_auxi:NN #1#2
{
@@ -301,11 +301,11 @@
}
\cs_new:Npn \@@_format_parse_auxvii:nN #1#2
{
- \token_if_eq_meaning:NNTF \s_stop #2
+ \token_if_eq_meaning:NNTF \s_@@_stop #2
{ \@@_format_parse_end:nwn { #1 ? } #2 }
{ \@@_format_parse_end:nwn { #1 #2 } }
}
-\cs_new:Npn \@@_format_parse_end:nwn #1 #2 \s_stop \s_stop #3
+\cs_new:Npn \@@_format_parse_end:nwn #1 #2 \s_@@_stop \s_@@_stop #3
{
\tl_if_empty:nF {#2}
{ \__kernel_msg_expandable_error:nnn { str } { invalid-format } {#3} }
@@ -455,9 +455,9 @@
% \end{quote}
% First check that the \meta{alignment} is not |=|, and set the
% default alignment |?| to |<|. Place the modified information after
-% a trailing \cs{s_stop} for later retrieval. Then check that there
+% a trailing \cs{s_@@_stop} for later retrieval. Then check that there
% was no \meta{sign}. The width will be useful later, store it after
-% \cs{s_stop}. Afterwards, store the precision, and the function
+% \cs{s_@@_stop}. Afterwards, store the precision, and the function
% \cs{@@_range:nnn} that will be used to extract the first
% |#5| characters of the string.
% There is a need to use the internal function, as otherwise
@@ -495,14 +495,14 @@
}
}
\@@_format_tl_s:NNnnNNn
- \s_stop
+ \s_@@_stop
}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}[EXP]{\@@_format_tl_s:NNnnNNn}
% \begin{quote}
-% \cs{@@_format_tl_s:NNnnNNn} \cs{s_stop} \meta{function}
+% \cs{@@_format_tl_s:NNnnNNn} \cs{s_@@_stop} \meta{function}
% \Arg{arguments} \Arg{width} \meta{fill} \meta{alignment}
% \Arg{token list}
% \end{quote}
@@ -617,12 +617,12 @@
% \end{quote}
% First set the
% default alignment |?| to |>|. Place the modified information after
-% a trailing \cs{s_stop} for later retrieval. Then check the
+% a trailing \cs{s_@@_stop} for later retrieval. Then check the
% \meta{sign}: if the integer is negative, always put~|-|. Otherwise,
% if the format's \meta{sign} is |~|, put a space (with category
% \enquote{other}); if it is~|+| put |+|; if it is |-| (default), put
% nothing, represented as a brace group. The width |#4| will be
-% useful later, store it after \cs{s_stop}. Afterwards, check that
+% useful later, store it after \cs{s_@@_stop}. Afterwards, check that
% the \meta{precision} was absent. Finally, dispatch depending on the
% \meta{style}.
% \begin{macrocode}
@@ -660,14 +660,14 @@
{ str } { invalid-style-format } {#6} { int }
\@@_format_int:NwnnNNn \use:n
}
- \s_stop {#7}
+ \s_@@_stop {#7}
}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}[EXP]{\@@_format_int:NwnnNNn}
% \begin{quote}
-% \cs{@@_format_int:NwnnNNn} \meta{function} \cs{s_stop}
+% \cs{@@_format_int:NwnnNNn} \meta{function} \cs{s_@@_stop}
% \Arg{width} \Arg{sign} \meta{fill} \meta{alignment} \Arg{integer}
% \end{quote}
% Use the |format_align| function corresponding to the
@@ -680,7 +680,7 @@
% \item the \meta{fill} character.
% \end{itemize}
% \begin{macrocode}
-\cs_new:Npn \@@_format_int:NwnnNNn #1#2 \s_stop #3#4#5#6#7
+\cs_new:Npn \@@_format_int:NwnnNNn #1#2 \s_@@_stop #3#4#5#6#7
{
\exp_args:Nc \exp_args:Nf
{ @@_format_align_#6:nnnN }
@@ -728,13 +728,13 @@
% \Arg{floating point}
% \end{quote}
% First set the default alignment |?| to |>|. Place the modified
-% information after a trailing \cs{s_stop} for later retrieval. Then
+% information after a trailing \cs{s_@@_stop} for later retrieval. Then
% check the \meta{format sign} and the \meta{fp sign}: if the floating
% point is negative, always put~|-|. Otherwise (including
% \texttt{nan}), if the format's \meta{sign} is |~|, put a space (with
% category \enquote{other}); if it is~|+| put |+|; if it is |-|
% (default), put nothing, represented as a brace group. The width
-% |#4| will be useful later, store it after \cs{s_stop}. Afterwards,
+% |#4| will be useful later, store it after \cs{s_@@_stop}. Afterwards,
% check the \meta{precision}: if it was not given, replace it by $6$
% (default precision) unless no \meta{style} was given: in that case
% we want to use whatever precision is needed to fully describe the
@@ -776,20 +776,20 @@
{ str } { invalid-style-format } {#6} { fp }
\@@_format_fp:wnnnNNn \@@_format_fp_g:nn
}
- \s_stop {#7}
+ \s_@@_stop {#7}
}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}[EXP]{\@@_format_fp:wnnnNNn}
% \begin{quote}
-% \cs{@@_format_fp:wnnnNNn} \meta{formatting function} \cs{s_stop}
+% \cs{@@_format_fp:wnnnNNn} \meta{formatting function} \cs{s_@@_stop}
% \Arg{precision} \Arg{width} \Arg{sign} \meta{fill}
% \meta{alignment} \Arg{floating point}
% \end{quote}
% \begin{macrocode}
\cs_new:Npn \@@_format_fp:wnnnNNn
- #1 \s_stop #2 #3 #4 #5#6 #7
+ #1 \s_@@_stop #2 #3 #4 #5#6 #7
{
\exp_args:Nc \exp_args:Nf
{ @@_format_align_#6:nnnN }
@@ -850,7 +850,7 @@
{ \prg_replicate:nn { #4 - \c__fp_prec_int + 1 } { 0 } }
\@@_format_put:nw { #1 . #2 }
}
- \use_none:n \s_stop
+ \use_none:n \s_@@_stop
}
% \end{macrocode}
% \end{macro}
@@ -947,11 +947,11 @@
\cs_new:Npn \@@_format_fp_trim:w #1 e
{
\@@_format_fp_trim_loop:w #1
- ; \@@_format_fp_trim_loop:w 0; \@@_format_fp_trim_dot:w .; \s_stop e
+ ; \@@_format_fp_trim_loop:w 0; \@@_format_fp_trim_dot:w .; \s_@@_stop e
}
\cs_new:Npn \@@_format_fp_trim_loop:w #1 0; #2 { #2 #1 ; #2 }
\cs_new:Npn \@@_format_fp_trim_dot:w #1 .; { \@@_format_fp_trim_end:w #1 ; }
-\cs_new:Npn \@@_format_fp_trim_end:w #1 ; #2 \s_stop { #1 }
+\cs_new:Npn \@@_format_fp_trim_end:w #1 ; #2 \s_@@_stop { #1 }
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx b/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx
index c166811e114..52cfcd634ad 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -67,7 +67,7 @@
% \begin{syntax}
% \cs{sys_shell_mkdir:n} \Arg{directory}
% \end{syntax}
-% Creates the \meta{directory}, which should should be specified using |/| as
+% Creates the \meta{directory}, which should be specified using |/| as
% a path separator. If unrestricted shell escape is not enabled, no action is
% attempted.
% \end{function}
@@ -95,7 +95,7 @@
% \begin{syntax}
% \cs{sys_shell_rmdir:n} \Arg{directory}
% \end{syntax}
-% Removes the \meta{directory}, which should should be specified using |/| as
+% Removes the \meta{directory}, which should be specified using |/| as
% a path separator. If unrestricted shell escape is not enabled, no action is
% attempted.
% \end{function}
@@ -136,11 +136,32 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3sys-shell}{2020-01-12}{}
+\ProvidesExplPackage{l3sys-shell}{2020-05-18}{}
{L3 Experimental system shell functions}
%</package>
% \end{macrocode}
%
+% \begin{variable}{\s_@@_stop}
+% Internal scan marks.
+% \begin{macrocode}
+\scan_new:N \s_@@_stop
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\q_@@_nil}
+% Internal quarks.
+% \begin{macrocode}
+\quark_new:N \q_@@_nil
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}[pTF]{\@@_quark_if_nil:n}
+% Branching quark conditional.
+% \begin{macrocode}
+\__kernel_quark_new_conditional:Nn \@@_quark_if_nil:N { F }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}[EXP]{\@@_path_to_win:n}
% \begin{macro}[EXP]{\@@_path_to_win:w}
% \begin{macro}[EXP]{\@@_path_to_win:N}
@@ -148,20 +169,20 @@
% \begin{macrocode}
\cs_new:Npn \@@_path_to_win:n #1
{
- \exp_after:wN \@@_path_to_win:w \tl_to_str:n {#1} ~ \q_stop
+ \exp_after:wN \@@_path_to_win:w \tl_to_str:n {#1} ~ \s_@@_stop
}
-\cs_new:Npn \@@_path_to_win:w #1 ~ #2 \q_stop
+\cs_new:Npn \@@_path_to_win:w #1 ~ #2 \s_@@_stop
{
- \@@_path_to_win:N #1 \q_nil
+ \@@_path_to_win:N #1 \q_@@_nil
\tl_if_empty:nF {#2}
{
\c_space_tl
- \@@_path_to_win:w #2 \q_stop
+ \@@_path_to_win:w #2 \s_@@_stop
}
}
\cs_new:Npn \@@_path_to_win:N #1
{
- \quark_if_nil:NF #1
+ \@@_quark_if_nil:NF #1
{
\token_if_eq_meaning:NNTF #1 /
{ \c_backslash_str }
diff --git a/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx b/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
index 9f4aec0bcd9..6b1686b6cfd 100644
--- a/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
@@ -56,7 +56,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -675,7 +675,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xcoffins}{2020-01-12}{}
+\ProvidesExplPackage{xcoffins}{2020-05-18}{}
{L3 Experimental design level coffins}
% \end{macrocode}
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx b/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
index 14d9fc9e099..e8a59c07709 100644
--- a/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
@@ -61,7 +61,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -687,7 +687,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3galley}{2020-01-12}{}
+\ProvidesExplPackage{l3galley}{2020-05-18}{}
{L3 Experimental galley code}
%</package>
% \end{macrocode}
@@ -1751,7 +1751,7 @@
\cs_new_protected:Npn \galley_cutout_right:nn
{ \@@_cutout:nnn { right } }
% \end{macrocode}
-% The cutout information needs to be saved in in the appropriate sequence.
+% The cutout information needs to be saved in the appropriate sequence.
% First, the input is converted to a (temporary) sequence. If there is
% no existing cutout defined, this is simply stored. On the other hand,
% if there is a cutout already active, the new one needs to be added to
diff --git a/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx b/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
index 5cd043a5e61..577ed6b90b7 100644
--- a/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -121,7 +121,7 @@
% \subsection{Layer two: internal dimensions}
%
% \begin{TemplateInterfaceDescription}{measure}
-% \TemplateArgument{}{} ^^A A hack
+% \TemplateArgument{}{} ^^A Some hack
% \TemplateSemantics
% Sets the width available to typeset material within the galley.
% The \meta{left margin} and \meta{right margin} values are used in the
@@ -192,7 +192,7 @@
% \subsection{Layer three: paragraph shape}
%
% \begin{TemplateInterfaceDescription}{parshape}
-% \TemplateArgument{}{}^^A A hack
+% \TemplateArgument{}{}^^A Some hack
% \TemplateSemantics
% Template of this type define any shaping of the paragraph within the
% current measure of the galley. Thus they are used to generate
@@ -734,7 +734,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xgalley}{2020-01-12}{}
+\ProvidesExplPackage{xgalley}{2020-05-18}{}
{L3 Experimental galley}
\RequirePackage{xparse,xtemplate,l3galley}
% \end{macrocode}
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty b/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
index 5d5864c8cdb..e3131323517 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
@@ -20,7 +20,7 @@
%%
%% File: l3benchmark.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3benchmark}{2020-01-12}{}
+\ProvidesExplPackage{l3benchmark}{2020-05-18}{}
{L3 Experimental benchmarking}
\sys_if_engine_luatex:TF
{
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty b/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty
index 392ef2ba12a..4b1c560d98e 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty
@@ -20,7 +20,7 @@
%%
%% File: l3cctab.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3cctab}{2020-01-12}{}
+\ProvidesExplPackage{l3cctab}{2020-05-18}{}
{L3 Experimental category code tables}
\int_new:N \g__cctab_allocate_int
\int_gset:Nn \g__cctab_allocate_int { -1 }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
index 2b56c1dfd57..d7829a472ac 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
@@ -20,9 +20,10 @@
%%
%% File: l3color.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3color}{2020-01-12}{}
+\ProvidesExplPackage{l3color}{2020-05-18}{}
{L3 Experimental color support}
\tl_new:N \l__color_internal_tl
+\scan_new:N \s__color_mark
\prg_new_conditional:Npnn \__color_if_defined:n #1 { T, F, TF }
{
\tl_if_exist:cTF { l__color_named_ #1 _tl }
@@ -35,10 +36,10 @@
\__color_extract:NNw
\exp_after:wN \exp_after:wN \exp_after:wN #2
\exp_after:wN \exp_after:wN \exp_after:wN #3
- \cs:w l__color_named_ #1 _tl \cs_end: \q_stop
+ \cs:w l__color_named_ #1 _tl \cs_end: \s__color_stop
}
\cs_generate_variant:Nn \__color_extract:nNN { V }
-\cs_new_protected:Npn \__color_extract:NNw #1#2 #3 ~ #4 \q_stop
+\cs_new_protected:Npn \__color_extract:NNw #1#2 #3 ~ #4 \s__color_stop
{
\tl_set:Nn #1 {#3}
\tl_set:Nn #2 {#4}
@@ -51,16 +52,16 @@
\str_if_eq:nnT {#1} { spot } % TO DO!!!
{ }
\tl_set:Nx #4
- { \use:c { __color_convert_ #1 _ #2 :w } #3 ~ 0 ~ 0 ~ 0 \q_stop }
+ { \use:c { __color_convert_ #1 _ #2 :w } #3 ~ 0 ~ 0 ~ 0 \s__color_stop }
}
\cs_generate_variant:Nn \__color_convert:nnnN { nnV }
-\cs_new:Npn \__color_convert_gray_rgb:w #1 ~ #2 \q_stop
+\cs_new:Npn \__color_convert_gray_rgb:w #1 ~ #2 \s__color_stop
{ #1 ~ #1 ~ #1 }
-\cs_new:Npn \__color_convert_gray_cmyk:w #1 ~ #2 \q_stop
+\cs_new:Npn \__color_convert_gray_cmyk:w #1 ~ #2 \s__color_stop
{ 0 ~ 0 ~ 0 ~ \fp_eval:n { 1 - #1 } }
-\cs_new:Npn \__color_convert_rgb_gray:w #1 ~ #2 ~ #3 ~ #4 \q_stop
+\cs_new:Npn \__color_convert_rgb_gray:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
{ \fp_eval:n { 0.3 * #1 + 0.59 * #2 + 0.11 * #3 } }
-\cs_new:Npn \__color_convert_rgb_cmyk:w #1 ~ #2 ~ #3 ~ #4 \q_stop
+\cs_new:Npn \__color_convert_rgb_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
{
\exp_args:Nf \__color_convert_rgb_cmyk:nnnn
{ \fp_eval:n { min ( 1 - #1 , 1 - #2 , 1 - #3 ) } } {#1} {#2} {#3}
@@ -72,9 +73,9 @@
\fp_eval:n { min ( 1 , max ( 0 , 1 - #4 - #1 ) ) } \c_space_tl
#1
}
-\cs_new:Npn \__color_convert_cmyk_gray:w #1 ~ #2 ~ #3 ~ #4 ~ #5 \q_stop
+\cs_new:Npn \__color_convert_cmyk_gray:w #1 ~ #2 ~ #3 ~ #4 ~ #5 \s__color_stop
{ \fp_eval:n { 1 - min ( 1 , 0.3 * #1 + 0.59 * #2 + 0.11 * #3 + #4 ) } }
-\cs_new:Npn \__color_convert_cmyk_rgb:w #1 ~ #2 ~ #3 ~ #4 ~ #5 \q_stop
+\cs_new:Npn \__color_convert_cmyk_rgb:w #1 ~ #2 ~ #3 ~ #4 ~ #5 \s__color_stop
{
\fp_eval:n { 1 - min ( 1 , #1 + #4 ) } \c_space_tl
\fp_eval:n { 1 - min ( 1 , #2 + #4 ) } \c_space_tl
@@ -94,10 +95,10 @@
{
\tl_if_exist:cTF { l__color_named_ #1 _tl }
{ \tl_set_eq:Nc #2 { l__color_named_ #1 _tl } }
- { \__color_parse:Nw #2#1 ! \q_stop }
+ { \__color_parse:Nw #2#1 ! \s__color_stop }
\__color_check_model:N #2
}
-\cs_new_protected:Npn \__color_parse:Nw #1#2 ! #3 \q_stop
+\cs_new_protected:Npn \__color_parse:Nw #1#2 ! #3 \s__color_stop
{
\__color_if_defined:nTF {#2}
{
@@ -114,13 +115,13 @@
{
\group_begin:
\__color_extract:nNN {#2} \l__color_model_tl \l__color_value_tl
- \__color_parse_loop:w #3 ! ! ! ! \q_stop
+ \__color_parse_loop:w #3 ! ! ! ! \s__color_stop
\tl_set:Nx \l__color_internal_tl
{ \l__color_model_tl \c_space_tl \l__color_value_tl }
\exp_args:NNNV \group_end:
\tl_set:Nn #1 \l__color_internal_tl
}
-\cs_new_protected:Npn \__color_parse_loop:w #1 ! #2 ! #3 ! #4 ! #5 \q_stop
+\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} }
@@ -142,7 +143,7 @@
}
}
\tl_if_blank:nF {#3}
- { \__color_parse_loop:w #3 ! #4 ! #5 \q_stop }
+ { \__color_parse_loop:w #3 ! #4 ! #5 \s__color_stop }
\__color_parse_end:
}
\cs_new_protected:Npn \__color_parse_loop:nn #1#2
@@ -195,53 +196,53 @@
\cs_new:Npn \__color_parse_mix:nNnn #1#2#3#4
{
\use:c { __color_parse_mix_ #2 :nw } {#1}
- #3 \q_mark #4 \q_stop
+ #3 \s__color_mark #4 \s__color_stop
}
-\cs_new:Npn \__color_parse_mix_gray:nw #1#2 \q_mark #3 \q_stop
+\cs_new:Npn \__color_parse_mix_gray:nw #1#2 \s__color_mark #3 \s__color_stop
{ \fp_eval:n { #2 * #1 + #3 * ( 1 - #1 ) } }
\cs_new:Npn \__color_parse_mix_rgb:nw
- #1#2 ~ #3 ~ #4 \q_mark #5 ~ #6 ~ #7 \q_stop
+ #1#2 ~ #3 ~ #4 \s__color_mark #5 ~ #6 ~ #7 \s__color_stop
{
\fp_eval:n { #2 * #1 + #5 * ( 1 - #1 ) } \c_space_tl
\fp_eval:n { #3 * #1 + #6 * ( 1 - #1 ) } \c_space_tl
\fp_eval:n { #4 * #1 + #7 * ( 1 - #1 ) }
}
\cs_new:Npn \__color_parse_mix_cmyk:nw
- #1#2 ~ #3 ~ #4 ~ #5 \q_mark #6 ~ #7 ~ #8 ~ #9 \q_stop
+ #1#2 ~ #3 ~ #4 ~ #5 \s__color_mark #6 ~ #7 ~ #8 ~ #9 \s__color_stop
{
\fp_eval:n { #2 * #1 + #6 * ( 1 - #1 ) } \c_space_tl
\fp_eval:n { #3 * #1 + #7 * ( 1 - #1 ) } \c_space_tl
\fp_eval:n { #4 * #1 + #8 * ( 1 - #1 ) } \c_space_tl
\fp_eval:n { #5 * #1 + #9 * ( 1 - #1 ) }
}
-\cs_new:Npn \__color_parse_model_gray:w #1 , #2 \q_stop { \__color_parse_number:n {#1} }
-\cs_new:Npn \__color_parse_model_rgb:w #1 , #2 , #3 , #4 \q_stop
+\cs_new:Npn \__color_parse_model_gray:w #1 , #2 \s__color_stop { \__color_parse_number:n {#1} }
+\cs_new:Npn \__color_parse_model_rgb:w #1 , #2 , #3 , #4 \s__color_stop
{
\__color_parse_number:n {#1} ~
\__color_parse_number:n {#2} ~
\__color_parse_number:n {#3}
}
-\cs_new:Npn \__color_parse_model_cmyk:w #1 , #2 , #3 , #4 , #5 \q_stop
+\cs_new:Npn \__color_parse_model_cmyk:w #1 , #2 , #3 , #4 , #5 \s__color_stop
{
\__color_parse_number:n {#1} ~
\__color_parse_number:n {#2} ~
\__color_parse_number:n {#3} ~
\__color_parse_number:n {#4}
}
-\cs_new:Npn \__color_parse_model_spot:w #1 , #2 \q_stop
- { \__color_parse_spot_aux:w #1 ! 100 ! \q_stop }
-\cs_new:Npn \__color_parse_spot_aux:w #1 ! #2 ! #3 \q_stop
+\cs_new:Npn \__color_parse_model_spot:w #1 , #2 \s__color_stop
+ { \__color_parse_spot_aux:w #1 ! 100 ! \s__color_stop }
+\cs_new:Npn \__color_parse_spot_aux:w #1 ! #2 ! #3 \s__color_stop
{ #1 ~ \fp_eval:n { #2 / 100 } }
\cs_new:Npn \__color_parse_number:n #1
- { \__color_parse_number:w #1 . 0 . \q_stop }
-\cs_new:Npn \__color_parse_number:w #1 . #2 . #3 \q_stop
+ { \__color_parse_number:w #1 . 0 . \s__color_stop }
+\cs_new:Npn \__color_parse_number:w #1 . #2 . #3 \s__color_stop
{ \tl_if_blank:nTF {#1} { 0 } {#1} . #2 }
\tl_new:N \l_color_fixed_model_tl
\cs_new_protected:Npn \__color_check_model:N #1
{
\tl_if_empty:NF \l_color_fixed_model_tl
{
- \exp_after:wN \__color_check_model:w #1 \q_stop
+ \exp_after:wN \__color_check_model:w #1 \s__color_stop
\tl_if_eq:NNF \l__color_model_tl \l_color_fixed_model_tl
{
\__color_convert:VVN \l__color_model_tl \l_color_fixed_model_tl
@@ -251,7 +252,7 @@
{ \l_color_fixed_model_tl \c_space_tl \l__color_value_tl }
}
}
-\cs_new_protected:Npn \__color_check_model:w #1 ~ #2 \q_stop
+\cs_new_protected:Npn \__color_check_model:w #1 ~ #2 \s__color_stop
{
\tl_set:Nn \l__color_model_tl {#1}
\tl_set:Nn \l__color_value_tl {#2}
@@ -276,7 +277,7 @@
\cs_if_exist:cTF { __color_parse_model_ #1 :w }
{
\tl_set:Nx #3
- { #1 ~ \use:c { __color_parse_model_ #1 :w } #2 , 0 , 0 , 0 , 0 \q_stop }
+ { #1 ~ \use:c { __color_parse_model_ #1 :w } #2 , 0 , 0 , 0 , 0 \s__color_stop }
\__color_check_model:N #3
}
{
@@ -331,21 +332,21 @@
{#1}
{
\__color_if_defined:nTF {#1}
- { \exp_last_unbraced:Nv \__color_show:w { l__color_named_ #1 _tl } \q_stop }
+ { \exp_last_unbraced:Nv \__color_show:w { l__color_named_ #1 _tl } \s__color_stop }
{ }
}
{ }
{ }
}
-\cs_new:Npn \__color_show:w #1 ~ #2 \q_stop
+\cs_new:Npn \__color_show:w #1 ~ #2 \s__color_stop
{
\msg_show_item_unbraced:nn { model } {#1}
\exp_args:Nnf \msg_show_item_unbraced:nn { value }
- { \use:c { __color_show_ #1 :w } #2 \q_stop }
+ { \use:c { __color_show_ #1 :w } #2 \s__color_stop }
}
-\cs_new:Npn \__color_show_gray:w #1 \q_stop { #1 }
-\cs_new:Npn \__color_show_rgb:w #1 ~ #2 ~ #3 \q_stop { #1 ,~ #2 ,~ #3 }
-\cs_new:Npn \__color_show_cmyk:w #1 ~ #2 ~ #3 ~ #4 \q_stop { #1 ,~ #2 ,~ #3 ,~ #4 }
+\cs_new:Npn \__color_show_gray:w #1 \s__color_stop { #1 }
+\cs_new:Npn \__color_show_rgb:w #1 ~ #2 ~ #3 \s__color_stop { #1 ,~ #2 ,~ #3 }
+\cs_new:Npn \__color_show_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop { #1 ,~ #2 ,~ #3 ,~ #4 }
\__kernel_msg_new:nnnn { color } { invalid-model }
{ Invalid~color~model~'#1'. }
{
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
index b29c727f902..2939b76fb99 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
@@ -28,9 +28,14 @@
%%
%% File: l3draw.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3draw}{2020-01-12}{}
+\ProvidesExplPackage{l3draw}{2020-05-18}{}
{L3 Experimental core drawing support}
\RequirePackage { l3color }
+\scan_new:N \s__draw_mark
+\scan_new:N \s__draw_stop
+\quark_new:N \q__draw_recursion_tail
+\quark_new:N \q__draw_recursion_stop
+\__kernel_quark_new_test:N \__draw_if_recursion_tail_stop_do:Nn
%% File: l3draw-boxes.dtx
\box_new:N \l__draw_tmp_box
\cs_new_protected:Npn \draw_box_use:N #1
@@ -804,8 +809,8 @@
{#1}
}
\cs_new:Npn \__draw_point_process_auxi:nn #1#2
- { \__draw_point_process_auxii:nw {#2} #1 \q_stop }
-\cs_new:Npn \__draw_point_process_auxii:nw #1 #2 , #3 \q_stop
+ { \__draw_point_process_auxii:nw {#2} #1 \s__draw_stop }
+\cs_new:Npn \__draw_point_process_auxii:nw #1 #2 , #3 \s__draw_stop
{ #1 {#2} {#3} }
\cs_new:Npn \__draw_point_process:nnn #1#2#3
{
@@ -815,8 +820,8 @@
{#1}
}
\cs_new:Npn \__draw_point_process_auxiii:nnn #1#2#3
- { \__draw_point_process_auxiv:nw {#3} #1 \q_mark #2 \q_stop }
-\cs_new:Npn \__draw_point_process_auxiv:nw #1 #2 , #3 \q_mark #4 , #5 \q_stop
+ { \__draw_point_process_auxiv:nw {#3} #1 \s__draw_mark #2 \s__draw_stop }
+\cs_new:Npn \__draw_point_process_auxiv:nw #1 #2 , #3 \s__draw_mark #4 , #5 \s__draw_stop
{ #1 {#2} {#3} {#4} {#5} }
\cs_new:Npn \__draw_point_process:nnnn #1#2#3#4
{
@@ -827,9 +832,9 @@
{#1}
}
\cs_new:Npn \__draw_point_process_auxv:nnnn #1#2#3#4
- { \__draw_point_process_auxvi:nw {#4} #1 \q_mark #2 \q_mark #3 \q_stop }
+ { \__draw_point_process_auxvi:nw {#4} #1 \s__draw_mark #2 \s__draw_mark #3 \s__draw_stop }
\cs_new:Npn \__draw_point_process_auxvi:nw
- #1 #2 , #3 \q_mark #4 , #5 \q_mark #6 , #7 \q_stop
+ #1 #2 , #3 \s__draw_mark #4 , #5 \s__draw_mark #6 , #7 \s__draw_stop
{ #1 {#2} {#3} {#4} {#5} {#6} {#7} }
\cs_new:Npn \__draw_point_process:nnnnn #1#2#3#4#5
{
@@ -843,10 +848,10 @@
\cs_new:Npn \__draw_point_process_auxvii:nnnnn #1#2#3#4#5
{
\__draw_point_process_auxviii:nw
- {#5} #1 \q_mark #2 \q_mark #3 \q_mark #4 \q_stop
+ {#5} #1 \s__draw_mark #2 \s__draw_mark #3 \s__draw_mark #4 \s__draw_stop
}
\cs_new:Npn \__draw_point_process_auxviii:nw
- #1 #2 , #3 \q_mark #4 , #5 \q_mark #6 , #7 \q_mark #8 , #9 \q_stop
+ #1 #2 , #3 \s__draw_mark #4 , #5 \s__draw_mark #6 , #7 \s__draw_mark #8 , #9 \s__draw_stop
{ #1 {#2} {#3} {#4} {#5} {#6} {#7} {#8} {#9} }
\cs_new:Npn \__draw_point_to_dim:n #1
{ \__draw_point_to_dim_aux:f { \fp_eval:n {#1} } }
@@ -1439,15 +1444,15 @@
\tl_build_get:NN \g__draw_softpath_main_tl \l__draw_softpath_internal_tl
\exp_after:wN \__draw_softpath_round_loop:Nnn
\l__draw_softpath_internal_tl
- \q_recursion_tail ? ?
- \q_recursion_stop
+ \q__draw_recursion_tail ? ?
+ \q__draw_recursion_stop
\group_end:
}
\bool_gset_false:N \g__draw_softpath_corners_bool
}
\cs_new_protected:Npn \__draw_softpath_round_loop:Nnn #1#2#3
{
- \quark_if_recursion_tail_stop_do:Nn #1 { \__draw_softpath_round_end: }
+ \__draw_if_recursion_tail_stop_do:Nn #1 { \__draw_softpath_round_end: }
\token_if_eq_meaning:NNTF #1 \__draw_softpath_roundpoint_op:nn
{ \__draw_softpath_round_action:nn {#2} {#3} }
{
@@ -1577,11 +1582,11 @@
\cs_new:Npn \__draw_softpath_round_calc:nnnnnn #1#2#3#4#5#6
{
\__draw_softpath_round_calc:nnnnw {#3} {#4} {#5} {#6}
- #1 \q_mark #2 \q_stop
+ #1 \s__draw_mark #2 \s__draw_stop
}
\cs_generate_variant:Nn \__draw_softpath_round_calc:nnnnnn { fV }
\cs_new:Npn \__draw_softpath_round_calc:nnnnw
- #1#2#3#4 #5 , #6 \q_mark #7 , #8 \q_stop
+ #1#2#3#4 #5 , #6 \s__draw_mark #7 , #8 \s__draw_stop
{
{#5} {#6}
\exp_not:N \__draw_softpath_curveto_opi:nn
@@ -1617,7 +1622,7 @@
\exp_not:N \exp_after:wN
\exp_not:N \__draw_softpath_round_close:w
\exp_not:N \l__draw_softpath_curve_end_tl
- \exp_not:N \q_stop
+ \s__draw_stop
}
\use:x
{
@@ -1628,7 +1633,7 @@
\exp_not:N \exp_after:wN
\exp_not:N \__draw_softpath_round_close:w
\exp_not:N \l__draw_softpath_curve_end_tl
- \exp_not:N \q_stop
+ \s__draw_stop
}
}
}
@@ -1637,7 +1642,7 @@
\exp_after:wN \use_none:n \l__draw_softpath_move_tl
}
}
-\cs_new:Npn \__draw_softpath_round_close:w #1 , #2 \q_stop { {#1} {#2} }
+\cs_new:Npn \__draw_softpath_round_close:w #1 , #2 \s__draw_stop { {#1} {#2} }
\cs_new_protected:Npn \__draw_softpath_round_end:
{
\tl_put_right:No \l__draw_softpath_main_tl
@@ -1693,17 +1698,17 @@
\__draw_color_aux:Vn \l__draw_color_tmp_tl {#1}
}
\cs_new_protected:Npn \__draw_color_aux:nn #1#2
- { \__draw_color:nw {#2} #1 \q_stop }
+ { \__draw_color:nw {#2} #1 \s__draw_stop }
\cs_generate_variant:Nn \__draw_color_aux:nn { V }
-\cs_new_protected:Npn \__draw_color:nw #1#2 ~ #3 \q_stop
- { \use:c { __draw_color_ #2 :nw } {#1} #3 \q_stop }
-\cs_new_protected:Npn \__draw_color_cmyk:nw #1#2 ~ #3 ~ #4 ~ #5 \q_stop
+\cs_new_protected:Npn \__draw_color:nw #1#2 ~ #3 \s__draw_stop
+ { \use:c { __draw_color_ #2 :nw } {#1} #3 \s__draw_stop }
+\cs_new_protected:Npn \__draw_color_cmyk:nw #1#2 ~ #3 ~ #4 ~ #5 \s__draw_stop
{ \use:c { __draw_backend_color_ #1 _cmyk:nnnn } {#2} {#3} {#4} {#5} }
-\cs_new_protected:Npn \__draw_color_gray:nw #1#2 \q_stop
+\cs_new_protected:Npn \__draw_color_gray:nw #1#2 \s__draw_stop
{ \use:c { __draw_backend_color_ #1 _gray:n } {#2} }
-\cs_new_protected:Npn \__draw_color_rgb:nw #1#2 ~ #3 ~ #4 \q_stop
+\cs_new_protected:Npn \__draw_color_rgb:nw #1#2 ~ #3 ~ #4 \s__draw_stop
{ \use:c { __draw_backend_color_ #1 _rgb:nnn } {#2} {#3} {#4} }
-\cs_new_protected:Npn \__draw_color_spot:nw #1#2 ~ #3 \q_stop
+\cs_new_protected:Npn \__draw_color_spot:nw #1#2 ~ #3 \s__draw_stop
{ \use:c { __draw_backend_color_ #1 _spot:nn } {#2} {#3} }
%% File: l3draw-transforms.dtx
\bool_new:N \l__draw_matrix_active_bool
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty b/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty
index 5853a577cb5..35752a1defe 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty
@@ -20,10 +20,11 @@
%%
%% File: l3graphics.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3graphics}{2020-01-12}{}
+\ProvidesExplPackage{l3graphics}{2020-05-18}{}
{L3 Experimental graphics inclusion support}
\ior_new:N \l__graphics_tmp_ior
\tl_new:N \l__graphics_tmp_tl
+\scan_new:N \s__graphics_stop
\tl_new:N \l_graphics_decodearray_tl
\tl_new:N \l_graphics_pagebox_tl
\bool_new:N \l_graphics_interpolate_bool
@@ -108,7 +109,7 @@
\ior_str_map_inline:Nn \exp_not:N \l__graphics_tmp_ior
{
\exp_not:N \__graphics_read_bb_auxiii:w
- ##1 ~ \c_colon_str \exp_not:N \q_stop
+ ##1 ~ \c_colon_str \s__graphics_stop
}
}
\exp_not:n
@@ -125,15 +126,15 @@
\use:x
{
\cs_new_protected:Npn \exp_not:N \__graphics_read_bb_auxiii:w
- ##1 \c_colon_str ##2 \exp_not:N \q_stop
+ ##1 \c_colon_str ##2 \s__graphics_stop
{
\exp_not:N \str_if_eq:nnT
{ \c_percent_str \c_percent_str BoundingBox }
{##1}
- { \exp_not:N \__graphics_read_bb_auxiv:w ##2 ( ) \exp_not:N \q_stop }
+ { \exp_not:N \__graphics_read_bb_auxiv:w ##2 ( ) \s__graphics_stop }
}
}
-\cs_new_protected:Npn \__graphics_read_bb_auxiv:w #1 ( #2 ) #3 \q_stop
+\cs_new_protected:Npn \__graphics_read_bb_auxiv:w #1 ( #2 ) #3 \s__graphics_stop
{
\str_if_eq:nnF {#2} { atend }
{
@@ -143,10 +144,10 @@
\char_set_catcode_space:n { 32 }
}
{ \use:n #1 }
- \exp_after:wN \__graphics_read_bb_auxv:w \l__graphics_tmp_tl \q_stop
+ \exp_after:wN \__graphics_read_bb_auxv:w \l__graphics_tmp_tl \s__graphics_stop
}
}
-\cs_new_protected:Npn \__graphics_read_bb_auxv:w #1~#2~#3~#4~#5 \q_stop
+\cs_new_protected:Npn \__graphics_read_bb_auxv:w #1~#2~#3~#4~#5 \s__graphics_stop
{
\dim_set:Nn \l_graphics_llx_dim { #1 bp }
\dim_set:Nn \l_graphics_lly_dim { #2 bp }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3pdf/l3pdf.sty b/Master/texmf-dist/tex/latex/l3experimental/l3pdf/l3pdf.sty
index 5341cb87805..e60cfed9fbf 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3pdf/l3pdf.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3pdf/l3pdf.sty
@@ -20,8 +20,9 @@
%%
%% File: l3pdf.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3pdf}{2020-01-12}{}
+\ProvidesExplPackage{l3pdf}{2020-05-18}{}
{L3 Experimental core PDF support}
+\scan_new:N \s__pdf_stop
\bool_new:N \g__pdf_init_bool
\cs_if_exist:NT \documentclass
{
@@ -38,6 +39,12 @@
}
\cs_new_protected:Npn \pdf_object_new:nn #1#2
{ \__pdf_backend_object_new:nn {#1} {#2} }
+\prg_new_conditional:Npnn \pdf_object_if_exist:n #1 { p , T , F , TF }
+ {
+ \int_if_exist:cTF { c__pdf_backend_object_ \tl_to_str:n {#1} _int }
+ { \prg_return_true: }
+ { \prg_return_false:}
+ }
\cs_new_protected:Npn \pdf_object_write:nn #1#2
{ \__pdf_backend_object_write:nn {#1} {#2} }
\cs_generate_variant:Nn \pdf_object_write:nn { nx }
@@ -47,8 +54,8 @@
\cs_generate_variant:Nn \pdf_object_now:nn { nx }
\cs_new:Npn \pdf_object_last: { \__pdf_backend_object_last: }
\prg_new_conditional:Npnn \pdf_version_compare:Nn #1#2 { p , T , F , TF }
- { \use:c { __pdf_version_compare_ #1 :w } #2 . . \q_stop }
-\cs_new:cpn { __pdf_version_compare_=:w } #1 . #2 . #3 \q_stop
+ { \use:c { __pdf_version_compare_ #1 :w } #2 . . \s__pdf_stop }
+\cs_new:cpn { __pdf_version_compare_=:w } #1 . #2 . #3 \s__pdf_stop
{
\bool_lazy_and:nnTF
{ \int_compare_p:nNn \__pdf_backend_version_major: = {#1} }
@@ -56,7 +63,7 @@
{ \prg_return_true: }
{ \prg_return_false: }
}
-\cs_new:cpn { __pdf_version_compare_<:w } #1 . #2 . #3 \q_stop
+\cs_new:cpn { __pdf_version_compare_<:w } #1 . #2 . #3 \s__pdf_stop
{
\bool_lazy_or:nnTF
{ \int_compare_p:nNn \__pdf_backend_version_major: < {#1} }
@@ -68,7 +75,7 @@
{ \prg_return_true: }
{ \prg_return_false: }
}
-\cs_new:cpn { __pdf_version_compare_>:w } #1 . #2 . #3 \q_stop
+\cs_new:cpn { __pdf_version_compare_>:w } #1 . #2 . #3 \s__pdf_stop
{
\bool_lazy_or:nnTF
{ \int_compare_p:nNn \__pdf_backend_version_major: > {#1} }
@@ -81,13 +88,13 @@
{ \prg_return_false: }
}
\cs_new_protected:Npn \pdf_version_gset:n #1
- { \__pdf_version_gset:w #1 . . \q_stop }
+ { \__pdf_version_gset:w #1 . . \s__pdf_stop }
\cs_new_protected:Npn \pdf_version_min_gset:n #1
{
\pdf_version_compare:NnT < {#1}
- { \__pdf_version_gset:w #1 . . \q_stop }
+ { \__pdf_version_gset:w #1 . . \s__pdf_stop }
}
-\cs_new_protected:Npn \__pdf_version_gset:w #1 . #2 . #3\q_stop
+\cs_new_protected:Npn \__pdf_version_gset:w #1 . #2 . #3\s__pdf_stop
{
\bool_if:NF \g__pdf_init_bool
{
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
index 2d974506bf6..90025ff46e5 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
@@ -20,7 +20,7 @@
%%
%% File: l3str-format.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3str-format}{2020-01-12}{}
+\ProvidesExplPackage{l3str-format}{2020-05-18}{}
{L3 Experimental string formatting}
\cs_generate_variant:Nn \use:nn { nf }
\cs_generate_variant:Nn \use:nnn { fnf }
@@ -30,7 +30,7 @@
\if_int_compare:w 9 < 1 #1 \exp_stop_f:
\prg_return_true: \else: \prg_return_false: \fi:
}
-\cs_new:Npn \__str_format_put:nw #1 #2 \s_stop { #2 \s_stop #1 }
+\cs_new:Npn \__str_format_put:nw #1 #2 \s__str_stop { #2 \s__str_stop #1 }
\cs_generate_variant:Nn \__str_format_put:nw { o , f }
\prg_new_conditional:Npnn \__str_format_if_in:nN #1#2 { TF }
{
@@ -49,7 +49,7 @@
\cs_new:Npn \__str_format_parse:n #1
{
\exp_last_unbraced:Nf \__str_format_parse_auxi:NN
- { \__kernel_str_to_other:n {#1} } \s_stop \s_stop {#1}
+ { \__kernel_str_to_other:n {#1} } \s__str_stop \s__str_stop {#1}
}
\cs_new:Npx \__str_format_parse_auxi:NN #1#2
{
@@ -94,11 +94,11 @@
}
\cs_new:Npn \__str_format_parse_auxvii:nN #1#2
{
- \token_if_eq_meaning:NNTF \s_stop #2
+ \token_if_eq_meaning:NNTF \s__str_stop #2
{ \__str_format_parse_end:nwn { #1 ? } #2 }
{ \__str_format_parse_end:nwn { #1 #2 } }
}
-\cs_new:Npn \__str_format_parse_end:nwn #1 #2 \s_stop \s_stop #3
+\cs_new:Npn \__str_format_parse_end:nwn #1 #2 \s__str_stop \s__str_stop #3
{
\tl_if_empty:nF {#2}
{ \__kernel_msg_expandable_error:nnn { str } { invalid-format } {#3} }
@@ -195,7 +195,7 @@
}
}
\__str_format_tl_s:NNnnNNn
- \s_stop
+ \s__str_stop
}
\cs_new:Npn \__str_format_tl_s:NNnnNNn #1#2#3#4#5#6#7
{
@@ -275,9 +275,9 @@
{ str } { invalid-style-format } {#6} { int }
\__str_format_int:NwnnNNn \use:n
}
- \s_stop {#7}
+ \s__str_stop {#7}
}
-\cs_new:Npn \__str_format_int:NwnnNNn #1#2 \s_stop #3#4#5#6#7
+\cs_new:Npn \__str_format_int:NwnnNNn #1#2 \s__str_stop #3#4#5#6#7
{
\exp_args:Nc \exp_args:Nf
{ __str_format_align_#6:nnnN }
@@ -332,10 +332,10 @@
{ str } { invalid-style-format } {#6} { fp }
\__str_format_fp:wnnnNNn \__str_format_fp_g:nn
}
- \s_stop {#7}
+ \s__str_stop {#7}
}
\cs_new:Npn \__str_format_fp:wnnnNNn
- #1 \s_stop #2 #3 #4 #5#6 #7
+ #1 \s__str_stop #2 #3 #4 #5#6 #7
{
\exp_args:Nc \exp_args:Nf
{ __str_format_align_#6:nnnN }
@@ -377,7 +377,7 @@
{ \prg_replicate:nn { #4 - \c__fp_prec_int + 1 } { 0 } }
\__str_format_put:nw { #1 . #2 }
}
- \use_none:n \s_stop
+ \use_none:n \s__str_stop
}
\cs_new:Npn \__str_format_fp_f:nn #1#2
{
@@ -431,11 +431,11 @@
\cs_new:Npn \__str_format_fp_trim:w #1 e
{
\__str_format_fp_trim_loop:w #1
- ; \__str_format_fp_trim_loop:w 0; \__str_format_fp_trim_dot:w .; \s_stop e
+ ; \__str_format_fp_trim_loop:w 0; \__str_format_fp_trim_dot:w .; \s__str_stop e
}
\cs_new:Npn \__str_format_fp_trim_loop:w #1 0; #2 { #2 #1 ; #2 }
\cs_new:Npn \__str_format_fp_trim_dot:w #1 .; { \__str_format_fp_trim_end:w #1 ; }
-\cs_new:Npn \__str_format_fp_trim_end:w #1 ; #2 \s_stop { #1 }
+\cs_new:Npn \__str_format_fp_trim_end:w #1 ; #2 \s__str_stop { #1 }
\__kernel_msg_new:nnn { str } { invalid-format }
{ Invalid~format~'#1'. }
\__kernel_msg_new:nnn { str } { invalid-align-format }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty b/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
index 3bbd279c109..eb2f53c68e9 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
@@ -20,24 +20,27 @@
%%
%% File: l3sys-shell.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3sys-shell}{2020-01-12}{}
+\ProvidesExplPackage{l3sys-shell}{2020-05-18}{}
{L3 Experimental system shell functions}
+\scan_new:N \s__sys_stop
+\quark_new:N \q__sys_nil
+\__kernel_quark_new_conditional:Nn \__sys_quark_if_nil:N { F }
\cs_new:Npn \__sys_path_to_win:n #1
{
- \exp_after:wN \__sys_path_to_win:w \tl_to_str:n {#1} ~ \q_stop
+ \exp_after:wN \__sys_path_to_win:w \tl_to_str:n {#1} ~ \s__sys_stop
}
-\cs_new:Npn \__sys_path_to_win:w #1 ~ #2 \q_stop
+\cs_new:Npn \__sys_path_to_win:w #1 ~ #2 \s__sys_stop
{
- \__sys_path_to_win:N #1 \q_nil
+ \__sys_path_to_win:N #1 \q__sys_nil
\tl_if_empty:nF {#2}
{
\c_space_tl
- \__sys_path_to_win:w #2 \q_stop
+ \__sys_path_to_win:w #2 \s__sys_stop
}
}
\cs_new:Npn \__sys_path_to_win:N #1
{
- \quark_if_nil:NF #1
+ \__sys_quark_if_nil:NF #1
{
\token_if_eq_meaning:NNTF #1 /
{ \c_backslash_str }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
index 92485efab50..e3c873bbf9b 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
@@ -20,7 +20,7 @@
%%
%% File: xcoffins.dtx
\RequirePackage{xparse}
-\ProvidesExplPackage{xcoffins}{2020-01-12}{}
+\ProvidesExplPackage{xcoffins}{2020-05-18}{}
{L3 Experimental design level coffins}
\keys_define:nn { coffin }
{
diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
index dbedd8ac3d9..d2811198790 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
@@ -32,7 +32,7 @@
}%
\endinput
}
-\ProvidesExplPackage{l3galley}{2020-01-12}{}
+\ProvidesExplPackage{l3galley}{2020-05-18}{}
{L3 Experimental galley code}
\int_new:N \l__galley_tmp_int
\seq_new:N \g__galley_tmpa_seq
diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
index e025cc69497..2812635e380 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
@@ -20,7 +20,7 @@
%%
%% File: xgalley.dtx
\RequirePackage{xparse}
-\ProvidesExplPackage{xgalley}{2020-01-12}{}
+\ProvidesExplPackage{xgalley}{2020-05-18}{}
{L3 Experimental galley}
\RequirePackage{xparse,xtemplate,l3galley}
\clist_new:N \l__galley_tmpa_clist