From 64ff205837dfa8fa805e4e3edde437799e630463 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 18 May 2020 20:40:47 +0000 Subject: l3experimental (18may20) git-svn-id: svn://tug.org/texlive/trunk@55205 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/latex/l3experimental/CHANGELOG.md | 8 +- .../texmf-dist/doc/latex/l3experimental/README.md | 4 +- .../l3experimental/l3benchmark/l3benchmark.pdf | Bin 314019 -> 314627 bytes .../doc/latex/l3experimental/l3cctab/l3cctab.pdf | Bin 337341 -> 337933 bytes .../doc/latex/l3experimental/l3color/l3color.pdf | Bin 349685 -> 350289 bytes .../latex/l3experimental/l3draw/l3draw-code.pdf | Bin 624175 -> 625771 bytes .../doc/latex/l3experimental/l3draw/l3draw.pdf | Bin 491117 -> 491703 bytes .../latex/l3experimental/l3graphics/l3graphics.pdf | Bin 362861 -> 363473 bytes .../doc/latex/l3experimental/l3pdf/l3pdf-code.pdf | Bin 277030 -> 278894 bytes .../doc/latex/l3experimental/l3pdf/l3pdf.pdf | Bin 349545 -> 351156 bytes .../latex/l3experimental/l3str/l3str-format.pdf | Bin 344664 -> 345275 bytes .../l3experimental/l3sys-shell/l3sys-shell.pdf | Bin 311429 -> 312114 bytes .../doc/latex/l3experimental/xcoffins/xcoffins.pdf | Bin 372664 -> 373261 bytes .../doc/latex/l3experimental/xgalley/l3galley.pdf | Bin 385522 -> 386128 bytes .../doc/latex/l3experimental/xgalley/xgalley.pdf | Bin 285447 -> 286048 bytes .../l3experimental/l3benchmark/l3benchmark.dtx | 4 +- .../latex/l3experimental/l3cctab/l3cctab.dtx | 4 +- .../latex/l3experimental/l3color/l3color.dtx | 87 +++++++++++---------- .../latex/l3experimental/l3draw/l3draw-boxes.dtx | 2 +- .../latex/l3experimental/l3draw/l3draw-layers.dtx | 2 +- .../latex/l3experimental/l3draw/l3draw-paths.dtx | 2 +- .../latex/l3experimental/l3draw/l3draw-points.dtx | 18 ++--- .../latex/l3experimental/l3draw/l3draw-scopes.dtx | 2 +- .../l3experimental/l3draw/l3draw-softpath.dtx | 18 ++--- .../latex/l3experimental/l3draw/l3draw-state.dtx | 16 ++-- .../l3experimental/l3draw/l3draw-transforms.dtx | 2 +- .../source/latex/l3experimental/l3draw/l3draw.dtx | 29 ++++++- .../latex/l3experimental/l3graphics/l3graphics.dtx | 23 ++++-- .../source/latex/l3experimental/l3pdf/l3pdf.dtx | 41 +++++++--- .../latex/l3experimental/l3str/l3str-format.dtx | 50 ++++++------ .../l3experimental/l3sys-shell/l3sys-shell.dtx | 39 ++++++--- .../latex/l3experimental/xcoffins/xcoffins.dtx | 4 +- .../latex/l3experimental/xgalley/l3galley.dtx | 6 +- .../latex/l3experimental/xgalley/xgalley.dtx | 8 +- .../l3experimental/l3benchmark/l3benchmark.sty | 2 +- .../tex/latex/l3experimental/l3cctab/l3cctab.sty | 2 +- .../tex/latex/l3experimental/l3color/l3color.sty | 73 ++++++++--------- .../tex/latex/l3experimental/l3draw/l3draw.sty | 53 +++++++------ .../latex/l3experimental/l3graphics/l3graphics.sty | 15 ++-- .../tex/latex/l3experimental/l3pdf/l3pdf.sty | 23 ++++-- .../latex/l3experimental/l3str/l3str-format.sty | 26 +++--- .../l3experimental/l3sys-shell/l3sys-shell.sty | 15 ++-- .../tex/latex/l3experimental/xcoffins/xcoffins.sty | 2 +- .../tex/latex/l3experimental/xgalley/l3galley.sty | 2 +- .../tex/latex/l3experimental/xgalley/xgalley.sty | 2 +- 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. ----- -

Copyright (C) 1998-2011,2015-2020 The LaTeX3 Project
+

Copyright (C) 1998-2004,2008-2012,2014-2020 The LaTeX3 Project
http://latex-project.org/
All rights reserved.

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 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf and b/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3cctab/l3cctab.pdf and b/Master/texmf-dist/doc/latex/l3experimental/l3cctab/l3cctab.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3color/l3color.pdf and b/Master/texmf-dist/doc/latex/l3experimental/l3color/l3color.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf and b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf and b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf and b/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf-code.pdf and b/Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf-code.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf.pdf and b/Master/texmf-dist/doc/latex/l3experimental/l3pdf/l3pdf.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf and b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf and b/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf and b/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf and b/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf 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 Binary files a/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf and b/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf 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} % % \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} % % \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} % % \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} % % \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} % % \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} % % \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} % % \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} % % \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} % % \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 -- cgit v1.2.3