summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2024-05-22 20:34:20 +0000
committerKarl Berry <karl@freefriends.org>2024-05-22 20:34:20 +0000
commitceeca4db570f8ccb7f4f3bc019d6017d3d00fcf6 (patch)
treea7001cea6fcf47e337132bc9fa6ea212a254b1c3 /Master/texmf-dist/tex/latex
parent1feee6aef8a8bc5e4ca1ad4d4e9cec1ba7e5f9d4 (diff)
l3 (22may24)
git-svn-id: svn://tug.org/texlive/trunk@71323 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.pro405
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def15
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex238
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.ltx2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3debug.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3doc.cls2
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty5
17 files changed, 535 insertions, 154 deletions
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
index a8a54ec2dae..77e846f3f16 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvipdfmx.def}{2024-04-11}{}
+ {l3backend-dvipdfmx.def}{2024-05-08}{}
{L3 backend support: dvipdfmx}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
index 0c60ac3e936..d1cc1e78023 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvips.def}{2024-04-11}{}
+ {l3backend-dvips.def}{2024-05-08}{}
{L3 backend support: dvips}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.pro b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.pro
new file mode 100644
index 00000000000..574b83c8b1a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.pro
@@ -0,0 +1,405 @@
+%%
+%% This is file `l3backend-dvips.pro',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% l3backend-header.dtx (with options: `header,dvips')
+%%
+%% Copyright (C) 2019-2024 The LaTeX Project
+%%
+%% It may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License (LPPL), either version 1.3c of
+%% this license or (at your option) any later version. The latest
+%% version of this license is in the file:
+%%
+%% https://www.latex-project.org/lppl.txt
+%%
+%% This file is part of the "l3backend bundle" (The Work in LPPL)
+%% and all files in that bundle must be distributed together.
+%%
+%% File: l3backend-header.dtx
+/color.sc { } def
+TeXDict begin
+/TeXcolorseparation { setcolor } def
+end
+true setglobal
+/pdf.globaldict 4 dict def
+false setglobal
+/pdf.cvs { 65534 string cvs } def
+/pdf.dvi.pt { 72.27 mul Resolution div } def
+/pdf.pt.dvi { 72.27 div Resolution mul } def
+/pdf.rect.ht { dup 1 get neg exch 3 get add } def
+/pdf.linkmargin { 1 pdf.pt.dvi } def
+/pdf.linkdp.pad { 0 } def
+/pdf.linkht.pad { 0 } def
+/pdf.rect
+ { /Rect [ pdf.llx pdf.lly pdf.urx pdf.ury ] } def
+/pdf.save.ll
+ {
+ currentpoint
+ /pdf.lly exch def
+ /pdf.llx exch def
+ }
+ def
+/pdf.save.ur
+ {
+ currentpoint
+ /pdf.ury exch def
+ /pdf.urx exch def
+ }
+ def
+/pdf.save.linkll
+ {
+ currentpoint
+ pdf.linkmargin add
+ pdf.linkdp.pad add
+ /pdf.lly exch def
+ pdf.linkmargin sub
+ /pdf.llx exch def
+ }
+ def
+/pdf.save.linkur
+ {
+ currentpoint
+ pdf.linkmargin sub
+ pdf.linkht.pad sub
+ /pdf.ury exch def
+ pdf.linkmargin add
+ /pdf.urx exch def
+ }
+ def
+/pdf.dest.anchor
+ {
+ currentpoint exch
+ pdf.dvi.pt 72 add
+ /pdf.dest.x exch def
+ pdf.dvi.pt
+ vsize 72 sub exch sub
+ /pdf.dest.y exch def
+ }
+ def
+/pdf.dest.point
+ { pdf.dest.x pdf.dest.y } def
+/pdf.dest2device
+ {
+ /pdf.dest.y exch def
+ /pdf.dest.x exch def
+ matrix currentmatrix
+ matrix defaultmatrix
+ matrix invertmatrix
+ matrix concatmatrix
+ cvx exec
+ /pdf.dev.y exch def
+ /pdf.dev.x exch def
+ /pdf.tmpd exch def
+ /pdf.tmpc exch def
+ /pdf.tmpb exch def
+ /pdf.tmpa exch def
+ pdf.dest.x pdf.tmpa mul
+ pdf.dest.y pdf.tmpc mul add
+ pdf.dev.x add
+ pdf.dest.x pdf.tmpb mul
+ pdf.dest.y pdf.tmpd mul add
+ pdf.dev.y add
+ }
+ def
+/pdf.bordertracking false def
+/pdf.bordertracking.begin
+ {
+ SDict /pdf.bordertracking true put
+ SDict /pdf.leftboundary undef
+ SDict /pdf.rightboundary undef
+ /a where
+ {
+ /a
+ {
+ currentpoint pop
+ SDict /pdf.rightboundary known dup
+ {
+ SDict /pdf.rightboundary get 2 index lt
+ { not }
+ if
+ }
+ if
+ { pop }
+ { SDict exch /pdf.rightboundary exch put }
+ ifelse
+ moveto
+ currentpoint pop
+ SDict /pdf.leftboundary known dup
+ {
+ SDict /pdf.leftboundary get 2 index gt
+ { not }
+ if
+ }
+ if
+ { pop }
+ { SDict exch /pdf.leftboundary exch put }
+ ifelse
+ }
+ put
+ }
+ if
+ }
+ def
+/pdf.bordertracking.end
+ {
+ /a where { /a { moveto } put } if
+ /x where { /x { 0 exch rmoveto } put } if
+ SDict /pdf.leftboundary known
+ { pdf.outerbox 0 pdf.leftboundary put }
+ if
+ SDict /pdf.rightboundary known
+ { pdf.outerbox 2 pdf.rightboundary put }
+ if
+ SDict /pdf.bordertracking false put
+ }
+ def
+ /pdf.bordertracking.endpage
+{
+ pdf.bordertracking
+ {
+ pdf.bordertracking.end
+ true setglobal
+ pdf.globaldict
+ /pdf.brokenlink.rect [ pdf.outerbox aload pop ] put
+ pdf.globaldict
+ /pdf.brokenlink.skip pdf.baselineskip put
+ pdf.globaldict
+ /pdf.brokenlink.dict
+ pdf.link.dict pdf.cvs put
+ false setglobal
+ mark pdf.link.dict cvx exec /Rect
+ [
+ pdf.llx
+ pdf.lly
+ pdf.outerbox 2 get pdf.linkmargin add
+ currentpoint exch pop
+ pdf.outerbox pdf.rect.ht sub pdf.linkmargin sub
+ ]
+ /ANN pdf.pdfmark
+ }
+ if
+}
+ def
+/pdf.bordertracking.continue
+ {
+ /pdf.link.dict pdf.globaldict
+ /pdf.brokenlink.dict get def
+ /pdf.outerbox pdf.globaldict
+ /pdf.brokenlink.rect get def
+ /pdf.baselineskip pdf.globaldict
+ /pdf.brokenlink.skip get def
+ pdf.globaldict dup dup
+ /pdf.brokenlink.dict undef
+ /pdf.brokenlink.skip undef
+ /pdf.brokenlink.rect undef
+ currentpoint
+ /pdf.originy exch def
+ /pdf.originx exch def
+ /a where
+ {
+ /a
+ {
+ moveto
+ SDict
+ begin
+ currentpoint pdf.originy ne exch
+ pdf.originx ne or
+ {
+ pdf.save.linkll
+ /pdf.lly
+ pdf.lly pdf.outerbox 1 get sub def
+ pdf.bordertracking.begin
+ }
+ if
+ end
+ }
+ put
+ }
+ if
+ /x where
+ {
+ /x
+ {
+ 0 exch rmoveto
+ SDict
+ begin
+ currentpoint
+ pdf.originy ne exch pdf.originx ne or
+ {
+ pdf.save.linkll
+ /pdf.lly
+ pdf.lly pdf.outerbox 1 get sub def
+ pdf.bordertracking.begin
+ }
+ if
+ end
+ }
+ put
+ }
+ if
+ }
+ def
+/pdf.breaklink
+ {
+ pop
+ counttomark 2 mod 0 eq
+ {
+ counttomark /pdf.count exch def
+ {
+ pdf.count 0 eq { exit } if
+ counttomark 2 roll
+ 1 index /Rect eq
+ {
+ dup 4 array copy
+ dup dup
+ 1 get
+ pdf.outerbox pdf.rect.ht
+ pdf.linkmargin 2 mul add sub
+ 3 exch put
+ dup
+ pdf.outerbox 2 get
+ pdf.linkmargin add
+ 2 exch put
+ dup dup
+ 3 get
+ pdf.outerbox pdf.rect.ht
+ pdf.linkmargin 2 mul add add
+ 1 exch put
+ /pdf.currentrect exch def
+ pdf.breaklink.write
+ {
+ pdf.currentrect
+ dup
+ pdf.outerbox 0 get
+ pdf.linkmargin sub
+ 0 exch put
+ dup
+ pdf.outerbox 2 get
+ pdf.linkmargin add
+ 2 exch put
+ dup dup
+ 1 get
+ pdf.baselineskip add
+ 1 exch put
+ dup dup
+ 3 get
+ pdf.baselineskip add
+ 3 exch put
+ /pdf.currentrect exch def
+ pdf.breaklink.write
+ }
+ 1 index 3 get
+ pdf.linkmargin 2 mul add
+ pdf.outerbox pdf.rect.ht add
+ 2 index 1 get sub
+ pdf.baselineskip div round cvi 1 sub
+ exch
+ repeat
+ pdf.currentrect
+ dup
+ pdf.outerbox 0 get
+ pdf.linkmargin sub
+ 0 exch put
+ dup dup
+ 1 get
+ pdf.baselineskip add
+ 1 exch put
+ dup dup
+ 3 get
+ pdf.baselineskip add
+ 3 exch put
+ dup 2 index 2 get 2 exch put
+ /pdf.currentrect exch def
+ pdf.breaklink.write
+ SDict /pdf.pdfmark.good false put
+ exit
+ }
+ { pdf.count 2 sub /pdf.count exch def }
+ ifelse
+ }
+ loop
+ }
+ if
+ /ANN
+ }
+ def
+/pdf.breaklink.write
+ {
+ counttomark 1 sub
+ index /_objdef eq
+ {
+ counttomark -2 roll
+ dup wcheck
+ {
+ readonly
+ counttomark 2 roll
+ }
+ { pop pop }
+ ifelse
+ }
+ if
+ counttomark 1 add copy
+ pop pdf.currentrect
+ /ANN pdfmark
+ }
+ def
+/pdf.pdfmark
+ {
+ SDict /pdf.pdfmark.good true put
+ dup /ANN eq
+ {
+ pdf.pdfmark.store
+ pdf.pdfmark.dict
+ begin
+ Subtype /Link eq
+ currentdict /Rect known and
+ SDict /pdf.outerbox known and
+ SDict /pdf.baselineskip known and
+ {
+ Rect 3 get
+ pdf.linkmargin 2 mul add
+ pdf.outerbox pdf.rect.ht add
+ Rect 1 get sub
+ pdf.baselineskip div round cvi 0 gt
+ { pdf.breaklink }
+ if
+ }
+ if
+ end
+ SDict /pdf.outerbox undef
+ SDict /pdf.baselineskip undef
+ currentdict /pdf.pdfmark.dict undef
+ }
+ if
+ pdf.pdfmark.good
+ { pdfmark }
+ { cleartomark }
+ ifelse
+ }
+ def
+/pdf.pdfmark.store
+ {
+ /pdf.pdfmark.dict 65534 dict def
+ counttomark 1 add copy
+ pop
+ {
+ dup mark eq
+ {
+ pop
+ exit
+ }
+ {
+ pdf.pdfmark.dict
+ begin def end
+ }
+ ifelse
+ }
+ loop
+}
+ def
+%%
+%%
+%% End of file `l3backend-dvips.pro'.
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
index e1483003cc7..23474878bb2 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvisvgm.def}{2024-04-11}{}
+ {l3backend-dvisvgm.def}{2024-05-08}{}
{L3 backend support: dvisvgm}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
@@ -141,17 +141,10 @@
\__kernel_backend_literal:n { color~push~ #1 }
}
\cs_new_protected:Npn \__color_backend_stroke_cmyk:n #1
- { \__color_backend_cmyk:w #1 \s__color_stop }
-\cs_new_protected:Npn \__color_backend_stroke_cmyk:w
- #1 ~ #2 ~ #3 ~ #4 \s__color_stop
{
- \use:e
- {
- \__color_backend:nnn
- { \fp_eval:n { -100 * ( 1 - min ( 1 , #1 + #4 ) ) } }
- { \fp_eval:n { -100 * ( 1 - min ( 1 , #2 + #4 ) ) } }
- { \fp_eval:n { -100 * ( 1 - min ( 1 , #3 + #4 ) ) } }
- }
+ \__color_backend_fill_cmyk:n {#1}
+ \__kernel_backend_scope:n { stroke = "{?color}" }
+ \__color_backend_reset:
}
\cs_new_protected:Npn \__color_backend_stroke_gray:n #1
{
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
index cdd871cceda..c822ca86f40 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-luatex.def}{2024-04-11}{}
+ {l3backend-luatex.def}{2024-05-08}{}
{L3 backend support: PDF output (LuaTeX)}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
index 3c51094bbc8..53a4e3e35df 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-pdftex.def}{2024-04-11}{}
+ {l3backend-pdftex.def}{2024-05-08}{}
{L3 backend support: PDF output (pdfTeX)}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def
index e05725885ca..6f86de196b1 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-xetex.def}{2024-04-11}{}
+ {l3backend-xetex.def}{2024-05-08}{}
{L3 backend support: XeTeX}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index 8207f52f0fe..cd26bfb47d0 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -75,7 +75,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2024-04-11}%
+\def\ExplFileDate{2024-05-08}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -10078,9 +10078,19 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_generate_variant:Nn \prop_gput:Nnn
{ cno , co , coo , cnx , cVx , cxV , cxx }
\cs_generate_variant:Nn \prop_put_if_not_in:Nnn
- { NnV , NV , c , cnV , cV }
+ {
+ NnV , Nnv , Nne , NV , NVV , NVv , NVe ,
+ Nv , NvV , Nvv , Nve , Ne , NeV , Nev , Nee ,
+ c , cnV , cnv , cne , cV , cVV , cVv , cVe ,
+ cv , cvV , cvv , cve , ce , ceV , cev , cee
+ }
\cs_generate_variant:Nn \prop_gput_if_not_in:Nnn
- { NnV , NV , c , cnV , cV }
+ {
+ NnV , Nnv , Nne , NV , NVV , NVv , NVe ,
+ Nv , NvV , Nvv , Nve , Ne , NeV , Nev , Nee ,
+ c , cnV , cnv , cne , cV , cVV , cVv , cVe ,
+ cv , cvV , cvv , cve , ce , ceV , cev , cee
+ }
\cs_new_protected:Npn \__prop_put:nNNnn #1#2#3#4#5
{
\tl_set:Nn \l__prop_internal_tl
@@ -13739,8 +13749,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\tl_set:Nn \l__keys_relative_tl { \q__keys_no_value }
\str_new:N \l__keys_property_str
\bool_new:N \l__keys_selective_bool
-\bool_new:N \l__keys_filtered_bool
-\seq_new:N \l__keys_selective_seq
+\bool_new:N \l__keys_exclude_bool
+\seq_new:N \l__keys_selective_clist
+\seq_new:N \l__keys_tmp_clist
\clist_new:N \l__keys_unused_clist
\tl_new:N \l_keys_value_tl
\bool_new:N \l__keys_tmp_bool
@@ -14359,27 +14370,40 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__keys_value_requirement:nn { forbidden } {#1} }
\cs_new_protected:cpn { \c__keys_props_root_str .value_required:n } #1
{ \__keys_value_requirement:nn { required } {#1} }
-\cs_new_protected:Npn \keys_set:nn #1#2
+\cs_new_protected:Npn \__keys_set:nnnnNn
+ {
+ \exp_args:Nooo \__keys_set:nnnnnnnNn
+ \l__keys_unused_clist
+ \l__keys_selective_clist
+ \l__keys_relative_tl
+ }
+\cs_new_protected:Npn \__keys_set:nnnnnnnNn #1#2#3#4#5#6#7#8#9
{
+ \clist_clear:N \l__keys_unused_clist
+ \clist_set:Ne \l__keys_selective_clist { \tl_to_str:n {#5} }
+ \tl_set:Nn \l__keys_relative_tl {#7}
\use:e
{
- \bool_set_false:N \exp_not:N \l__keys_only_known_bool
- \bool_set_false:N \exp_not:N \l__keys_filtered_bool
- \bool_set_false:N \exp_not:N \l__keys_selective_bool
- \tl_set:Nn \exp_not:N \l__keys_relative_tl
- { \exp_not:N \q__keys_no_value }
- \__keys_set:nn \exp_not:n { {#1} {#2} }
- \bool_if:NT \l__keys_only_known_bool
- { \bool_set_true:N \exp_not:N \l__keys_only_known_bool }
- \bool_if:NT \l__keys_filtered_bool
- { \bool_set_true:N \exp_not:N \l__keys_filtered_bool }
- \bool_if:NT \l__keys_selective_bool
- { \bool_set_true:N \exp_not:N \l__keys_selective_bool }
- \tl_set:Nn \exp_not:N \l__keys_relative_tl
- { \exp_not:o \l__keys_relative_tl }
+ \exp_not:n
+ {
+ #9
+ \__keys_set:nn {#4} {#6}
+ }
+ \__keys_reset_bool:N \l__keys_only_known_bool
+ \__keys_reset_bool:N \l__keys_exclude_bool
+ \__keys_reset_bool:N \l__keys_selective_bool
}
+ \clist_set_eq:NN #8 \l__keys_unused_clist
+ \__kernel_tl_set:Nx \l__keys_unused_clist { \exp_not:n {#1} }
+ \__kernel_tl_set:Nx \l__keys_selective_clist {#2}
+ \__kernel_tl_set:Nx \l__keys_relative_tl { \exp_not:n {#3} }
+ }
+\cs_new:Npn \__keys_reset_bool:N #1
+ {
+ \exp_not:c
+ { bool_set_ \bool_if:NTF #1 { true } { false } :N }
+ \exp_not:N #1
}
-\cs_generate_variant:Nn \keys_set:nn { nV , nv , ne , no , nx }
\cs_new_protected:Npn \__keys_set:nn #1#2
{ \exp_args:No \__keys_set:nnn \l__keys_module_str {#1} {#2} }
\cs_new_protected:Npn \__keys_set:nnn #1#2#3
@@ -14388,119 +14412,74 @@ Type H <return> for immediate help}\def~{\errmessage{%
\keyval_parse:NNn \__keys_set_keyval:n \__keys_set_keyval:nn {#3}
\str_set:Nn \l__keys_module_str {#1}
}
-\cs_new_protected:Npn \keys_set_known:nnN #1#2#3
+\cs_new_protected:Npn \keys_set:nn #1#2
{
- \exp_args:No \__keys_set_known:nnnnN
- \l__keys_unused_clist \q__keys_no_value {#1} {#2} #3
+ \__keys_set:nnnnNn
+ {#1} { } {#2} { \q__keys_no_value } \l__keys_tmp_clist
+ {
+ \bool_set_false:N \l__keys_only_known_bool
+ \bool_set_false:N \l__keys_exclude_bool
+ \bool_set_false:N \l__keys_selective_bool
+ }
}
-\cs_generate_variant:Nn \keys_set_known:nnN { nV , nv , ne , no }
+\cs_generate_variant:Nn \keys_set:nn { nV , nv , ne , no , nx }
\cs_new_protected:Npn \keys_set_known:nnnN #1#2#3#4
{
- \exp_args:No \__keys_set_known:nnnnN
- \l__keys_unused_clist {#3} {#1} {#2} #4
+ \__keys_set:nnnnNn
+ {#1} { } {#2} {#3} #4
+ {
+ \bool_set_true:N \l__keys_only_known_bool
+ \bool_set_false:N \l__keys_exclude_bool
+ \bool_set_false:N \l__keys_selective_bool
+ }
}
\cs_generate_variant:Nn \keys_set_known:nnnN { nV , nv , ne , no }
-\cs_new_protected:Npn \__keys_set_known:nnnnN #1#2#3#4#5
- {
- \clist_clear:N \l__keys_unused_clist
- \__keys_set_known:nnn {#2} {#3} {#4}
- \__kernel_tl_set:Nx #5 { \exp_not:o \l__keys_unused_clist }
- \__kernel_tl_set:Nx \l__keys_unused_clist { \exp_not:n {#1} }
- }
+\cs_new_protected:Npn \keys_set_known:nnN #1#2#3
+ { \keys_set_known:nnnN {#1} {#2} { \q__keys_no_value } #3 }
+\cs_generate_variant:Nn \keys_set_known:nnN { nV , nv , ne , no }
\cs_new_protected:Npn \keys_set_known:nn #1#2
- { \__keys_set_known:nnn \q__keys_no_value {#1} {#2} }
+ { \keys_set_known:nnnN {#1} {#2} { \q__keys_no_value } \l__keys_tmp_clist }
\cs_generate_variant:Nn \keys_set_known:nn { nV , nv , ne , no }
-\cs_new_protected:Npn \__keys_set_known:nnn #1#2#3
+\cs_new_protected:Npn \keys_set_exclude_groups:nnnnN #1#2#3#4#5
{
- \use:e
+ \__keys_set:nnnnNn
+ {#1} {#2} {#3} {#4} #5
{
- \bool_set_true:N \exp_not:N \l__keys_only_known_bool
- \bool_set_false:N \exp_not:N \l__keys_filtered_bool
- \bool_set_false:N \exp_not:N \l__keys_selective_bool
- \tl_set:Nn \exp_not:N \l__keys_relative_tl { \exp_not:n {#1} }
- \__keys_set:nn \exp_not:n { {#2} {#3} }
- \bool_if:NF \l__keys_only_known_bool
- { \bool_set_false:N \exp_not:N \l__keys_only_known_bool }
- \bool_if:NT \l__keys_filtered_bool
- { \bool_set_true:N \exp_not:N \l__keys_filtered_bool }
- \bool_if:NT \l__keys_selective_bool
- { \bool_set_true:N \exp_not:N \l__keys_selective_bool }
- \tl_set:Nn \exp_not:N \l__keys_relative_tl
- { \exp_not:o \l__keys_relative_tl }
+ \bool_set_false:N \l__keys_only_known_bool
+ \bool_set_true:N \l__keys_exclude_bool
+ \bool_set_true:N \l__keys_selective_bool
}
}
+\cs_generate_variant:Nn \keys_set_exclude_groups:nnnnN { nnV , nnv , nno }
\cs_new_protected:Npn \keys_set_exclude_groups:nnnN #1#2#3#4
- {
- \exp_args:No \__keys_set_exclude_groups:nnnnnN
- \l__keys_unused_clist
- \q__keys_no_value {#1} {#2} {#3} #4
- }
+ { \keys_set_exclude_groups:nnnnN {#1} {#2} {#3} { \q__keys_no_value } #4 }
\cs_generate_variant:Nn \keys_set_exclude_groups:nnnN { nnV , nnv , nno }
-\cs_new_protected:Npn \keys_set_exclude_groups:nnnnN #1#2#3#4#5
- {
- \exp_args:No \__keys_set_exclude_groups:nnnnnN
- \l__keys_unused_clist {#4} {#1} {#2} {#3} #5
- }
-\cs_generate_variant:Nn \keys_set_exclude_groups:nnnnN { nnV , nnv , nno }
-\cs_new_protected:Npn \__keys_set_exclude_groups:nnnnnN #1#2#3#4#5#6
+\cs_new_protected:Npn \keys_set_exclude_groups:nnn #1#2#3
{
- \clist_clear:N \l__keys_unused_clist
- \__keys_set_exclude_groups:nnnn {#2} {#3} {#4} {#5}
- \__kernel_tl_set:Nx #6 { \exp_not:o \l__keys_unused_clist }
- \__kernel_tl_set:Nx \l__keys_unused_clist { \exp_not:n {#1} }
+ \keys_set_exclude_groups:nnnnN {#1} {#2} {#3}
+ { \q__keys_no_value } \l__keys_tmp_clist
}
-\cs_new_protected:Npn \keys_set_exclude_groups:nnn #1#2#3
- {\__keys_set_exclude_groups:nnnn \q__keys_no_value {#1} {#2} {#3} }
\cs_generate_variant:Nn \keys_set_exclude_groups:nnn { nnV , nnv , nno }
-\cs_new_protected:Npn \__keys_set_exclude_groups:nnnn #1#2#3#4
+\cs_new_protected:Npn \keys_set_groups:nnnnN #1#2#3#4#5
{
- \use:e
+ \__keys_set:nnnnNn
+ {#1} {#2} {#3} {#4} #5
{
- \bool_set_false:N \exp_not:N \l__keys_only_known_bool
- \bool_set_true:N \exp_not:N \l__keys_filtered_bool
- \bool_set_true:N \exp_not:N \l__keys_selective_bool
- \tl_set:Nn \exp_not:N \l__keys_relative_tl { \exp_not:n {#1} }
- \__keys_set_selective:nnn \exp_not:n { {#2} {#3} {#4} }
- \bool_if:NT \l__keys_only_known_bool
- { \bool_set_true:N \exp_not:N \l__keys_only_known_bool }
- \bool_if:NF \l__keys_filtered_bool
- { \bool_set_false:N \exp_not:N \l__keys_filtered_bool }
- \bool_if:NF \l__keys_selective_bool
- { \bool_set_false:N \exp_not:N \l__keys_selective_bool }
- \tl_set:Nn \exp_not:N \l__keys_relative_tl
- { \exp_not:o \l__keys_relative_tl }
+ \bool_set_false:N \l__keys_only_known_bool
+ \bool_set_false:N \l__keys_exclude_bool
+ \bool_set_true:N \l__keys_selective_bool
}
}
+\cs_generate_variant:Nn \keys_set_groups:nnnnN { nnV , nnv , nno }
+\cs_new_protected:Npn \keys_set_groups:nnnN #1#2#3#4
+ { \keys_set_groups:nnnnN {#1} {#2} {#3} { \q__keys_no_value } #4 }
+\cs_generate_variant:Nn \keys_set_groups:nnnN { nnV , nnv , nno }
\cs_new_protected:Npn \keys_set_groups:nnn #1#2#3
{
- \use:e
- {
- \bool_set_false:N \exp_not:N \l__keys_only_known_bool
- \bool_set_false:N \exp_not:N \l__keys_filtered_bool
- \bool_set_true:N \exp_not:N \l__keys_selective_bool
- \tl_set:Nn \exp_not:N \l__keys_relative_tl
- { \exp_not:N \q__keys_no_value }
- \__keys_set_selective:nnn \exp_not:n { {#1} {#2} {#3} }
- \bool_if:NT \l__keys_only_known_bool
- { \bool_set_true:N \exp_not:N \l__keys_only_known_bool }
- \bool_if:NF \l__keys_filtered_bool
- { \bool_set_true:N \exp_not:N \l__keys_filtered_bool }
- \bool_if:NF \l__keys_selective_bool
- { \bool_set_false:N \exp_not:N \l__keys_selective_bool }
- \tl_set:Nn \exp_not:N \l__keys_relative_tl
- { \exp_not:o \l__keys_relative_tl }
- }
+ \keys_set_groups:nnnnN {#1} {#2} {#3}
+ { \q__keys_no_value } \l__keys_tmp_clist
}
\cs_generate_variant:Nn \keys_set_groups:nnn { nnV , nnv , nno }
-\cs_new_protected:Npn \__keys_set_selective:nnn
- { \exp_args:No \__keys_set_selective:nnnn \l__keys_selective_seq }
-\cs_new_protected:Npn \__keys_set_selective:nnnn #1#2#3#4
- {
- \exp_args:NNe \seq_set_from_clist:Nn
- \l__keys_selective_seq { \tl_to_str:n {#3} }
- \__keys_set:nn {#2} {#4}
- \tl_set:Nn \l__keys_selective_seq {#1}
- }
\cs_new_protected:Npn \keys_precompile:nnN #1#2#3
{
\bool_set_true:N \l__keys_precompile_bool
@@ -14574,7 +14553,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__keys_check_groups:
}
{
- \bool_if:NTF \l__keys_filtered_bool
+ \bool_if:NTF \l__keys_exclude_bool
\__keys_execute:
\__keys_store_unused:
}
@@ -14582,22 +14561,22 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new_protected:Npn \__keys_check_groups:
{
\bool_set_false:N \l__keys_tmp_bool
- \seq_map_inline:Nn \l__keys_selective_seq
+ \clist_map_inline:Nn \l__keys_selective_clist
{
\clist_if_in:NnT \l__keys_groups_clist {##1}
{
\bool_set_true:N \l__keys_tmp_bool
- \seq_map_break:
+ \clist_map_break:
}
}
\bool_if:NTF \l__keys_tmp_bool
{
- \bool_if:NTF \l__keys_filtered_bool
+ \bool_if:NTF \l__keys_exclude_bool
\__keys_store_unused:
\__keys_execute:
}
{
- \bool_if:NTF \l__keys_filtered_bool
+ \bool_if:NTF \l__keys_exclude_bool
\__keys_execute:
\__keys_store_unused:
}
@@ -26019,7 +25998,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__regex_compile_abort_tokens:e {#1}
#2 #3
}
-\cs_new_protected:Npn \__regex_compile_quantifier_lazyness:nnNN #1#2#3#4
+\cs_new_protected:Npn \__regex_compile_quantifier_laziness:nnNN #1#2#3#4
{
\__regex_two_if_eq:NNNNTF #3 #4 \__regex_compile_special:N ?
{
@@ -26033,11 +26012,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
}
\cs_new_protected:cpn { __regex_compile_quantifier_?:w }
- { \__regex_compile_quantifier_lazyness:nnNN { 0 } { 1 } }
+ { \__regex_compile_quantifier_laziness:nnNN { 0 } { 1 } }
\cs_new_protected:cpn { __regex_compile_quantifier_*:w }
- { \__regex_compile_quantifier_lazyness:nnNN { 0 } { -1 } }
+ { \__regex_compile_quantifier_laziness:nnNN { 0 } { -1 } }
\cs_new_protected:cpn { __regex_compile_quantifier_+:w }
- { \__regex_compile_quantifier_lazyness:nnNN { 1 } { -1 } }
+ { \__regex_compile_quantifier_laziness:nnNN { 1 } { -1 } }
\cs_new_protected:cpn { __regex_compile_quantifier_ \c_left_brace_str :w }
{
\__regex_get_digits:NTFw \l__regex_internal_a_int
@@ -26050,7 +26029,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
{ \__regex_compile_special:N \c_right_brace_str }
{
- \exp_args:No \__regex_compile_quantifier_lazyness:nnNN
+ \exp_args:No \__regex_compile_quantifier_laziness:nnNN
{ \int_use:N \l__regex_internal_a_int } 0
}
{ \__regex_compile_special:N , }
@@ -26070,7 +26049,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\__regex_two_if_eq:NNNNTF #1 #2 \__regex_compile_special:N \c_right_brace_str
{
- \exp_args:No \__regex_compile_quantifier_lazyness:nnNN
+ \exp_args:No \__regex_compile_quantifier_laziness:nnNN
{ \int_use:N \l__regex_internal_a_int } { -1 }
}
{
@@ -26092,7 +26071,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\else:
\int_sub:Nn \l__regex_internal_b_int \l__regex_internal_a_int
\fi:
- \exp_args:Noo \__regex_compile_quantifier_lazyness:nnNN
+ \exp_args:Noo \__regex_compile_quantifier_laziness:nnNN
{ \int_use:N \l__regex_internal_a_int }
{ \int_use:N \l__regex_internal_b_int }
}
@@ -27225,7 +27204,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\int_set_eq:NN \l__regex_right_state_int \l__regex_max_state_int
\int_incr:N \l__regex_max_state_int
}
-\cs_new_protected:Npn \__regex_build_transitions_lazyness:NNNNN #1#2#3#4#5
+\cs_new_protected:Npn \__regex_build_transitions_laziness:NNNNN #1#2#3#4#5
{
\__regex_build_new_state:
\__regex_toks_put_right:Ne \l__regex_left_state_int
@@ -27267,13 +27246,13 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new_protected:Npn \__regex_class_repeat:nN #1#2
{
\if_int_compare:w #1 = \c_zero_int
- \__regex_build_transitions_lazyness:NNNNN #2
+ \__regex_build_transitions_laziness:NNNNN #2
\__regex_action_free:n \l__regex_right_state_int
\__regex_tests_action_cost:n \l__regex_left_state_int
\else:
\__regex_class_repeat:n {#1}
\int_set_eq:NN \l__regex_internal_a_int \l__regex_left_state_int
- \__regex_build_transitions_lazyness:NNNNN #2
+ \__regex_build_transitions_laziness:NNNNN #2
\__regex_action_free:n \l__regex_right_state_int
\__regex_action_free:n \l__regex_internal_a_int
\fi:
@@ -27285,7 +27264,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \l__regex_max_state_int + #2 - \c_one_int }
\prg_replicate:nn { #2 }
{
- \__regex_build_transitions_lazyness:NNNNN #3
+ \__regex_build_transitions_laziness:NNNNN #3
\__regex_action_free:n \l__regex_internal_a_int
\__regex_tests_action_cost:n \l__regex_right_state_int
}
@@ -31934,7 +31913,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_generate_variant:Nn \pdf_object_unnamed_write:nn { ne , nx }
\cs_new:Npn \pdf_object_ref_last: { \__pdf_backend_object_last: }
\cs_new:Npn \pdf_pageobject_ref:n #1
- { \__pdf_backend_pageobject_ref:n {#1} }
+ { \exp_args:Ne \__pdf_backend_pageobject_ref:n {#1} }
\prg_new_conditional:Npnn \pdf_version_compare:Nn #1#2 { p , T , F , TF }
{ \use:c { __pdf_version_compare_ #1 :w } #2 . . \s__pdf_stop }
\cs_new:cpn { __pdf_version_compare_=:w } #1 . #2 . #3 \s__pdf_stop
@@ -37328,13 +37307,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new_protected:Npn \pdf_object_new:nn #1#2
{
\prop_gput:Nnn \g__pdf_object_prop {#1} {#2}
- \__pdf_backend_object_new:n {#1}
+ \pdf_object_new:n {#1}
}
\__kernel_patch_deprecation:nnNNpn { 2022-08-30 } { [\pdf_object_write:n] }
\cs_new_protected:Npn \pdf_object_write:nn #1#2
{
- \exp_args:Nne \__pdf_backend_object_write:nnn
- {#1} { \prop_item:Nn \g__pdf_object_prop {#1} } {#2}
+ \exp_args:Nee \__pdf_backend_object_write:nnn
+ { \__pdf_object_retrieve:n {#1} }
+ { \prop_item:Nn \g__pdf_object_prop {#1} } {#2}
\bool_gset_true:N \g__pdf_init_bool
}
\cs_generate_variant:Nn \pdf_object_write:nn { nx }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
index dd19a6f698a..f99a59004b7 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2024-04-11}%
+\def\ExplFileDate{2024-05-08}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\catcode`\_=11
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
index 9c853155636..f852288c7e4 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2024-04-11}%
+\def\ExplFileDate{2024-05-08}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\catcode`\_=11
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
index 17f9599acdb..f5561de8b0c 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2024-04-11}%
+\def\ExplFileDate{2024-05-08}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3debug.def b/Master/texmf-dist/tex/latex/l3kernel/l3debug.def
index 8b210aa484a..7b0bea70198 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3debug.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3debug.def
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: l3debug.dtx
-\ProvidesExplFile{l3debug.def}{2024-04-11}{}{L3 Debugging support}
+\ProvidesExplFile{l3debug.def}{2024-05-08}{}{L3 Debugging support}
\scan_new:N \s__debug_stop
\cs_new:Npn \__debug_use_i_delimit_by_s_stop:nw #1 #2 \s__debug_stop {#1}
\quark_new:N \q__debug_recursion_tail
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
index 55284d08838..d37f1f9f214 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
@@ -20,7 +20,7 @@
%%
%% File: l3doc.dtx
\RequirePackage{calc}
-\ProvidesExplClass{l3doc}{2024-04-11}{}
+\ProvidesExplClass{l3doc}{2024-05-08}{}
{L3 Experimental documentation class}
\clist_new:N \g_docinput_clist
\seq_new:N \g_doc_functions_seq
diff --git a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
index 7a35d81618e..23dc455743d 100644
--- a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
@@ -32,7 +32,7 @@
}%
\endinput
}
-\ProvidesExplPackage{l3keys2e}{2024-03-14}{}
+\ProvidesExplPackage{l3keys2e}{2024-05-08}{}
{LaTeX2e option processing using LaTeX3 keys}
\cs_if_exist:NT \ProcessKeysOptions
{ \file_input_stop: }
diff --git a/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty b/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty
index 995615e80e5..e63242d19ac 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty
@@ -32,7 +32,7 @@
}%
\endinput
}
-\ProvidesExplPackage{xfp}{2024-03-14}{}
+\ProvidesExplPackage{xfp}{2024-05-08}{}
{L3 Floating point unit}
\ProvideExpandableDocumentCommand \fpeval { m } { \fp_eval:n {#1} }
\ProvideExpandableDocumentCommand \inteval { m } { \int_eval:n {#1} }
diff --git a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
index e09776c5644..e87a832432f 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
@@ -60,7 +60,7 @@
}
}
\ExplSyntaxOff
-\ProvidesExplPackage{xparse}{2024-03-14}{}
+\ProvidesExplPackage{xparse}{2024-05-08}{}
{L3 Experimental document command parser}
\clist_new:N \l__cmd_options_clist
\DeclareOption* { \clist_put_right:NV \l__cmd_options_clist \CurrentOption }
diff --git a/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty b/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty
index e4ce40461c7..04c80418890 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty
@@ -25,12 +25,15 @@
\endinput
}
{%
- \ProvidesExplPackage{xtemplate}{2024-03-14}{}
+ \ProvidesExplPackage{xtemplate}{2024-05-08}{}
{L3 Experimental prototype document functions}
\long\protected\def\DeclareRestrictedTemplate#1#2#3#4{%
\DeclareTemplateCopy{#1}{#3}{#2}%
\EditTemplateDefaults{#1}{#3}{#4}%
}%
+ \let\IfInstanceExistT\IfInstanceExistsT
+ \let\IfInstanceExistF\IfInstanceExistsF
+ \let\IfInstanceExistTF\IfInstanceExistsTF
}
\ExplSyntaxOn
\cs_new_protected:Npn \DeclareObjectType #1#2