summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex127
-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
4 files changed, 95 insertions, 38 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index 85a3014e8c4..ac67d0b7f43 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -71,7 +71,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2023-08-11}%
+\def\ExplFileDate{2023-08-29}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -665,7 +665,6 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__kernel_primitive:NN \pdfcompresslevel \tex_pdfcompresslevel:D
\__kernel_primitive:NN \pdfcolorstack \tex_pdfcolorstack:D
\__kernel_primitive:NN \pdfcolorstackinit \tex_pdfcolorstackinit:D
- \__kernel_primitive:NN \pdfcreationdate \tex_pdfcreationdate:D
\__kernel_primitive:NN \pdfdecimaldigits \tex_pdfdecimaldigits:D
\__kernel_primitive:NN \pdfdest \tex_pdfdest:D
\__kernel_primitive:NN \pdfdestmargin \tex_pdfdestmargin:D
@@ -754,6 +753,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__kernel_primitive:NN \pdfadjustspacing \tex_adjustspacing:D
\__kernel_primitive:NN \pdfappendkern \tex_appendkern:D
\__kernel_primitive:NN \pdfcopyfont \tex_copyfont:D
+ \__kernel_primitive:NN \pdfcreationdate \tex_creationdate:D
\__kernel_primitive:NN \pdfdraftmode \tex_draftmode:D
\__kernel_primitive:NN \pdfeachlinedepth \tex_eachlinedepth:D
\__kernel_primitive:NN \pdfeachlineheight \tex_eachlineheight:D
@@ -3424,6 +3424,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__kernel_tl_set:Nx #1
{ \exp_not:V #2 \__kernel_exp_not:w \exp_after:wN {#1} }
}
+\cs_new_protected:Npn \tl_put_left:Nv #1#2
+ {
+ \__kernel_tl_set:Nx #1
+ { \exp_not:v {#2} \__kernel_exp_not:w \exp_after:wN {#1} }
+ }
\cs_new_protected:Npn \tl_put_left:No #1#2
{
\__kernel_tl_set:Nx #1
@@ -3444,6 +3449,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__kernel_tl_gset:Nx #1
{ \exp_not:V #2 \__kernel_exp_not:w \exp_after:wN {#1} }
}
+\cs_new_protected:Npn \tl_gput_left:Nv #1#2
+ {
+ \__kernel_tl_gset:Nx #1
+ { \exp_not:v {#2} \__kernel_exp_not:w \exp_after:wN {#1} }
+ }
\cs_new_protected:Npn \tl_gput_left:No #1#2
{
\__kernel_tl_gset:Nx #1
@@ -3456,10 +3466,12 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__kernel_tl_gset:Nx #1 { #2 \__kernel_exp_not:w \exp_after:wN {#1} } }
\cs_generate_variant:Nn \tl_put_left:Nn { c }
\cs_generate_variant:Nn \tl_put_left:NV { c }
+\cs_generate_variant:Nn \tl_put_left:Nv { c }
\cs_generate_variant:Nn \tl_put_left:No { c }
\cs_generate_variant:Nn \tl_put_left:Nx { c }
\cs_generate_variant:Nn \tl_gput_left:Nn { c }
\cs_generate_variant:Nn \tl_gput_left:NV { c }
+\cs_generate_variant:Nn \tl_gput_left:NV { c }
\cs_generate_variant:Nn \tl_gput_left:No { c }
\cs_generate_variant:Nn \tl_gput_left:Nx { c }
\cs_new_protected:Npn \tl_put_right:Nn #1#2
@@ -3469,6 +3481,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__kernel_tl_set:Nx #1
{ \__kernel_exp_not:w \exp_after:wN {#1} \exp_not:V #2 }
}
+\cs_new_protected:Npn \tl_put_right:Nv #1#2
+ {
+ \__kernel_tl_set:Nx #1
+ { \__kernel_exp_not:w \exp_after:wN {#1} \exp_not:v {#2} }
+ }
\cs_new_protected:Npn \tl_put_right:No #1#2
{
\__kernel_tl_set:Nx #1
@@ -3486,6 +3503,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__kernel_tl_gset:Nx #1
{ \__kernel_exp_not:w \exp_after:wN {#1} \exp_not:V #2 }
}
+\cs_new_protected:Npn \tl_gput_right:Nv #1#2
+ {
+ \__kernel_tl_gset:Nx #1
+ { \__kernel_exp_not:w \exp_after:wN {#1} \exp_not:v {#2} }
+ }
\cs_new_protected:Npn \tl_gput_right:No #1#2
{
\__kernel_tl_gset:Nx #1
@@ -3498,10 +3520,12 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__kernel_tl_gset:Nx #1 { \__kernel_exp_not:w \exp_after:wN {#1} #2 } }
\cs_generate_variant:Nn \tl_put_right:Nn { c }
\cs_generate_variant:Nn \tl_put_right:NV { c }
+\cs_generate_variant:Nn \tl_put_right:Nv { c }
\cs_generate_variant:Nn \tl_put_right:No { c }
\cs_generate_variant:Nn \tl_put_right:Nx { c }
\cs_generate_variant:Nn \tl_gput_right:Nn { c }
\cs_generate_variant:Nn \tl_gput_right:NV { c }
+\cs_generate_variant:Nn \tl_gput_right:Nv { c }
\cs_generate_variant:Nn \tl_gput_right:No { c }
\cs_generate_variant:Nn \tl_gput_right:Nx { c }
\quark_new:N \q__tl_nil
@@ -3552,10 +3576,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
\group_end:
#1 #2 {#3}
}
-\cs_generate_variant:Nn \tl_set_rescan:Nnn { Nno , Nnx }
-\cs_generate_variant:Nn \tl_set_rescan:Nnn { c , cno , cnx }
-\cs_generate_variant:Nn \tl_gset_rescan:Nnn { Nno , Nnx }
-\cs_generate_variant:Nn \tl_gset_rescan:Nnn { c , cno }
+\cs_generate_variant:Nn \tl_set_rescan:Nnn { NnV , Nno , Nnx }
+\cs_generate_variant:Nn \tl_set_rescan:Nnn { c , cnV , cno , cnx }
+\cs_generate_variant:Nn \tl_gset_rescan:Nnn { NnV , Nno , Nnx }
+\cs_generate_variant:Nn \tl_gset_rescan:Nnn { c , cnV , cno , cnx }
\cs_new_protected:Npn \__tl_set_rescan:nNN #1
{
\int_compare:nNnTF \tex_newlinechar:D < 0
@@ -3619,10 +3643,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__tl_replace:NnNNNnn \q__tl_mark ? \__tl_replace_next:w \__kernel_tl_set:Nx }
\cs_new_protected:Npn \tl_greplace_all:Nnn
{ \__tl_replace:NnNNNnn \q__tl_mark ? \__tl_replace_next:w \__kernel_tl_gset:Nx }
-\cs_generate_variant:Nn \tl_replace_once:Nnn { Nxx , c , cxx }
-\cs_generate_variant:Nn \tl_greplace_once:Nnn { Nxx , c , cxx }
-\cs_generate_variant:Nn \tl_replace_all:Nnn { Nxx , c , cxx }
-\cs_generate_variant:Nn \tl_greplace_all:Nnn { Nxx , c , cxx }
+\cs_generate_variant:Nn \tl_replace_once:Nnn
+ { NV , NnV , Nx , Nnx , Nxx , c , cV , cnV , cx , cnx , cxx }
+\cs_generate_variant:Nn \tl_greplace_once:Nnn
+ { NV , NnV , Nx , Nnx , Nxx , c , cV , cnV , cx , cnx , cxx }
+\cs_generate_variant:Nn \tl_replace_all:Nnn
+ { NV , NnV , Nx , Nnx , Nxx , c , cV , cnV , cx , cnx , cxx }
+\cs_generate_variant:Nn \tl_greplace_all:Nnn
+ { NV , NnV , Nx , Nnx , Nxx , c , cV , cnV , cx , cnx , cxx }
\cs_new_protected:Npn \__tl_replace:NnNNNnn #1#2#3#4#5#6#7
{
\tl_if_empty:nTF {#6}
@@ -3683,14 +3711,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \tl_replace_once:Nnn #1 {#2} { } }
\cs_new_protected:Npn \tl_gremove_once:Nn #1#2
{ \tl_greplace_once:Nnn #1 {#2} { } }
-\cs_generate_variant:Nn \tl_remove_once:Nn { Nx , c , cx }
-\cs_generate_variant:Nn \tl_gremove_once:Nn { Nx , c , cx }
+\cs_generate_variant:Nn \tl_remove_once:Nn { NV , Nx , c , cV , cx }
+\cs_generate_variant:Nn \tl_gremove_once:Nn { NV , Nx , c , cV , cx }
\cs_new_protected:Npn \tl_remove_all:Nn #1#2
{ \tl_replace_all:Nnn #1 {#2} { } }
\cs_new_protected:Npn \tl_gremove_all:Nn #1#2
{ \tl_greplace_all:Nnn #1 {#2} { } }
-\cs_generate_variant:Nn \tl_remove_all:Nn { Nx , c , cx }
-\cs_generate_variant:Nn \tl_gremove_all:Nn { Nx , c , cx }
+\cs_generate_variant:Nn \tl_remove_all:Nn { NV , Nx , c , cV , cx }
+\cs_generate_variant:Nn \tl_gremove_all:Nn { NV , Nx , c , cV , cx }
\prg_new_conditional:Npnn \tl_if_empty:N #1 { p , T , F , TF }
{
\if_meaning:w #1 \c_empty_tl
@@ -3710,7 +3738,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
}
\prg_generate_conditional_variant:Nnn \tl_if_empty:n
- { V } { p , TF , T , F }
+ { V , e } { p , TF , T , F }
\cs_new:Npn \__tl_if_empty_if:o #1
{
\if:w \scan_stop: \__kernel_tl_to_str:w \exp_after:wN {#1} \scan_stop:
@@ -3766,11 +3794,12 @@ Type H <return> for immediate help}\def~{\errmessage{%
\prg_return_false:
\fi:
}
+\prg_generate_conditional_variant:Nnn \tl_if_eq:nn { V , nV , x , nx } { TF , T , F }
\cs_new_protected:Npn \tl_if_in:NnT { \exp_args:No \tl_if_in:nnT }
\cs_new_protected:Npn \tl_if_in:NnF { \exp_args:No \tl_if_in:nnF }
\cs_new_protected:Npn \tl_if_in:NnTF { \exp_args:No \tl_if_in:nnTF }
\prg_generate_conditional_variant:Nnn \tl_if_in:Nn
- { c } { T , F , TF }
+ { NV , c , cV } { T , F , TF }
\prg_new_protected_conditional:Npnn \tl_if_in:nn #1#2 { T , F , TF }
{
\scan_stop:
@@ -3781,7 +3810,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\if_false: } \fi:
}
\prg_generate_conditional_variant:Nnn \tl_if_in:nn
- { V , o , no } { T , F , TF }
+ { V , o , nV , no } { T , F , TF }
\cs_set_protected:Npn \__tl_tmp:w #1
{
\prg_new_conditional:Npnn \tl_if_novalue:n ##1
@@ -3900,7 +3929,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \prg_map_break:Nn \tl_map_break: { } }
\cs_new:Npn \tl_map_break:n
{ \prg_map_break:Nn \tl_map_break: }
-\cs_generate_variant:Nn \tl_to_str:n { o , V , v }
+\cs_generate_variant:Nn \tl_to_str:n { o , V , v , e }
\cs_new:Npn \tl_to_str:N #1 { \__kernel_tl_to_str:w \exp_after:wN {#1} }
\cs_generate_variant:Nn \tl_to_str:N { c }
\cs_new:Npn \tl_use:N #1
@@ -4230,7 +4259,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{#1}
}
}
-\cs_generate_variant:Nn \tl_reverse:n { o , V }
+\cs_generate_variant:Nn \tl_reverse:n { o , V , f , e }
\cs_new:Npn \__tl_reverse_normal:N
{ \__tl_act_reverse_output:n }
\cs_new:Npn \__tl_reverse_group_preserve:n #1
@@ -4630,7 +4659,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npn \__str_case:nnTF #1#2#3#4
{ \__str_case:nw {#1} #2 {#1} { } \s__str_mark {#3} \s__str_mark {#4} \s__str_stop }
-\cs_generate_variant:Nn \str_case:nn { V , o , nV , nv }
+\cs_generate_variant:Nn \str_case:nn { V , o , e , nV , nv }
\prg_generate_conditional_variant:Nnn \str_case:nn
{ V , o , nV , nv } { T , F , TF }
\cs_new_eq:NN \str_case:Nn \str_case:Vn
@@ -5298,8 +5327,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npn \__seq_set_split:w #1 \__seq_set_split_end:
{ \__seq_wrap_item:n {#1} }
-\cs_generate_variant:Nn \seq_set_split:Nnn { NnV }
-\cs_generate_variant:Nn \seq_gset_split:Nnn { NnV }
+\cs_generate_variant:Nn \seq_set_split:Nnn { NV , NnV , NVV , Nnx , Nxx }
+\cs_generate_variant:Nn \seq_gset_split:Nnn { NV , NnV , NVV , Nnx , Nxx }
\cs_generate_variant:Nn \seq_set_split_keep_spaces:Nnn { NnV }
\cs_generate_variant:Nn \seq_gset_split_keep_spaces:Nnn { NnV }
\cs_new_protected:Npn \seq_concat:NNN #1#2#3
@@ -5383,8 +5412,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
#1 #2 {#2}
\__seq_pop_item_def:
}
-\cs_generate_variant:Nn \seq_remove_all:Nn { c }
-\cs_generate_variant:Nn \seq_gremove_all:Nn { c }
+\cs_generate_variant:Nn \seq_remove_all:Nn { NV , Nx , c , cV , cx }
+\cs_generate_variant:Nn \seq_gremove_all:Nn { NV , Nx , c , cV , cx }
\cs_new_eq:NN \__seq_int_eval:w \tex_numexpr:D
\cs_new_protected:Npn \seq_set_item:Nnn #1#2#3
{ \__seq_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_set:Nx \use_i:nn }
@@ -5678,7 +5707,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \prg_break:n { \exp_not:n {#3} } }
{ \exp_args:Nf \__seq_item:nwn { \int_eval:n { #1 - 1 } } }
}
-\cs_generate_variant:Nn \seq_item:Nn { c }
+\cs_generate_variant:Nn \seq_item:Nn { NV , Ne , c , cV , ce }
\cs_new:Npn \seq_rand_item:N #1
{
\seq_if_empty:NF #1
@@ -6422,6 +6451,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\prg_break_point:Nn \scan_stop: { \int_gdecr:N \g__kernel_prg_map_int }
}
\cs_new_eq:NN \int_to_arabic:n \int_eval:n
+\cs_generate_variant:Nn \int_to_arabic:n { v }
\cs_new:Npn \int_to_symbols:nnn #1#2#3
{
\int_compare:nNnTF {#1} > {#2}
@@ -7540,6 +7570,15 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\__sys_everyjob:n
{
+ \str_const:Nx \c_sys_timestamp_str
+ {
+ \cs_if_exist:NTF \tex_directlua:D
+ { \tex_directlua:D { tex.print(pdf.getcreationdate()) } }
+ { \tex_creationdate:D }
+ }
+ }
+\__sys_everyjob:n
+ {
\cs_new:Npn \sys_rand_seed: { \tex_the:D \tex_randomseed:D }
}
\__sys_everyjob:n
@@ -9324,8 +9363,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \tl_set:Nn #3 {##2} }
{ \tl_set:Nn #3 { \q_no_value } }
}
-\cs_generate_variant:Nn \prop_get:NnN { NV , Nv , No }
-\cs_generate_variant:Nn \prop_get:NnN { c , cV , cv , co }
+\cs_generate_variant:Nn \prop_get:NnN { NV , Nv , No , Nx }
+\cs_generate_variant:Nn \prop_get:NnN { c , cV , cv , co , cx , cnc }
\cs_new_protected:Npn \prop_pop:NnN #1#2#3
{
\__prop_split:NnTF #1 {#2}
@@ -9358,7 +9397,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\str_if_eq:eeT {#1} {#2}
{ \prop_map_break:n { \exp_not:n {#3} } }
}
-\cs_generate_variant:Nn \prop_item:Nn { c }
+\cs_generate_variant:Nn \prop_item:Nn { NV , No , Ne , c , cV , co , ce }
\cs_new:Npn \prop_count:N #1
{
\int_eval:n
@@ -9423,13 +9462,13 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ #1 #2 { \exp_not:o {#2} \l__prop_internal_tl } }
}
\cs_generate_variant:Nn \prop_put:Nnn
- { NnV , Nno , Nne , Nnx , NV , NVV , NVx , Nvx , No , Noo , Nxx }
+ { NnV , Nno , Nne , Nnx , NV , NVV , NVx , Nvx , No , Nx , NxV , Noo , Nxx }
\cs_generate_variant:Nn \prop_put:Nnn
- { c , cnV , cno , cne , cnx , cV , cVV , cVx , cvx , co , coo , cxx }
+ { c , cnV , cno , cne , cnx , cV , cVV , cVx , cvx , co , cx , cxV , coo , cxx }
\cs_generate_variant:Nn \prop_gput:Nnn
- { NnV , Nno , Nne , Nnx , NV , NVV , NVx , Nvx , No , Noo , Nxx }
+ { NnV , Nno , Nne , Nnx , NV , NVV , NVx , Nvx , No , Nx , NxV , Noo , Nxx }
\cs_generate_variant:Nn \prop_gput:Nnn
- { c , cnV , cno , cne , cnx , cV , cVV , cVx , cvx , co , coo , cxx }
+ { c , cnV , cno , cne , cnx , cV , cVV , cVx , cvx , co , cx , cxV , coo , cxx }
\cs_new_protected:Npn \prop_put_if_new:Nnn
{ \__prop_put_if_new:NNnn \__kernel_tl_set:Nx }
\cs_new_protected:Npn \prop_gput_if_new:Nnn
@@ -9481,7 +9520,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \prg_return_false: }
}
\prg_generate_conditional_variant:Nnn \prop_get:NnN
- { NV , Nv , No , c , cV , cv , co } { T , F , TF }
+ { NV , Nv , No , Nx , c , cV , cv , co , cx , cnc } { T , F , TF }
\cs_new:Npn \prop_map_function:NN #1#2
{
\exp_after:wN \use_i_ii:nnn
@@ -9601,8 +9640,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__msg_chk_free:nn {#1} {#2}
\msg_gset:nnnn {#1} {#2}
}
+\cs_generate_variant:Nn \msg_new:nnnn { nnxx }
\cs_new_protected:Npn \msg_new:nnn #1#2#3
{ \msg_new:nnnn {#1} {#2} {#3} { } }
+\cs_generate_variant:Nn \msg_new:nnn { nnx }
\cs_new_protected:Npn \msg_set:nnnn #1#2#3#4
{
\cs_set:cpn { \c__msg_text_prefix_tl #1 / #2 }
@@ -9820,6 +9861,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \exp_not:c { msg_ #1 :nnnnnn } {##1} {##2} {##3} { } { } { } }
\cs_new_protected:cpx { msg_ #1 :nn } ##1##2
{ \exp_not:c { msg_ #1 :nnnnnn } {##1} {##2} { } { } { } { } }
+ \cs_generate_variant:cn { msg_ #1 :nnn } { nnV }
+ \cs_generate_variant:cn { msg_ #1 :nnnn } { nnVV , nnVn , nnnV , nnnx }
+ \cs_generate_variant:cn { msg_ #1 :nnnnn } { nnnxx }
\cs_new_protected:cpx { msg_ #1 :nnxxxx } ##1##2##3##4##5##6
{
\use:x
@@ -10812,7 +10856,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__iow_open_stream:NV #1 \l__iow_file_name_tl
}
}
-\cs_generate_variant:Nn \iow_open:Nn { c }
+\cs_generate_variant:Nn \iow_open:Nn { NV , c , cV }
\cs_new_protected:Npn \__iow_open_stream:Nn #1#2
{
\tex_global:D \tex_chardef:D #1 = \l__iow_stream_tl \scan_stop:
@@ -10899,7 +10943,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__kernel_iow_with:Nnn \tex_newlinechar:D { `\^^J }
{ \tex_immediate:D \tex_write:D #1 { \exp_not:n {#2} } }
}
-\cs_generate_variant:Nn \iow_now:Nn { c, Nx, cx }
+\cs_generate_variant:Nn \iow_now:Nn { NV , Nx , c , cV , cx }
\cs_set_protected:Npn \iow_log:x { \iow_now:Nx \c_log_iow }
\cs_new_protected:Npn \iow_log:n { \iow_now:Nn \c_log_iow }
\cs_set_protected:Npn \iow_term:x { \iow_now:Nx \c_term_iow }
@@ -11693,6 +11737,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \prg_return_true: }
{ \prg_return_false: }
}
+\prg_generate_conditional_variant:Nnn \file_if_exist:n { V } { T , F , TF }
\cs_new_protected:Npn \file_if_exist_input:n #1
{
\file_get_full_name:nNT {#1} \l__file_full_name_tl
@@ -11716,6 +11761,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__file_input:V \l__file_full_name_tl }
{ \__kernel_file_missing:n {#1} }
}
+\cs_generate_variant:Nn \file_input:n { V }
\cs_new_protected:Npx \__file_input:n #1
{
\exp_not:N \clist_if_exist:NTF \exp_not:N \@filelist
@@ -12756,6 +12802,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\char_set_catcode_active:n { `\= }
\__keyval_tmp:w , =
\group_end:
+\cs_generate_variant:Nn \keyval_parse:NNn { NNV , NNv }
+\cs_generate_variant:Nn \keyval_parse:nnn { nnV , nnv }
\group_begin:
\cs_set_protected:Npn \__keyval_tmp:w #1#2
{
@@ -26509,15 +26557,19 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__regex_if_match:nn { \__regex_build:n {#1} } {#2}
\__regex_return:
}
+\prg_generate_conditional_variant:Nnn \regex_match:nn { nV } { T , F , TF }
\prg_new_protected_conditional:Npnn \regex_match:Nn #1#2 { T , F , TF }
{
\__regex_if_match:nn { \__regex_build:N #1 } {#2}
\__regex_return:
}
+\prg_generate_conditional_variant:Nnn \regex_match:Nn { NV } { T , F , TF }
\cs_new_protected:Npn \regex_count:nnN #1
{ \__regex_count:nnN { \__regex_build:n {#1} } }
\cs_new_protected:Npn \regex_count:NnN #1
{ \__regex_count:nnN { \__regex_build:N #1 } }
+\cs_generate_variant:Nn \regex_count:nnN { nV }
+\cs_generate_variant:Nn \regex_count:NnN { NV }
\cs_new_protected:Npn \regex_match_case:nnTF #1#2#3
{
\__regex_match_case:nnTF {#1} {#2}
@@ -26540,6 +26592,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ #1 { \__regex_build:n {##1} } {##2} ##3 \__regex_return: }
\prg_new_protected_conditional:Npnn #3 ##1##2##3 { T , F , TF }
{ #1 { \__regex_build:N ##1 } {##2} ##3 \__regex_return: }
+ \cs_generate_variant:Nn #2 { nV }
+ \prg_generate_conditional_variant:Nnn #2 { nV } { T , F , TF }
+ \cs_generate_variant:Nn #3 { NV }
+ \prg_generate_conditional_variant:Nnn #3 { NV } { T , F , TF }
+
}
\__regex_tmp:w \__regex_extract_once:nnN
\regex_extract_once:nnN \regex_extract_once:NnN
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
index 3dea1b9a3b8..45d89a2b1da 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{2023-08-11}%
+\def\ExplFileDate{2023-08-29}%
\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 5f2416d2276..2cbd97f253c 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{2023-08-11}%
+\def\ExplFileDate{2023-08-29}%
\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 c41e065d0c6..ddd58a9acb0 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{2023-08-11}%
+\def\ExplFileDate{2023-08-29}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%