[latex3-commits] [latex3/latex2e] develop: Update l3backend, l3kernel and xparse to 2024-02-20 (8809ac6f)
github at latex-project.org
github at latex-project.org
Tue Feb 20 11:08:29 CET 2024
Repository : https://github.com/latex3/latex2e
On branch : develop
Link : https://github.com/latex3/latex2e/commit/8809ac6fc68fa5caa8a94281ee6134880e6c1f11
>---------------------------------------------------------------
commit 8809ac6fc68fa5caa8a94281ee6134880e6c1f11
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Tue Feb 20 09:26:42 2024 +0000
Update l3backend, l3kernel and xparse to 2024-02-20
>---------------------------------------------------------------
8809ac6fc68fa5caa8a94281ee6134880e6c1f11
base/testfiles-lthooks/ltcmdhooks-001.tlg | 2 +-
base/testfiles/github-0479-often.luatex.tlg | 3 +-
base/testfiles/github-0479-often.tlg | 3 +-
base/testfiles/github-0479-often.xetex.tlg | 3 +-
base/testfiles/github-0944.tlg | 2 +-
base/testfiles/tlb-rollback-005.luatex.tlg | 4 +-
base/testfiles/tlb-rollback-005.tlg | 4 +-
base/testfiles/tlb-rollback-005.xetex.tlg | 4 +-
texmf/tex/latex/l3backend/l3backend-dvipdfmx.def | 2 +-
texmf/tex/latex/l3backend/l3backend-dvips.def | 2 +-
texmf/tex/latex/l3backend/l3backend-dvisvgm.def | 4 +-
texmf/tex/latex/l3backend/l3backend-luatex.def | 2 +-
texmf/tex/latex/l3backend/l3backend-pdftex.def | 2 +-
texmf/tex/latex/l3backend/l3backend-xetex.def | 2 +-
texmf/tex/latex/l3kernel/expl3-code.tex | 82 +++++++++++++++++-------
texmf/tex/latex/l3kernel/expl3-generic.tex | 2 +-
texmf/tex/latex/l3kernel/expl3.ltx | 2 +-
texmf/tex/latex/l3kernel/expl3.sty | 2 +-
texmf/tex/latex/l3kernel/l3debug.def | 12 ++--
texmf/tex/latex/l3kernel/l3doc.cls | 2 +-
texmf/tex/latex/l3packages/xparse/xparse.sty | 2 +-
21 files changed, 87 insertions(+), 56 deletions(-)
diff --git a/base/testfiles-lthooks/ltcmdhooks-001.tlg b/base/testfiles-lthooks/ltcmdhooks-001.tlg
index 4fc4dd17..05f16f07 100644
--- a/base/testfiles-lthooks/ltcmdhooks-001.tlg
+++ b/base/testfiles-lthooks/ltcmdhooks-001.tlg
@@ -58,7 +58,7 @@ l. ...\ShowHook{cmd/foo/after}
#1#2->FOO #1 #2.
l. ...\show\foo
> \@kernel at after@begindocument=macro:
-->\prop_map_inline:Nn \l_keys_usage_preamble_prop {\clist_map_inline:nn {##2}{\keys_define:nn {##1}{####1.code:n=\msg_error:nnn {keys}{preamble-only}{####1}}}}\__hook_cmd_begindocument_code: \bool_gset_true:N \g__pdf_init_bool \group_begin: \cs_set_protected:Npn \__text_tmp:w ##1{\tl_clear:N \l_text_expand_exclude_tl \tl_map_inline:nn {##1}{\bool_lazy_any:nF {{\token_if_protected_macro_p:N ####1}{\token_if_protected_long_macro_p:N ####1}{\str_if_eq_p:ee {\cs_replacement_spec:N ####1}{\exp_not:n {\protect ####1}\c_space_tl }}}{\tl_put_right:Nn \l_text_expand_exclude_tl {####1}}}}\exp_args:NV \__text_tmp:w \l_text_expand_exclude_tl \exp_args:NNNV \group_end: \tl_set:Nn \l_text_expand_exclude_tl \l_text_expand_exclude_tl \group_begin: \cs_set_protected:Npn \__text_change_case_setup:Nn ##1##2{\quark_if_recursion_tail_stop:N ##1\tl_if_single_token:nT {##2}{\cs_if_exist:cF {c__text_uppercase_\token_to_str:N ##1_tl}{\tl_const:cn {c__text_uppercase_\token_to_str:N ##1_tl}{##2}}\cs_if_exist:cF {c__text_lowercase_\token_to_str:N ##2_tl}{\tl_const:cn {c__text_lowercase_\token_to_str:N ##2_tl}{##1}}}\__text_change_case_setup:Nn }\exp_after:wN \__text_change_case_setup:Nn \@uclclist \q_recursion_tail ?\q_recursion_stop \group_end: .
+->\prop_map_inline:Nn \l_keys_usage_preamble_prop {\clist_map_inline:nn {##2}{\keys_define:nn {##1}{####1.code:n=\msg_error:nnn {keys}{preamble-only}{####1}}}}\__hook_cmd_begindocument_code: \cs_gset_protected:Npn \sys_load_debug: {\msg_error:nn {sys}{load-debug-in-preamble}}\bool_gset_true:N \g__pdf_init_bool \group_begin: \cs_set_protected:Npn \__text_tmp:w ##1{\tl_clear:N \l_text_expand_exclude_tl \tl_map_inline:nn {##1}{\bool_lazy_any:nF {{\token_if_protected_macro_p:N ####1}{\token_if_protected_long_macro_p:N ####1}{\str_if_eq_p:ee {\cs_replacement_spec:N ####1}{\exp_not:n {\protect ####1}\c_space_tl }}}{\tl_put_right:Nn \l_text_expand_exclude_tl {####1}}}}\exp_args:NV \__text_tmp:w \l_text_expand_exclude_tl \exp_args:NNNV \group_end: \tl_set:Nn \l_text_expand_exclude_tl \l_text_expand_exclude_tl \group_begin: \cs_set_protected:Npn \__text_change_case_setup:Nn ##1##2{\quark_if_recursion_tail_stop:N ##1\tl_if_single_token:nT {##2}{\cs_if_exist:cF {c__text_uppercase_\token_to_str:N ##1_tl}{\tl_const:cn {c__text_uppercase_\token_to_str:N ##1_tl}{##2}}\cs_if_exist:cF {c__text_lowercase_\token_to_str:N ##2_tl}{\tl_const:cn {c__text_lowercase_\token_to_str:N ##2_tl}{##1}}}\__text_change_case_setup:Nn }\exp_after:wN \__text_change_case_setup:Nn \@uclclist \q_recursion_tail ?\q_recursion_stop \group_end: .
l. ...\show\@kernel at after@begindocument
Update code for hook 'para/before' on input line ...:
Update code for hook 'para/after' on input line ...:
diff --git a/base/testfiles/github-0479-often.luatex.tlg b/base/testfiles/github-0479-often.luatex.tlg
index d574406d..ba620702 100644
--- a/base/testfiles/github-0479-often.luatex.tlg
+++ b/base/testfiles/github-0479-often.luatex.tlg
@@ -899,8 +899,7 @@ l. ...\show \__kernel_chk_if_free_cs:N
> \e at alloc=macro:
#1#2#3#4#5#6->\global \advance #3\@ne \e at ch@ck {#3}{#4}{#5}#1\allocationnumber #3\relax \global #2#6\allocationnumber \wlog {\string #6=\string #1\the \allocationnumber }.
l. ...\show \e at alloc
-> \__kernel_msg_error:nne=\protected\long macro:
-#1->\msg_error:nne {LaTeX/#1}.
+> \__kernel_msg_error:nne=undefined.
l. ...\show \__kernel_msg_error:nne
> \msg_new:nnnn=\protected\long macro:
#1#2#3#4->\__msg_chk_free:nn {#1}{#2}\cs_gset:cpn {\c__msg_text_prefix_tl #1/#2}##1##2##3##4{#3}\cs_gset:cpn {\c__msg_more_text_prefix_tl #1/#2}##1##2##3##4{#4}.
diff --git a/base/testfiles/github-0479-often.tlg b/base/testfiles/github-0479-often.tlg
index 3b4d7fe9..8b855390 100644
--- a/base/testfiles/github-0479-often.tlg
+++ b/base/testfiles/github-0479-often.tlg
@@ -1324,8 +1324,7 @@ l. ...\show \__kernel_chk_if_free_cs:N
> \e at alloc=macro:
#1#2#3#4#5#6->\global \advance #3\@ne \e at ch@ck {#3}{#4}{#5}#1\allocationnumber #3\relax \global #2#6\allocationnumber \wlog {\string #6=\string #1\the \allocationnumber }.
l. ...\show \e at alloc
-> \__kernel_msg_error:nne=\protected\long macro:
-#1->\msg_error:nne {LaTeX/#1}.
+> \__kernel_msg_error:nne=undefined.
l. ...\show \__kernel_msg_error:nne
> \msg_new:nnnn=\protected\long macro:
#1#2#3#4->\__msg_chk_free:nn {#1}{#2}\cs_gset:cpn {\c__msg_text_prefix_tl #1/#2}##1##2##3##4{#3}\cs_gset:cpn {\c__msg_more_text_prefix_tl #1/#2}##1##2##3##4{#4}.
diff --git a/base/testfiles/github-0479-often.xetex.tlg b/base/testfiles/github-0479-often.xetex.tlg
index 95e42d59..4902356b 100644
--- a/base/testfiles/github-0479-often.xetex.tlg
+++ b/base/testfiles/github-0479-often.xetex.tlg
@@ -896,8 +896,7 @@ l. ...\show \__kernel_chk_if_free_cs:N
> \e at alloc=macro:
#1#2#3#4#5#6->\global \advance #3\@ne \e at ch@ck {#3}{#4}{#5}#1\allocationnumber #3\relax \global #2#6\allocationnumber \wlog {\string #6=\string #1\the \allocationnumber }.
l. ...\show \e at alloc
-> \__kernel_msg_error:nne=\protected\long macro:
-#1->\msg_error:nne {LaTeX/#1}.
+> \__kernel_msg_error:nne=undefined.
l. ...\show \__kernel_msg_error:nne
> \msg_new:nnnn=\protected\long macro:
#1#2#3#4->\__msg_chk_free:nn {#1}{#2}\cs_gset:cpn {\c__msg_text_prefix_tl #1/#2}##1##2##3##4{#3}\cs_gset:cpn {\c__msg_more_text_prefix_tl #1/#2}##1##2##3##4{#4}.
diff --git a/base/testfiles/github-0944.tlg b/base/testfiles/github-0944.tlg
index 099d7ecb..f0324fb4 100644
--- a/base/testfiles/github-0944.tlg
+++ b/base/testfiles/github-0944.tlg
@@ -22,7 +22,7 @@ LaTeX Warning: Reference `unknown' on page 1 undefined on input line ....
] (github-0944.aux)
***********
-formatname- <-formatversion-> pre-release-2 (-release-version-test- branch)
-L3 programming layer <2024-02-18>
+L3 programming layer <2024-02-20>
***********
*File List*
-show the file list here-
diff --git a/base/testfiles/tlb-rollback-005.luatex.tlg b/base/testfiles/tlb-rollback-005.luatex.tlg
index 4d9307e0..93c82b1d 100644
--- a/base/testfiles/tlb-rollback-005.luatex.tlg
+++ b/base/testfiles/tlb-rollback-005.luatex.tlg
@@ -1,7 +1,7 @@
This is a generated file for the l3build validation system.
Don't change this file in any respect.
> \@kernel at after@begindocument=macro:
-->\prop_map_inline:Nn \l_keys_usage_preamble_prop {\clist_map_inline:nn {##2}{\keys_define:nn {##1}{####1.code:n=\msg_error:nnn {keys}{preamble-only}{####1}}}}\__hook_cmd_begindocument_code: \bool_gset_true:N \g__pdf_init_bool \group_begin: \cs_set_protected:Npn \__text_tmp:w ##1{\tl_clear:N \l_text_expand_exclude_tl \tl_map_inline:nn {##1}{\bool_lazy_any:nF {{\token_if_protected_macro_p:N ####1}{\token_if_protected_long_macro_p:N ####1}{\str_if_eq_p:ee {\cs_replacement_spec:N ####1}{\exp_not:n {\protect ####1}\c_space_tl }}}{\tl_put_right:Nn \l_text_expand_exclude_tl {####1}}}}\exp_args:NV \__text_tmp:w \l_text_expand_exclude_tl \exp_args:NNNV \group_end: \tl_set:Nn \l_text_expand_exclude_tl \l_text_expand_exclude_tl \group_begin: \cs_set_protected:Npn \__text_change_case_setup:Nn ##1##2{\quark_if_recursion_tail_stop:N ##1\tl_if_single_token:nT {##2}{\cs_if_exist:cF {c__text_uppercase_\token_to_str:N ##1_tl}{\tl_const:cn {c__text_uppercase_\token_to_str:N ##1_tl}{##2}}\cs_if_exist:cF {c__text_lowercase_\token_to_str:N ##2_tl}{\tl_const:cn {c__text_lowercase_\token_to_str:N ##2_tl}{##1}}}\__text_change_case_setup:Nn }\exp_after:wN \__text_change_case_setup:Nn \@uclclist \q_recursion_tail ?\q_recursion_stop \group_end: .
+->\prop_map_inline:Nn \l_keys_usage_preamble_prop {\clist_map_inline:nn {##2}{\keys_define:nn {##1}{####1.code:n=\msg_error:nnn {keys}{preamble-only}{####1}}}}\__hook_cmd_begindocument_code: \cs_gset_protected:Npn \sys_load_debug: {\msg_error:nn {sys}{load-debug-in-preamble}}\bool_gset_true:N \g__pdf_init_bool \group_begin: \cs_set_protected:Npn \__text_tmp:w ##1{\tl_clear:N \l_text_expand_exclude_tl \tl_map_inline:nn {##1}{\bool_lazy_any:nF {{\token_if_protected_macro_p:N ####1}{\token_if_protected_long_macro_p:N ####1}{\str_if_eq_p:ee {\cs_replacement_spec:N ####1}{\exp_not:n {\protect ####1}\c_space_tl }}}{\tl_put_right:Nn \l_text_expand_exclude_tl {####1}}}}\exp_args:NV \__text_tmp:w \l_text_expand_exclude_tl \exp_args:NNNV \group_end: \tl_set:Nn \l_text_expand_exclude_tl \l_text_expand_exclude_tl \group_begin: \cs_set_protected:Npn \__text_change_case_setup:Nn ##1##2{\quark_if_recursion_tail_stop:N ##1\tl_if_single_token:nT {##2}{\cs_if_exist:cF {c__text_uppercase_\token_to_str:N ##1_tl}{\tl_const:cn {c__text_uppercase_\token_to_str:N ##1_tl}{##2}}\cs_if_exist:cF {c__text_lowercase_\token_to_str:N ##2_tl}{\tl_const:cn {c__text_lowercase_\token_to_str:N ##2_tl}{##1}}}\__text_change_case_setup:Nn }\exp_after:wN \__text_change_case_setup:Nn \@uclclist \q_recursion_tail ?\q_recursion_stop \group_end: .
l. ...\makeatletter\show\@kernel at after@begindocument
\makeatother
(latexrelease.sty
@@ -898,7 +898,7 @@ Applying: [....-..-..] UTF-8 default on input line ....
Already applied: [....-..-..] UTF-8 default on input line ....
)
> \@kernel at after@begindocument=macro:
-->\prop_map_inline:Nn \l_keys_usage_preamble_prop {\clist_map_inline:nn {##2}{\keys_define:nn {##1}{####1.code:n=\msg_error:nnn {keys}{preamble-only}{####1}}}}\__hook_cmd_begindocument_code: \bool_gset_true:N \g__pdf_init_bool \group_begin: \cs_set_protected:Npn \__text_tmp:w ##1{\tl_clear:N \l_text_expand_exclude_tl \tl_map_inline:nn {##1}{\bool_lazy_any:nF {{\token_if_protected_macro_p:N ####1}{\token_if_protected_long_macro_p:N ####1}{\str_if_eq_p:ee {\cs_replacement_spec:N ####1}{\exp_not:n {\protect ####1}\c_space_tl }}}{\tl_put_right:Nn \l_text_expand_exclude_tl {####1}}}}\exp_args:NV \__text_tmp:w \l_text_expand_exclude_tl \exp_args:NNNV \group_end: \tl_set:Nn \l_text_expand_exclude_tl \l_text_expand_exclude_tl \group_begin: \cs_set_protected:Npn \__text_change_case_setup:Nn ##1##2{\quark_if_recursion_tail_stop:N ##1\tl_if_single_token:nT {##2}{\cs_if_exist:cF {c__text_uppercase_\token_to_str:N ##1_tl}{\tl_const:cn {c__text_uppercase_\token_to_str:N ##1_tl}{##2}}\cs_if_exist:cF {c__text_lowercase_\token_to_str:N ##2_tl}{\tl_const:cn {c__text_lowercase_\token_to_str:N ##2_tl}{##1}}}\__text_change_case_setup:Nn }\exp_after:wN \__text_change_case_setup:Nn \@uclclist \q_recursion_tail ?\q_recursion_stop \group_end: .
+->\prop_map_inline:Nn \l_keys_usage_preamble_prop {\clist_map_inline:nn {##2}{\keys_define:nn {##1}{####1.code:n=\msg_error:nnn {keys}{preamble-only}{####1}}}}\__hook_cmd_begindocument_code: \cs_gset_protected:Npn \sys_load_debug: {\msg_error:nn {sys}{load-debug-in-preamble}}\bool_gset_true:N \g__pdf_init_bool \group_begin: \cs_set_protected:Npn \__text_tmp:w ##1{\tl_clear:N \l_text_expand_exclude_tl \tl_map_inline:nn {##1}{\bool_lazy_any:nF {{\token_if_protected_macro_p:N ####1}{\token_if_protected_long_macro_p:N ####1}{\str_if_eq_p:ee {\cs_replacement_spec:N ####1}{\exp_not:n {\protect ####1}\c_space_tl }}}{\tl_put_right:Nn \l_text_expand_exclude_tl {####1}}}}\exp_args:NV \__text_tmp:w \l_text_expand_exclude_tl \exp_args:NNNV \group_end: \tl_set:Nn \l_text_expand_exclude_tl \l_text_expand_exclude_tl \group_begin: \cs_set_protected:Npn \__text_change_case_setup:Nn ##1##2{\quark_if_recursion_tail_stop:N ##1\tl_if_single_token:nT {##2}{\cs_if_exist:cF {c__text_uppercase_\token_to_str:N ##1_tl}{\tl_const:cn {c__text_uppercase_\token_to_str:N ##1_tl}{##2}}\cs_if_exist:cF {c__text_lowercase_\token_to_str:N ##2_tl}{\tl_const:cn {c__text_lowercase_\token_to_str:N ##2_tl}{##1}}}\__text_change_case_setup:Nn }\exp_after:wN \__text_change_case_setup:Nn \@uclclist \q_recursion_tail ?\q_recursion_stop \group_end: .
l. ...\makeatletter\show\@kernel at after@begindocument
\makeatother
(minimal.cls
diff --git a/base/testfiles/tlb-rollback-005.tlg b/base/testfiles/tlb-rollback-005.tlg
index 6f78c9ef..22c2a676 100644
--- a/base/testfiles/tlb-rollback-005.tlg
+++ b/base/testfiles/tlb-rollback-005.tlg
@@ -1,7 +1,7 @@
This is a generated file for the l3build validation system.
Don't change this file in any respect.
> \@kernel at after@begindocument=macro:
-->\prop_map_inline:Nn \l_keys_usage_preamble_prop {\clist_map_inline:nn {##2}{\keys_define:nn {##1}{####1.code:n=\msg_error:nnn {keys}{preamble-only}{####1}}}}\__hook_cmd_begindocument_code: \bool_gset_true:N \g__pdf_init_bool \group_begin: \cs_set_protected:Npn \__text_tmp:w ##1{\tl_clear:N \l_text_expand_exclude_tl \tl_map_inline:nn {##1}{\bool_lazy_any:nF {{\token_if_protected_macro_p:N ####1}{\token_if_protected_long_macro_p:N ####1}{\str_if_eq_p:ee {\cs_replacement_spec:N ####1}{\exp_not:n {\protect ####1}\c_space_tl }}}{\tl_put_right:Nn \l_text_expand_exclude_tl {####1}}}}\exp_args:NV \__text_tmp:w \l_text_expand_exclude_tl \exp_args:NNNV \group_end: \tl_set:Nn \l_text_expand_exclude_tl \l_text_expand_exclude_tl \group_begin: \cs_set_protected:Npn \__text_change_case_setup:Nn ##1##2{\quark_if_recursion_tail_stop:N ##1\tl_if_single_token:nT {##2}{\cs_if_exist:cF {c__text_uppercase_\token_to_str:N ##1_tl}{\tl_const:cn {c__text_uppercase_\token_to_str:N ##1_tl}{##2}}\cs_if_exist:cF {c__text_lowercase_\token_to_str:N ##2_tl}{\tl_const:cn {c__text_lowercase_\token_to_str:N ##2_tl}{##1}}}\__text_change_case_setup:Nn }\exp_after:wN \__text_change_case_setup:Nn \@uclclist \q_recursion_tail ?\q_recursion_stop \group_end: .
+->\prop_map_inline:Nn \l_keys_usage_preamble_prop {\clist_map_inline:nn {##2}{\keys_define:nn {##1}{####1.code:n=\msg_error:nnn {keys}{preamble-only}{####1}}}}\__hook_cmd_begindocument_code: \cs_gset_protected:Npn \sys_load_debug: {\msg_error:nn {sys}{load-debug-in-preamble}}\bool_gset_true:N \g__pdf_init_bool \group_begin: \cs_set_protected:Npn \__text_tmp:w ##1{\tl_clear:N \l_text_expand_exclude_tl \tl_map_inline:nn {##1}{\bool_lazy_any:nF {{\token_if_protected_macro_p:N ####1}{\token_if_protected_long_macro_p:N ####1}{\str_if_eq_p:ee {\cs_replacement_spec:N ####1}{\exp_not:n {\protect ####1}\c_space_tl }}}{\tl_put_right:Nn \l_text_expand_exclude_tl {####1}}}}\exp_args:NV \__text_tmp:w \l_text_expand_exclude_tl \exp_args:NNNV \group_end: \tl_set:Nn \l_text_expand_exclude_tl \l_text_expand_exclude_tl \group_begin: \cs_set_protected:Npn \__text_change_case_setup:Nn ##1##2{\quark_if_recursion_tail_stop:N ##1\tl_if_single_token:nT {##2}{\cs_if_exist:cF {c__text_uppercase_\token_to_str:N ##1_tl}{\tl_const:cn {c__text_uppercase_\token_to_str:N ##1_tl}{##2}}\cs_if_exist:cF {c__text_lowercase_\token_to_str:N ##2_tl}{\tl_const:cn {c__text_lowercase_\token_to_str:N ##2_tl}{##1}}}\__text_change_case_setup:Nn }\exp_after:wN \__text_change_case_setup:Nn \@uclclist \q_recursion_tail ?\q_recursion_stop \group_end: .
l. ...\makeatletter\show\@kernel at after@begindocument
\makeatother
(latexrelease.sty
@@ -1323,7 +1323,7 @@ Now handling font encoding U ...
Already applied: [....-..-..] UTF-8 default on input line ....
)
> \@kernel at after@begindocument=macro:
-->\prop_map_inline:Nn \l_keys_usage_preamble_prop {\clist_map_inline:nn {##2}{\keys_define:nn {##1}{####1.code:n=\msg_error:nnn {keys}{preamble-only}{####1}}}}\__hook_cmd_begindocument_code: \bool_gset_true:N \g__pdf_init_bool \group_begin: \cs_set_protected:Npn \__text_tmp:w ##1{\tl_clear:N \l_text_expand_exclude_tl \tl_map_inline:nn {##1}{\bool_lazy_any:nF {{\token_if_protected_macro_p:N ####1}{\token_if_protected_long_macro_p:N ####1}{\str_if_eq_p:ee {\cs_replacement_spec:N ####1}{\exp_not:n {\protect ####1}\c_space_tl }}}{\tl_put_right:Nn \l_text_expand_exclude_tl {####1}}}}\exp_args:NV \__text_tmp:w \l_text_expand_exclude_tl \exp_args:NNNV \group_end: \tl_set:Nn \l_text_expand_exclude_tl \l_text_expand_exclude_tl \group_begin: \cs_set_protected:Npn \__text_change_case_setup:Nn ##1##2{\quark_if_recursion_tail_stop:N ##1\tl_if_single_token:nT {##2}{\cs_if_exist:cF {c__text_uppercase_\token_to_str:N ##1_tl}{\tl_const:cn {c__text_uppercase_\token_to_str:N ##1_tl}{##2}}\cs_if_exist:cF {c__text_lowercase_\token_to_str:N ##2_tl}{\tl_const:cn {c__text_lowercase_\token_to_str:N ##2_tl}{##1}}}\__text_change_case_setup:Nn }\exp_after:wN \__text_change_case_setup:Nn \@uclclist \q_recursion_tail ?\q_recursion_stop \group_end: .
+->\prop_map_inline:Nn \l_keys_usage_preamble_prop {\clist_map_inline:nn {##2}{\keys_define:nn {##1}{####1.code:n=\msg_error:nnn {keys}{preamble-only}{####1}}}}\__hook_cmd_begindocument_code: \cs_gset_protected:Npn \sys_load_debug: {\msg_error:nn {sys}{load-debug-in-preamble}}\bool_gset_true:N \g__pdf_init_bool \group_begin: \cs_set_protected:Npn \__text_tmp:w ##1{\tl_clear:N \l_text_expand_exclude_tl \tl_map_inline:nn {##1}{\bool_lazy_any:nF {{\token_if_protected_macro_p:N ####1}{\token_if_protected_long_macro_p:N ####1}{\str_if_eq_p:ee {\cs_replacement_spec:N ####1}{\exp_not:n {\protect ####1}\c_space_tl }}}{\tl_put_right:Nn \l_text_expand_exclude_tl {####1}}}}\exp_args:NV \__text_tmp:w \l_text_expand_exclude_tl \exp_args:NNNV \group_end: \tl_set:Nn \l_text_expand_exclude_tl \l_text_expand_exclude_tl \group_begin: \cs_set_protected:Npn \__text_change_case_setup:Nn ##1##2{\quark_if_recursion_tail_stop:N ##1\tl_if_single_token:nT {##2}{\cs_if_exist:cF {c__text_uppercase_\token_to_str:N ##1_tl}{\tl_const:cn {c__text_uppercase_\token_to_str:N ##1_tl}{##2}}\cs_if_exist:cF {c__text_lowercase_\token_to_str:N ##2_tl}{\tl_const:cn {c__text_lowercase_\token_to_str:N ##2_tl}{##1}}}\__text_change_case_setup:Nn }\exp_after:wN \__text_change_case_setup:Nn \@uclclist \q_recursion_tail ?\q_recursion_stop \group_end: .
l. ......eatletter\show\@kernel at after@begindocument
\makeatother
(minimal.cls
diff --git a/base/testfiles/tlb-rollback-005.xetex.tlg b/base/testfiles/tlb-rollback-005.xetex.tlg
index fe9a98f2..1d757944 100644
--- a/base/testfiles/tlb-rollback-005.xetex.tlg
+++ b/base/testfiles/tlb-rollback-005.xetex.tlg
@@ -1,7 +1,7 @@
This is a generated file for the l3build validation system.
Don't change this file in any respect.
> \@kernel at after@begindocument=macro:
-->\prop_map_inline:Nn \l_keys_usage_preamble_prop {\clist_map_inline:nn {##2}{\keys_define:nn {##1}{####1.code:n=\msg_error:nnn {keys}{preamble-only}{####1}}}}\__hook_cmd_begindocument_code: \bool_gset_true:N \g__pdf_init_bool \group_begin: \cs_set_protected:Npn \__text_tmp:w ##1{\tl_clear:N \l_text_expand_exclude_tl \tl_map_inline:nn {##1}{\bool_lazy_any:nF {{\token_if_protected_macro_p:N ####1}{\token_if_protected_long_macro_p:N ####1}{\str_if_eq_p:ee {\cs_replacement_spec:N ####1}{\exp_not:n {\protect ####1}\c_space_tl }}}{\tl_put_right:Nn \l_text_expand_exclude_tl {####1}}}}\exp_args:NV \__text_tmp:w \l_text_expand_exclude_tl \exp_args:NNNV \group_end: \tl_set:Nn \l_text_expand_exclude_tl \l_text_expand_exclude_tl \group_begin: \cs_set_protected:Npn \__text_change_case_setup:Nn ##1##2{\quark_if_recursion_tail_stop:N ##1\tl_if_single_token:nT {##2}{\cs_if_exist:cF {c__text_uppercase_\token_to_str:N ##1_tl}{\tl_const:cn {c__text_uppercase_\token_to_str:N ##1_tl}{##2}}\cs_if_exist:cF {c__text_lowercase_\token_to_str:N ##2_tl}{\tl_const:cn {c__text_lowercase_\token_to_str:N ##2_tl}{##1}}}\__text_change_case_setup:Nn }\exp_after:wN \__text_change_case_setup:Nn \@uclclist \q_recursion_tail ?\q_recursion_stop \group_end: .
+->\prop_map_inline:Nn \l_keys_usage_preamble_prop {\clist_map_inline:nn {##2}{\keys_define:nn {##1}{####1.code:n=\msg_error:nnn {keys}{preamble-only}{####1}}}}\__hook_cmd_begindocument_code: \cs_gset_protected:Npn \sys_load_debug: {\msg_error:nn {sys}{load-debug-in-preamble}}\bool_gset_true:N \g__pdf_init_bool \group_begin: \cs_set_protected:Npn \__text_tmp:w ##1{\tl_clear:N \l_text_expand_exclude_tl \tl_map_inline:nn {##1}{\bool_lazy_any:nF {{\token_if_protected_macro_p:N ####1}{\token_if_protected_long_macro_p:N ####1}{\str_if_eq_p:ee {\cs_replacement_spec:N ####1}{\exp_not:n {\protect ####1}\c_space_tl }}}{\tl_put_right:Nn \l_text_expand_exclude_tl {####1}}}}\exp_args:NV \__text_tmp:w \l_text_expand_exclude_tl \exp_args:NNNV \group_end: \tl_set:Nn \l_text_expand_exclude_tl \l_text_expand_exclude_tl \group_begin: \cs_set_protected:Npn \__text_change_case_setup:Nn ##1##2{\quark_if_recursion_tail_stop:N ##1\tl_if_single_token:nT {##2}{\cs_if_exist:cF {c__text_uppercase_\token_to_str:N ##1_tl}{\tl_const:cn {c__text_uppercase_\token_to_str:N ##1_tl}{##2}}\cs_if_exist:cF {c__text_lowercase_\token_to_str:N ##2_tl}{\tl_const:cn {c__text_lowercase_\token_to_str:N ##2_tl}{##1}}}\__text_change_case_setup:Nn }\exp_after:wN \__text_change_case_setup:Nn \@uclclist \q_recursion_tail ?\q_recursion_stop \group_end: .
l. ...\makeatletter\show\@kernel at after@begindocument
\makeatother
(latexrelease.sty
@@ -895,7 +895,7 @@ Applying: [....-..-..] UTF-8 default on input line ....
Already applied: [....-..-..] UTF-8 default on input line ....
)
> \@kernel at after@begindocument=macro:
-->\prop_map_inline:Nn \l_keys_usage_preamble_prop {\clist_map_inline:nn {##2}{\keys_define:nn {##1}{####1.code:n=\msg_error:nnn {keys}{preamble-only}{####1}}}}\__hook_cmd_begindocument_code: \bool_gset_true:N \g__pdf_init_bool \group_begin: \cs_set_protected:Npn \__text_tmp:w ##1{\tl_clear:N \l_text_expand_exclude_tl \tl_map_inline:nn {##1}{\bool_lazy_any:nF {{\token_if_protected_macro_p:N ####1}{\token_if_protected_long_macro_p:N ####1}{\str_if_eq_p:ee {\cs_replacement_spec:N ####1}{\exp_not:n {\protect ####1}\c_space_tl }}}{\tl_put_right:Nn \l_text_expand_exclude_tl {####1}}}}\exp_args:NV \__text_tmp:w \l_text_expand_exclude_tl \exp_args:NNNV \group_end: \tl_set:Nn \l_text_expand_exclude_tl \l_text_expand_exclude_tl \group_begin: \cs_set_protected:Npn \__text_change_case_setup:Nn ##1##2{\quark_if_recursion_tail_stop:N ##1\tl_if_single_token:nT {##2}{\cs_if_exist:cF {c__text_uppercase_\token_to_str:N ##1_tl}{\tl_const:cn {c__text_uppercase_\token_to_str:N ##1_tl}{##2}}\cs_if_exist:cF {c__text_lowercase_\token_to_str:N ##2_tl}{\tl_const:cn {c__text_lowercase_\token_to_str:N ##2_tl}{##1}}}\__text_change_case_setup:Nn }\exp_after:wN \__text_change_case_setup:Nn \@uclclist \q_recursion_tail ?\q_recursion_stop \group_end: .
+->\prop_map_inline:Nn \l_keys_usage_preamble_prop {\clist_map_inline:nn {##2}{\keys_define:nn {##1}{####1.code:n=\msg_error:nnn {keys}{preamble-only}{####1}}}}\__hook_cmd_begindocument_code: \cs_gset_protected:Npn \sys_load_debug: {\msg_error:nn {sys}{load-debug-in-preamble}}\bool_gset_true:N \g__pdf_init_bool \group_begin: \cs_set_protected:Npn \__text_tmp:w ##1{\tl_clear:N \l_text_expand_exclude_tl \tl_map_inline:nn {##1}{\bool_lazy_any:nF {{\token_if_protected_macro_p:N ####1}{\token_if_protected_long_macro_p:N ####1}{\str_if_eq_p:ee {\cs_replacement_spec:N ####1}{\exp_not:n {\protect ####1}\c_space_tl }}}{\tl_put_right:Nn \l_text_expand_exclude_tl {####1}}}}\exp_args:NV \__text_tmp:w \l_text_expand_exclude_tl \exp_args:NNNV \group_end: \tl_set:Nn \l_text_expand_exclude_tl \l_text_expand_exclude_tl \group_begin: \cs_set_protected:Npn \__text_change_case_setup:Nn ##1##2{\quark_if_recursion_tail_stop:N ##1\tl_if_single_token:nT {##2}{\cs_if_exist:cF {c__text_uppercase_\token_to_str:N ##1_tl}{\tl_const:cn {c__text_uppercase_\token_to_str:N ##1_tl}{##2}}\cs_if_exist:cF {c__text_lowercase_\token_to_str:N ##2_tl}{\tl_const:cn {c__text_lowercase_\token_to_str:N ##2_tl}{##1}}}\__text_change_case_setup:Nn }\exp_after:wN \__text_change_case_setup:Nn \@uclclist \q_recursion_tail ?\q_recursion_stop \group_end: .
l. ......eatletter\show\@kernel at after@begindocument
\makeatother
(minimal.cls
diff --git a/texmf/tex/latex/l3backend/l3backend-dvipdfmx.def b/texmf/tex/latex/l3backend/l3backend-dvipdfmx.def
index afe957ed..128c0026 100644
--- a/texmf/tex/latex/l3backend/l3backend-dvipdfmx.def
+++ b/texmf/tex/latex/l3backend/l3backend-dvipdfmx.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvipdfmx.def}{2024-01-04}{}
+ {l3backend-dvipdfmx.def}{2024-02-20}{}
{L3 backend support: dvipdfmx}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
diff --git a/texmf/tex/latex/l3backend/l3backend-dvips.def b/texmf/tex/latex/l3backend/l3backend-dvips.def
index 6db01a86..b808ec8c 100644
--- a/texmf/tex/latex/l3backend/l3backend-dvips.def
+++ b/texmf/tex/latex/l3backend/l3backend-dvips.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvips.def}{2024-01-04}{}
+ {l3backend-dvips.def}{2024-02-20}{}
{L3 backend support: dvips}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
diff --git a/texmf/tex/latex/l3backend/l3backend-dvisvgm.def b/texmf/tex/latex/l3backend/l3backend-dvisvgm.def
index f4b98af1..a51db469 100644
--- a/texmf/tex/latex/l3backend/l3backend-dvisvgm.def
+++ b/texmf/tex/latex/l3backend/l3backend-dvisvgm.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvisvgm.def}{2024-01-04}{}
+ {l3backend-dvisvgm.def}{2024-02-20}{}
{L3 backend support: dvisvgm}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
@@ -403,7 +403,7 @@
"url( \c_hash_str l3cp \int_use:N \g__kernel_clip_path_int)"
}
}
- \tl_gclear:N \g__draw_path_tl
+ \tl_gclear:N \g__draw_backend_path_tl
\bool_gset_false:N \g__draw_draw_clip_bool
}
\cs_new_protected:Npn \__draw_backend_dash_pattern:nn #1#2
diff --git a/texmf/tex/latex/l3backend/l3backend-luatex.def b/texmf/tex/latex/l3backend/l3backend-luatex.def
index 7130f0ed..e4369908 100644
--- a/texmf/tex/latex/l3backend/l3backend-luatex.def
+++ b/texmf/tex/latex/l3backend/l3backend-luatex.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-luatex.def}{2024-01-04}{}
+ {l3backend-luatex.def}{2024-02-20}{}
{L3 backend support: PDF output (LuaTeX)}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
diff --git a/texmf/tex/latex/l3backend/l3backend-pdftex.def b/texmf/tex/latex/l3backend/l3backend-pdftex.def
index d53a8f49..0258ebe3 100644
--- a/texmf/tex/latex/l3backend/l3backend-pdftex.def
+++ b/texmf/tex/latex/l3backend/l3backend-pdftex.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-pdftex.def}{2024-01-04}{}
+ {l3backend-pdftex.def}{2024-02-20}{}
{L3 backend support: PDF output (pdfTeX)}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
diff --git a/texmf/tex/latex/l3backend/l3backend-xetex.def b/texmf/tex/latex/l3backend/l3backend-xetex.def
index 1c208ea2..bab5a7d2 100644
--- a/texmf/tex/latex/l3backend/l3backend-xetex.def
+++ b/texmf/tex/latex/l3backend/l3backend-xetex.def
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-xetex.def}{2024-01-04}{}
+ {l3backend-xetex.def}{2024-02-20}{}
{L3 backend support: XeTeX}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
diff --git a/texmf/tex/latex/l3kernel/expl3-code.tex b/texmf/tex/latex/l3kernel/expl3-code.tex
index 998fa55a..324ff825 100644
--- a/texmf/tex/latex/l3kernel/expl3-code.tex
+++ b/texmf/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-02-18}%
+\def\ExplFileDate{2024-02-20}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -1625,12 +1625,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_set_protected:Npn \debug_on:n #1
{
\sys_load_debug:
- \debug_on:n {#1}
+ \cs_if_exist:NT \__debug_all_on:
+ { \debug_on:n {#1} }
}
\cs_set_protected:Npn \debug_off:n #1
{
\sys_load_debug:
- \debug_off:n {#1}
+ \cs_if_exist:NT \__debug_all_on:
+ { \debug_off:n {#1} }
}
\cs_set_protected:Npn \debug_suspend: { }
\cs_set_protected:Npn \debug_resume: { }
@@ -7758,6 +7760,17 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__kernel_sys_configuration_load:n { l3debug } }
\bool_gset_true:N \g__sys_debug_bool
}
+\cs_if_exist:NT \@expl at finalise@setup@@
+ {
+ \tl_gput_right:Nn \@expl at finalise@setup@@
+ {
+ \tl_gput_right:Nn \@kernel at after@begindocument
+ {
+ \cs_gset_protected:Npn \sys_load_debug:
+ { \msg_error:nn { sys } { load-debug-in-preamble } }
+ }
+ }
+ }
\tl_new:N \l__sys_internal_tl
\tl_const:Ne \c__sys_marker_tl { : \token_to_str:N : }
\cs_new_protected:Npn \sys_get_shell:nnN #1#2#3
@@ -9753,18 +9766,33 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_generate_variant:Nn \prop_const_linked_from_keyval:Nn { c }
\cs_new_protected:Npn \__prop_split:NnTFn #1#2
- { \exp_args:NNo \__prop_split_aux:NnTFn #1 { \tl_to_str:n {#2} } }
-\cs_new_protected:Npn \__prop_split_aux:NnTFn #1#2#3
- {
- \cs_set:Npn \__prop_split_aux:w ##1 \__prop_chk:w ##2
- \__prop_pair:wn #2 \s__prop ##3 ##4 \s__prop_mark ##5 ##6 \s__prop_stop
- { ##5 {#3} }
- \exp_after:wN \__prop_split_aux:w #1 \s__prop_mark \use_i:nnn
- \__prop_pair:wn #2 \s__prop { } \s__prop_mark \use_ii:nnn
- \__prop_chk:w
- \__prop_pair:wn #2 \s__prop { } \s__prop_mark \use_iii:nnn
+ {
+ \exp_after:wN \__prop_split_aux:nNTFn
+ \exp_after:wN { \tl_to_str:n {#2} } #1
+ }
+\cs_new_protected:Npn \__prop_split_aux:nNTFn #1#2#3
+ {
+ \cs_set:Npn \__prop_split_flat:w \__prop_split_linked:w ##1
+ \__prop_pair:wn #1 \s__prop ##2 ##3 \s__prop_mark ##4 ##5 \s__prop_stop
+ { ##4 {#3} }
+ \exp_after:wN \__prop_split_test:wn #2 \s__prop_mark \use_i:nnn
+ \__prop_pair:wn #1 \s__prop { ? \fi: \__prop_split_wrong:Nw #2 }
+ \s__prop_mark \use_ii:nnn
\s__prop_stop
}
+\cs_new:Npn \__prop_split_flat:w { }
+\cs_new_protected:Npn \__prop_split_test:wn #1 \s__prop #2
+ {
+ \if_meaning:w \__prop_chk:w #2 \exp_after:wN \__prop_split_flat:w \fi:
+ \__prop_split_linked:w
+ }
+\cs_new_protected:Npn \__prop_split_linked:w #1 \s__prop_stop #2#3 {#3}
+\cs_new_protected:Npn \__prop_split_wrong:Nw #1#2 \s__prop_stop #3#4
+ {
+ \prop_show:N #1
+ \cs_gset_eq:NN #1 \c_empty_prop
+ #3
+ }
\cs_new_protected:Npn \prop_get:NnN #1#2#3
{
\__prop_get:NnnTF #1 {#2}
@@ -9787,7 +9815,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new_protected:Npn \__prop_get:NnnTF #1#2#3#4#5
{
\__prop_split:NnTFn #1 {#2}
- { #3 {##3} #4 }
+ { #3 {##2} #4 }
{#5}
{ \exp_after:wN \__prop_get_linked:w #1 {#2} {#3} {#4} {#5} }
}
@@ -9828,8 +9856,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\__prop_split:NnTFn #1 {#2}
{
- #4 #1 { \exp_not:n { \s__prop \__prop_chk:w ##2 ##4 } }
- #5 {##3}
+ #4 #1 { \exp_not:n { \s__prop \__prop_chk:w ##1 ##3 } }
+ #5 {##2}
#6
}
{#7}
@@ -9974,8 +10002,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
#1 #2 #3
{
- \s__prop \__prop_chk:w \exp_not:n {##2}
- \l__prop_internal_tl \exp_not:n {##4}
+ \s__prop \__prop_chk:w \exp_not:n {##1}
+ \l__prop_internal_tl \exp_not:n {##3}
}
}
{ #2 #3 { \exp_not:o {#3} \l__prop_internal_tl } }
@@ -10796,17 +10824,17 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \msg_new:nnnn { LaTeX / #1 } }
\cs_new_protected:Npn \__kernel_msg_new:nnn #1
{ \msg_new:nnn { LaTeX / #1 } }
-\cs_new_protected:Npn \__kernel_msg_info:nnee #1
+\cs_new_protected:Npn \__kernel_msg_info:nnxx #1
{ \msg_info:nnee { LaTeX / #1 } }
-\cs_new_protected:Npn \__kernel_msg_warning:nne #1
+\cs_new_protected:Npn \__kernel_msg_warning:nnx #1
{ \msg_warning:nne { LaTeX / #1 } }
-\cs_new_protected:Npn \__kernel_msg_warning:nnee #1
+\cs_new_protected:Npn \__kernel_msg_warning:nnxx #1
{ \msg_warning:nnee { LaTeX / #1 } }
-\cs_new_protected:Npn \__kernel_msg_error:nne #1
+\cs_new_protected:Npn \__kernel_msg_error:nnx #1
{ \msg_error:nne { LaTeX / #1 } }
-\cs_new_protected:Npn \__kernel_msg_error:nnee #1
+\cs_new_protected:Npn \__kernel_msg_error:nnxx #1
{ \msg_error:nnee { LaTeX / #1 } }
-\cs_new_protected:Npn \__kernel_msg_error:nneee #1
+\cs_new_protected:Npn \__kernel_msg_error:nnxxx #1
{ \msg_error:nneee { LaTeX / #1 } }
\cs_new:Npn \__kernel_msg_expandable_error:nnn #1
{ \msg_expandable_error:nnn { LaTeX / #1 } }
@@ -11159,6 +11187,12 @@ Type H <return> for immediate help}\def~{\errmessage{%
Run-time~backend~selection~may~only~be~carried~out~once~during~a~run.~
This~second~attempt~to~set~them~will~be~ignored.
}
+\msg_new:nnnn { sys } { load-debug-in-preamble }
+ { Load~debug~support~in~the~preamble. }
+ {
+ Debugging~requires~support~loaded~in~the~preamble: \\
+ Use~\sys_load_debug:~before~\begin{document}.
+ }
\msg_new:nnnn { sys } { wrong-backend }
{ Backend~request~inconsistent~with~engine:~using~'#2'~backend. }
{
diff --git a/texmf/tex/latex/l3kernel/expl3-generic.tex b/texmf/tex/latex/l3kernel/expl3-generic.tex
index 79a79f11..e57bdbe4 100644
--- a/texmf/tex/latex/l3kernel/expl3-generic.tex
+++ b/texmf/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-02-18}%
+\def\ExplFileDate{2024-02-20}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\catcode`\_=11
diff --git a/texmf/tex/latex/l3kernel/expl3.ltx b/texmf/tex/latex/l3kernel/expl3.ltx
index 38de0490..a40c3a31 100644
--- a/texmf/tex/latex/l3kernel/expl3.ltx
+++ b/texmf/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-02-18}%
+\def\ExplFileDate{2024-02-20}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\catcode`\_=11
diff --git a/texmf/tex/latex/l3kernel/expl3.sty b/texmf/tex/latex/l3kernel/expl3.sty
index bae277a3..03a22d85 100644
--- a/texmf/tex/latex/l3kernel/expl3.sty
+++ b/texmf/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-02-18}%
+\def\ExplFileDate{2024-02-20}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%
diff --git a/texmf/tex/latex/l3kernel/l3debug.def b/texmf/tex/latex/l3kernel/l3debug.def
index 39b07816..1021e537 100644
--- a/texmf/tex/latex/l3kernel/l3debug.def
+++ b/texmf/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-02-18}{}{L3 Debugging support}
+\ProvidesExplFile{l3debug.def}{2024-02-20}{}{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
@@ -27,7 +27,7 @@
\cs_new:Npn \__debug_use_none_delimit_by_q_recursion_stop:w
#1 \q__debug_recursion_stop { }
\__kernel_quark_new_test:N \__debug_if_recursion_tail_stop:N
-\cs_set_protected:Npn \debug_on:n #1
+\cs_gset_protected:Npn \debug_on:n #1
{
\exp_args:No \clist_map_inline:nn { \tl_to_str:n {#1} }
{
@@ -35,7 +35,7 @@
{ \msg_error:nnn { debug } { debug } {##1} }
}
}
-\cs_set_protected:Npn \debug_off:n #1
+\cs_gset_protected:Npn \debug_off:n #1
{
\exp_args:No \clist_map_inline:nn { \tl_to_str:n {#1} }
{
@@ -64,12 +64,12 @@
}
}
\tl_new:N \l__debug_suspended_tl { }
-\cs_set_protected:Npn \debug_suspend:
+\cs_gset_protected:Npn \debug_suspend:
{
\tl_put_right:Nn \l__debug_suspended_tl { . }
\cs_set_eq:NN \__debug_suspended:T \use:n
}
-\cs_set_protected:Npn \debug_resume:
+\cs_gset_protected:Npn \debug_resume:
{
\__kernel_tl_set:Nx \l__debug_suspended_tl
{ \tl_tail:N \l__debug_suspended_tl }
@@ -1047,7 +1047,7 @@
without~first~having: \\
\ \ \tl_new:N ~ #1 \\
\\
- LaTeX~will~create~the~variable~and~continue.
+ LaTeX~will~continue,~creating~the~variable~where~it~is~the~one~being~set.
}
\cs_set_protected:Npn \__kernel_if_debug:TF #1#2 {#1}
%%
diff --git a/texmf/tex/latex/l3kernel/l3doc.cls b/texmf/tex/latex/l3kernel/l3doc.cls
index 1208bd3a..5c0b0436 100644
--- a/texmf/tex/latex/l3kernel/l3doc.cls
+++ b/texmf/tex/latex/l3kernel/l3doc.cls
@@ -20,7 +20,7 @@
%%
%% File: l3doc.dtx
\RequirePackage{calc}
-\ProvidesExplClass{l3doc}{2024-02-18}{}
+\ProvidesExplClass{l3doc}{2024-02-20}{}
{L3 Experimental documentation class}
\clist_new:N \g_docinput_clist
\seq_new:N \g_doc_functions_seq
diff --git a/texmf/tex/latex/l3packages/xparse/xparse.sty b/texmf/tex/latex/l3packages/xparse/xparse.sty
index 7f2fb077..7aa5d530 100644
--- a/texmf/tex/latex/l3packages/xparse/xparse.sty
+++ b/texmf/tex/latex/l3packages/xparse/xparse.sty
@@ -60,7 +60,7 @@
}
}
\ExplSyntaxOff
-\ProvidesExplPackage{xparse}{2024-02-18}{}
+\ProvidesExplPackage{xparse}{2024-02-20}{}
{L3 Experimental document command parser}
\clist_new:N \l__cmd_options_clist
\DeclareOption* { \clist_put_right:NV \l__cmd_options_clist \CurrentOption }
More information about the latex3-commits
mailing list.