summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex')
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex726
1 files changed, 407 insertions, 319 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index 324ff825f1c..bc4dfe706a4 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-02-20}%
+\def\ExplFileDate{2024-03-14}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -235,7 +235,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\catcode 124 = 12\relax
\catcode 126 = 10\relax
\endlinechar = 32\relax
-\chardef\l__kernel_expl_bool = 1\relax
+\global\chardef\l__kernel_expl_bool = 1\relax
\protected \def \ExplSyntaxOn
{
\bool_if:NF \l__kernel_expl_bool
@@ -1450,47 +1450,47 @@ Type H <return> for immediate help}\def~{\errmessage{%
\tex_let:D \tex_right:D \normalright
\tex_fi:D
%% File: l3basics.dtx
-\tex_let:D \if_true: \tex_iftrue:D
-\tex_let:D \if_false: \tex_iffalse:D
-\tex_let:D \or: \tex_or:D
-\tex_let:D \else: \tex_else:D
-\tex_let:D \fi: \tex_fi:D
-\tex_let:D \reverse_if:N \tex_unless:D
-\tex_let:D \if:w \tex_if:D
-\tex_let:D \if_charcode:w \tex_if:D
-\tex_let:D \if_catcode:w \tex_ifcat:D
-\tex_let:D \if_meaning:w \tex_ifx:D
-\tex_let:D \if_bool:N \tex_ifodd:D
-\tex_let:D \if_mode_math: \tex_ifmmode:D
-\tex_let:D \if_mode_horizontal: \tex_ifhmode:D
-\tex_let:D \if_mode_vertical: \tex_ifvmode:D
-\tex_let:D \if_mode_inner: \tex_ifinner:D
-\tex_let:D \if_cs_exist:N \tex_ifdefined:D
-\tex_let:D \if_cs_exist:w \tex_ifcsname:D
-\tex_let:D \cs:w \tex_csname:D
-\tex_let:D \cs_end: \tex_endcsname:D
-\tex_let:D \exp_after:wN \tex_expandafter:D
-\tex_let:D \exp_not:N \tex_noexpand:D
-\tex_let:D \exp_not:n \tex_unexpanded:D
-\tex_let:D \exp:w \tex_romannumeral:D
-\tex_chardef:D \exp_end: = 0 ~
-\tex_let:D \token_to_meaning:N \tex_meaning:D
-\tex_let:D \cs_meaning:N \tex_meaning:D
-\tex_let:D \tl_to_str:n \tex_detokenize:D
-\tex_let:D \token_to_str:N \tex_string:D
-\tex_let:D \__kernel_tl_to_str:w \tex_detokenize:D
-\tex_let:D \scan_stop: \tex_relax:D
-\tex_let:D \group_begin: \tex_begingroup:D
-\tex_let:D \group_end: \tex_endgroup:D
-\tex_let:D \if_int_compare:w \tex_ifnum:D
-\tex_let:D \__int_to_roman:w \tex_romannumeral:D
-\tex_let:D \group_insert_after:N \tex_aftergroup:D
-\tex_long:D \tex_def:D \exp_args:Nc #1#2
+\tex_global:D \tex_let:D \if_true: \tex_iftrue:D
+\tex_global:D \tex_let:D \if_false: \tex_iffalse:D
+\tex_global:D \tex_let:D \or: \tex_or:D
+\tex_global:D \tex_let:D \else: \tex_else:D
+\tex_global:D \tex_let:D \fi: \tex_fi:D
+\tex_global:D \tex_let:D \reverse_if:N \tex_unless:D
+\tex_global:D \tex_let:D \if:w \tex_if:D
+\tex_global:D \tex_let:D \if_charcode:w \tex_if:D
+\tex_global:D \tex_let:D \if_catcode:w \tex_ifcat:D
+\tex_global:D \tex_let:D \if_meaning:w \tex_ifx:D
+\tex_global:D \tex_let:D \if_bool:N \tex_ifodd:D
+\tex_global:D \tex_let:D \if_mode_math: \tex_ifmmode:D
+\tex_global:D \tex_let:D \if_mode_horizontal: \tex_ifhmode:D
+\tex_global:D \tex_let:D \if_mode_vertical: \tex_ifvmode:D
+\tex_global:D \tex_let:D \if_mode_inner: \tex_ifinner:D
+\tex_global:D \tex_let:D \if_cs_exist:N \tex_ifdefined:D
+\tex_global:D \tex_let:D \if_cs_exist:w \tex_ifcsname:D
+\tex_global:D \tex_let:D \cs:w \tex_csname:D
+\tex_global:D \tex_let:D \cs_end: \tex_endcsname:D
+\tex_global:D \tex_let:D \exp_after:wN \tex_expandafter:D
+\tex_global:D \tex_let:D \exp_not:N \tex_noexpand:D
+\tex_global:D \tex_let:D \exp_not:n \tex_unexpanded:D
+\tex_global:D \tex_let:D \exp:w \tex_romannumeral:D
+\tex_global:D \tex_chardef:D \exp_end: = 0 ~
+\tex_global:D \tex_let:D \token_to_meaning:N \tex_meaning:D
+\tex_global:D \tex_let:D \cs_meaning:N \tex_meaning:D
+\tex_global:D \tex_let:D \tl_to_str:n \tex_detokenize:D
+\tex_global:D \tex_let:D \token_to_str:N \tex_string:D
+\tex_global:D \tex_let:D \__kernel_tl_to_str:w \tex_detokenize:D
+\tex_global:D \tex_let:D \scan_stop: \tex_relax:D
+\tex_global:D \tex_let:D \group_begin: \tex_begingroup:D
+\tex_global:D \tex_let:D \group_end: \tex_endgroup:D
+\tex_global:D \tex_let:D \if_int_compare:w \tex_ifnum:D
+\tex_global:D \tex_let:D \__int_to_roman:w \tex_romannumeral:D
+\tex_global:D \tex_let:D \group_insert_after:N \tex_aftergroup:D
+\tex_long:D \tex_gdef:D \exp_args:Nc #1#2
{ \exp_after:wN #1 \cs:w #2 \cs_end: }
-\tex_long:D \tex_def:D \exp_args:cc #1#2
+\tex_long:D \tex_gdef:D \exp_args:cc #1#2
{ \cs:w #1 \exp_after:wN \cs_end: \cs:w #2 \cs_end: }
-\tex_def:D \token_to_str:c { \exp_args:Nc \token_to_str:N }
-\tex_long:D \tex_def:D \cs_meaning:c #1
+\tex_gdef:D \token_to_str:c { \exp_args:Nc \token_to_str:N }
+\tex_long:D \tex_gdef:D \cs_meaning:c #1
{
\if_cs_exist:w #1 \cs_end:
\exp_after:wN \use_i:nn
@@ -1500,168 +1500,168 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \exp_args:Nc \cs_meaning:N {#1} }
{ \tl_to_str:n {undefined} }
}
-\tex_let:D \token_to_meaning:c = \cs_meaning:c
-\tex_chardef:D \c_zero_int = 0 ~
+\tex_global:D \tex_let:D \token_to_meaning:c = \cs_meaning:c
+\tex_global:D \tex_chardef:D \c_zero_int = 0 ~
\tex_ifdefined:D \tex_luatexversion:D
- \tex_chardef:D \c_max_register_int = 65 535 ~
+ \tex_global:D \tex_chardef:D \c_max_register_int = 65 535 ~
\tex_else:D
\tex_ifdefined:D \tex_omathchardef:D
- \tex_omathchardef:D \c_max_register_int = 65535 ~
+ \tex_global:D \tex_omathchardef:D \c_max_register_int = 65535 ~
\tex_else:D
- \tex_mathchardef:D \c_max_register_int = 32767 ~
+ \tex_global:D \tex_mathchardef:D \c_max_register_int = 32767 ~
\tex_fi:D
\tex_fi:D
-\tex_let:D \cs_set_nopar:Npn \tex_def:D
-\tex_let:D \cs_set_nopar:Npe \tex_edef:D
-\tex_let:D \cs_set_nopar:Npx \tex_edef:D
-\tex_protected:D \tex_long:D \tex_def:D \cs_set:Npn
- { \tex_long:D \tex_def:D }
-\tex_protected:D \tex_long:D \tex_def:D \cs_set:Npe
- { \tex_long:D \tex_edef:D }
-\tex_let:D \cs_set:Npx \cs_set:Npe
-\tex_protected:D \tex_long:D \tex_def:D \cs_set_protected_nopar:Npn
- { \tex_protected:D \tex_def:D }
-\tex_protected:D \tex_long:D \tex_def:D \cs_set_protected_nopar:Npe
- { \tex_protected:D \tex_edef:D }
-\tex_let:D \cs_set_protected_nopar:Npx \cs_set_protected_nopar:Npe
-\tex_protected:D \tex_long:D \tex_def:D \cs_set_protected:Npn
- { \tex_protected:D \tex_long:D \tex_def:D }
-\tex_protected:D \tex_long:D \tex_def:D \cs_set_protected:Npe
- { \tex_protected:D \tex_long:D \tex_edef:D }
-\tex_let:D \cs_set_protected:Npx \cs_set_protected:Npe
-\tex_let:D \cs_gset_nopar:Npn \tex_gdef:D
-\tex_let:D \cs_gset_nopar:Npe \tex_xdef:D
-\tex_let:D \cs_gset_nopar:Npx \tex_xdef:D
-\cs_set_protected:Npn \cs_gset:Npn
+\tex_global:D \tex_let:D \cs_gset_nopar:Npn \tex_gdef:D
+\tex_global:D \tex_let:D \cs_gset_nopar:Npe \tex_xdef:D
+\tex_global:D \tex_let:D \cs_gset_nopar:Npx \tex_xdef:D
+\tex_protected:D \tex_long:D \tex_gdef:D \cs_gset:Npn
{ \tex_long:D \tex_gdef:D }
-\cs_set_protected:Npn \cs_gset:Npe
+\tex_protected:D \tex_long:D \tex_gdef:D \cs_gset:Npe
{ \tex_long:D \tex_xdef:D }
-\tex_let:D \cs_gset:Npx \cs_gset:Npe
-\cs_set_protected:Npn \cs_gset_protected_nopar:Npn
+\tex_global:D \tex_let:D \cs_gset:Npx \cs_gset:Npe
+\tex_protected:D \tex_long:D \tex_gdef:D \cs_gset_protected_nopar:Npn
{ \tex_protected:D \tex_gdef:D }
-\cs_set_protected:Npn \cs_gset_protected_nopar:Npe
+\tex_protected:D \tex_long:D \tex_gdef:D \cs_gset_protected_nopar:Npe
{ \tex_protected:D \tex_xdef:D }
-\tex_let:D \cs_gset_protected_nopar:Npx \cs_gset_protected_nopar:Npe
-\cs_set_protected:Npn \cs_gset_protected:Npn
+\tex_global:D \tex_let:D \cs_gset_protected_nopar:Npx \cs_gset_protected_nopar:Npe
+\tex_protected:D \tex_long:D \tex_gdef:D \cs_gset_protected:Npn
{ \tex_protected:D \tex_long:D \tex_gdef:D }
-\cs_set_protected:Npn \cs_gset_protected:Npe
+\tex_protected:D \tex_long:D \tex_gdef:D \cs_gset_protected:Npe
{ \tex_protected:D \tex_long:D \tex_xdef:D }
-\tex_let:D \cs_gset_protected:Npx \cs_gset_protected:Npe
-\cs_set_nopar:Npn \l__exp_internal_tl { }
-\cs_set:Npn \use:c #1 { \cs:w #1 \cs_end: }
-\cs_set_protected:Npn \use:x #1
+\tex_global:D \tex_let:D \cs_gset_protected:Npx \cs_gset_protected:Npe
+\tex_global:D \tex_let:D \cs_set_nopar:Npn \tex_def:D
+\tex_global:D \tex_let:D \cs_set_nopar:Npe \tex_edef:D
+\tex_global:D \tex_let:D \cs_set_nopar:Npx \tex_edef:D
+\cs_gset_protected:Npn \cs_set:Npn
+ { \tex_long:D \tex_def:D }
+\cs_gset_protected:Npn \cs_set:Npe
+ { \tex_long:D \tex_edef:D }
+\tex_global:D \tex_let:D \cs_set:Npx \cs_set:Npe
+\cs_gset_protected:Npn \cs_set_protected_nopar:Npn
+ { \tex_protected:D \tex_def:D }
+\cs_gset_protected:Npn \cs_set_protected_nopar:Npe
+ { \tex_protected:D \tex_edef:D }
+\tex_global:D \tex_let:D \cs_set_protected_nopar:Npx \cs_set_protected_nopar:Npe
+\cs_gset_protected:Npn \cs_set_protected:Npn
+ { \tex_protected:D \tex_long:D \tex_def:D }
+\cs_gset_protected:Npn \cs_set_protected:Npe
+ { \tex_protected:D \tex_long:D \tex_edef:D }
+\tex_global:D \tex_let:D \cs_set_protected:Npx \cs_set_protected:Npe
+\cs_gset_nopar:Npn \l__exp_internal_tl { }
+\cs_gset:Npn \use:c #1 { \cs:w #1 \cs_end: }
+\cs_gset_protected:Npn \use:x #1
{
\cs_set_nopar:Npx \l__exp_internal_tl {#1}
\l__exp_internal_tl
}
-\cs_set:Npn \use:e #1 { \tex_expanded:D {#1} }
-\cs_set:Npn \use:n #1 {#1}
-\cs_set:Npn \use:nn #1#2 {#1#2}
-\cs_set:Npn \use:nnn #1#2#3 {#1#2#3}
-\cs_set:Npn \use:nnnn #1#2#3#4 {#1#2#3#4}
-\cs_set:Npn \use_i:nn #1#2 {#1}
-\cs_set:Npn \use_ii:nn #1#2 {#2}
-\cs_set:Npn \use_i:nnn #1#2#3 {#1}
-\cs_set:Npn \use_ii:nnn #1#2#3 {#2}
-\cs_set:Npn \use_iii:nnn #1#2#3 {#3}
-\cs_set:Npn \use_i:nnnn #1#2#3#4 {#1}
-\cs_set:Npn \use_ii:nnnn #1#2#3#4 {#2}
-\cs_set:Npn \use_iii:nnnn #1#2#3#4 {#3}
-\cs_set:Npn \use_iv:nnnn #1#2#3#4 {#4}
-\cs_set:Npn \use_i:nnnnn #1#2#3#4#5 {#1}
-\cs_set:Npn \use_ii:nnnnn #1#2#3#4#5 {#2}
-\cs_set:Npn \use_iii:nnnnn #1#2#3#4#5 {#3}
-\cs_set:Npn \use_iv:nnnnn #1#2#3#4#5 {#4}
-\cs_set:Npn \use_v:nnnnn #1#2#3#4#5 {#5}
-\cs_set:Npn \use_i:nnnnnn #1#2#3#4#5#6 {#1}
-\cs_set:Npn \use_ii:nnnnnn #1#2#3#4#5#6 {#2}
-\cs_set:Npn \use_iii:nnnnnn #1#2#3#4#5#6 {#3}
-\cs_set:Npn \use_iv:nnnnnn #1#2#3#4#5#6 {#4}
-\cs_set:Npn \use_v:nnnnnn #1#2#3#4#5#6 {#5}
-\cs_set:Npn \use_vi:nnnnnn #1#2#3#4#5#6 {#6}
-\cs_set:Npn \use_i:nnnnnnn #1#2#3#4#5#6#7 {#1}
-\cs_set:Npn \use_ii:nnnnnnn #1#2#3#4#5#6#7 {#2}
-\cs_set:Npn \use_iii:nnnnnnn #1#2#3#4#5#6#7 {#3}
-\cs_set:Npn \use_iv:nnnnnnn #1#2#3#4#5#6#7 {#4}
-\cs_set:Npn \use_v:nnnnnnn #1#2#3#4#5#6#7 {#5}
-\cs_set:Npn \use_vi:nnnnnnn #1#2#3#4#5#6#7 {#6}
-\cs_set:Npn \use_vii:nnnnnnn #1#2#3#4#5#6#7 {#7}
-\cs_set:Npn \use_i:nnnnnnnn #1#2#3#4#5#6#7#8 {#1}
-\cs_set:Npn \use_ii:nnnnnnnn #1#2#3#4#5#6#7#8 {#2}
-\cs_set:Npn \use_iii:nnnnnnnn #1#2#3#4#5#6#7#8 {#3}
-\cs_set:Npn \use_iv:nnnnnnnn #1#2#3#4#5#6#7#8 {#4}
-\cs_set:Npn \use_v:nnnnnnnn #1#2#3#4#5#6#7#8 {#5}
-\cs_set:Npn \use_vi:nnnnnnnn #1#2#3#4#5#6#7#8 {#6}
-\cs_set:Npn \use_vii:nnnnnnnn #1#2#3#4#5#6#7#8 {#7}
-\cs_set:Npn \use_viii:nnnnnnnn #1#2#3#4#5#6#7#8 {#8}
-\cs_set:Npn \use_i:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#1}
-\cs_set:Npn \use_ii:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#2}
-\cs_set:Npn \use_iii:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#3}
-\cs_set:Npn \use_iv:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#4}
-\cs_set:Npn \use_v:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#5}
-\cs_set:Npn \use_vi:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#6}
-\cs_set:Npn \use_vii:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#7}
-\cs_set:Npn \use_viii:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#8}
-\cs_set:Npn \use_ix:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#9}
-\cs_set:Npn \use_i_ii:nnn #1#2#3 {#1#2}
-\cs_set:Npn \use_ii_i:nn #1#2 { #2 #1 }
-\cs_set:Npn \use_none_delimit_by_q_nil:w #1 \q_nil { }
-\cs_set:Npn \use_none_delimit_by_q_stop:w #1 \q_stop { }
-\cs_set:Npn \use_none_delimit_by_q_recursion_stop:w #1 \q_recursion_stop { }
-\cs_set:Npn \use_i_delimit_by_q_nil:nw #1#2 \q_nil {#1}
-\cs_set:Npn \use_i_delimit_by_q_stop:nw #1#2 \q_stop {#1}
-\cs_set:Npn \use_i_delimit_by_q_recursion_stop:nw
+\cs_gset:Npn \use:e #1 { \tex_expanded:D {#1} }
+\cs_gset:Npn \use:n #1 {#1}
+\cs_gset:Npn \use:nn #1#2 {#1#2}
+\cs_gset:Npn \use:nnn #1#2#3 {#1#2#3}
+\cs_gset:Npn \use:nnnn #1#2#3#4 {#1#2#3#4}
+\cs_gset:Npn \use_i:nn #1#2 {#1}
+\cs_gset:Npn \use_ii:nn #1#2 {#2}
+\cs_gset:Npn \use_i:nnn #1#2#3 {#1}
+\cs_gset:Npn \use_ii:nnn #1#2#3 {#2}
+\cs_gset:Npn \use_iii:nnn #1#2#3 {#3}
+\cs_gset:Npn \use_i:nnnn #1#2#3#4 {#1}
+\cs_gset:Npn \use_ii:nnnn #1#2#3#4 {#2}
+\cs_gset:Npn \use_iii:nnnn #1#2#3#4 {#3}
+\cs_gset:Npn \use_iv:nnnn #1#2#3#4 {#4}
+\cs_gset:Npn \use_i:nnnnn #1#2#3#4#5 {#1}
+\cs_gset:Npn \use_ii:nnnnn #1#2#3#4#5 {#2}
+\cs_gset:Npn \use_iii:nnnnn #1#2#3#4#5 {#3}
+\cs_gset:Npn \use_iv:nnnnn #1#2#3#4#5 {#4}
+\cs_gset:Npn \use_v:nnnnn #1#2#3#4#5 {#5}
+\cs_gset:Npn \use_i:nnnnnn #1#2#3#4#5#6 {#1}
+\cs_gset:Npn \use_ii:nnnnnn #1#2#3#4#5#6 {#2}
+\cs_gset:Npn \use_iii:nnnnnn #1#2#3#4#5#6 {#3}
+\cs_gset:Npn \use_iv:nnnnnn #1#2#3#4#5#6 {#4}
+\cs_gset:Npn \use_v:nnnnnn #1#2#3#4#5#6 {#5}
+\cs_gset:Npn \use_vi:nnnnnn #1#2#3#4#5#6 {#6}
+\cs_gset:Npn \use_i:nnnnnnn #1#2#3#4#5#6#7 {#1}
+\cs_gset:Npn \use_ii:nnnnnnn #1#2#3#4#5#6#7 {#2}
+\cs_gset:Npn \use_iii:nnnnnnn #1#2#3#4#5#6#7 {#3}
+\cs_gset:Npn \use_iv:nnnnnnn #1#2#3#4#5#6#7 {#4}
+\cs_gset:Npn \use_v:nnnnnnn #1#2#3#4#5#6#7 {#5}
+\cs_gset:Npn \use_vi:nnnnnnn #1#2#3#4#5#6#7 {#6}
+\cs_gset:Npn \use_vii:nnnnnnn #1#2#3#4#5#6#7 {#7}
+\cs_gset:Npn \use_i:nnnnnnnn #1#2#3#4#5#6#7#8 {#1}
+\cs_gset:Npn \use_ii:nnnnnnnn #1#2#3#4#5#6#7#8 {#2}
+\cs_gset:Npn \use_iii:nnnnnnnn #1#2#3#4#5#6#7#8 {#3}
+\cs_gset:Npn \use_iv:nnnnnnnn #1#2#3#4#5#6#7#8 {#4}
+\cs_gset:Npn \use_v:nnnnnnnn #1#2#3#4#5#6#7#8 {#5}
+\cs_gset:Npn \use_vi:nnnnnnnn #1#2#3#4#5#6#7#8 {#6}
+\cs_gset:Npn \use_vii:nnnnnnnn #1#2#3#4#5#6#7#8 {#7}
+\cs_gset:Npn \use_viii:nnnnnnnn #1#2#3#4#5#6#7#8 {#8}
+\cs_gset:Npn \use_i:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#1}
+\cs_gset:Npn \use_ii:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#2}
+\cs_gset:Npn \use_iii:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#3}
+\cs_gset:Npn \use_iv:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#4}
+\cs_gset:Npn \use_v:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#5}
+\cs_gset:Npn \use_vi:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#6}
+\cs_gset:Npn \use_vii:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#7}
+\cs_gset:Npn \use_viii:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#8}
+\cs_gset:Npn \use_ix:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#9}
+\cs_gset:Npn \use_i_ii:nnn #1#2#3 {#1#2}
+\cs_gset:Npn \use_ii_i:nn #1#2 { #2 #1 }
+\cs_gset:Npn \use_none_delimit_by_q_nil:w #1 \q_nil { }
+\cs_gset:Npn \use_none_delimit_by_q_stop:w #1 \q_stop { }
+\cs_gset:Npn \use_none_delimit_by_q_recursion_stop:w #1 \q_recursion_stop { }
+\cs_gset:Npn \use_i_delimit_by_q_nil:nw #1#2 \q_nil {#1}
+\cs_gset:Npn \use_i_delimit_by_q_stop:nw #1#2 \q_stop {#1}
+\cs_gset:Npn \use_i_delimit_by_q_recursion_stop:nw
#1#2 \q_recursion_stop {#1}
-\cs_set:Npn \use_none:n #1 { }
-\cs_set:Npn \use_none:nn #1#2 { }
-\cs_set:Npn \use_none:nnn #1#2#3 { }
-\cs_set:Npn \use_none:nnnn #1#2#3#4 { }
-\cs_set:Npn \use_none:nnnnn #1#2#3#4#5 { }
-\cs_set:Npn \use_none:nnnnnn #1#2#3#4#5#6 { }
-\cs_set:Npn \use_none:nnnnnnn #1#2#3#4#5#6#7 { }
-\cs_set:Npn \use_none:nnnnnnnn #1#2#3#4#5#6#7#8 { }
-\cs_set:Npn \use_none:nnnnnnnnn #1#2#3#4#5#6#7#8#9 { }
-\cs_set_protected:Npn \__kernel_if_debug:TF #1#2 {#2}
-\cs_set_protected:Npn \debug_on:n #1
+\cs_gset:Npn \use_none:n #1 { }
+\cs_gset:Npn \use_none:nn #1#2 { }
+\cs_gset:Npn \use_none:nnn #1#2#3 { }
+\cs_gset:Npn \use_none:nnnn #1#2#3#4 { }
+\cs_gset:Npn \use_none:nnnnn #1#2#3#4#5 { }
+\cs_gset:Npn \use_none:nnnnnn #1#2#3#4#5#6 { }
+\cs_gset:Npn \use_none:nnnnnnn #1#2#3#4#5#6#7 { }
+\cs_gset:Npn \use_none:nnnnnnnn #1#2#3#4#5#6#7#8 { }
+\cs_gset:Npn \use_none:nnnnnnnnn #1#2#3#4#5#6#7#8#9 { }
+\cs_gset_protected:Npn \__kernel_if_debug:TF #1#2 {#2}
+\cs_gset_protected:Npn \debug_on:n #1
{
\sys_load_debug:
\cs_if_exist:NT \__debug_all_on:
{ \debug_on:n {#1} }
}
-\cs_set_protected:Npn \debug_off:n #1
+\cs_gset_protected:Npn \debug_off:n #1
{
\sys_load_debug:
\cs_if_exist:NT \__debug_all_on:
{ \debug_off:n {#1} }
}
-\cs_set_protected:Npn \debug_suspend: { }
-\cs_set_protected:Npn \debug_resume: { }
-\cs_set_nopar:Npn \g__debug_deprecation_on_tl { }
-\cs_set_nopar:Npn \g__debug_deprecation_off_tl { }
-\cs_set_protected:Npn \__kernel_deprecation_code:nn #1#2
+\cs_gset_protected:Npn \debug_suspend: { }
+\cs_gset_protected:Npn \debug_resume: { }
+\cs_gset_nopar:Npn \g__debug_deprecation_on_tl { }
+\cs_gset_nopar:Npn \g__debug_deprecation_off_tl { }
+\cs_gset_protected:Npn \__kernel_deprecation_code:nn #1#2
{
\tl_gput_right:Nn \g__debug_deprecation_on_tl {#1}
\tl_gput_right:Nn \g__debug_deprecation_off_tl {#2}
}
-\cs_set:Npn \prg_return_true:
+\cs_gset:Npn \prg_return_true:
{ \exp_after:wN \use_i:nn \exp:w }
-\cs_set:Npn \prg_return_false:
+\cs_gset:Npn \prg_return_false:
{ \exp_after:wN \use_ii:nn \exp:w}
-\cs_set:Npn \__prg_use_none_delimit_by_q_recursion_stop:w
+\cs_gset:Npn \__prg_use_none_delimit_by_q_recursion_stop:w
#1 \q__prg_recursion_stop { }
-\cs_set_protected:Npn \prg_set_conditional:Npnn
+\cs_gset_protected:Npn \prg_set_conditional:Npnn
{ \__prg_generate_conditional_parm:NNNpnn \cs_set:Npn e }
-\cs_set_protected:Npn \prg_gset_conditional:Npnn
+\cs_gset_protected:Npn \prg_gset_conditional:Npnn
{ \__prg_generate_conditional_parm:NNNpnn \cs_gset:Npn e }
-\cs_set_protected:Npn \prg_new_conditional:Npnn
+\cs_gset_protected:Npn \prg_new_conditional:Npnn
{ \__prg_generate_conditional_parm:NNNpnn \cs_new:Npn e }
-\cs_set_protected:Npn \prg_set_protected_conditional:Npnn
+\cs_gset_protected:Npn \prg_set_protected_conditional:Npnn
{ \__prg_generate_conditional_parm:NNNpnn \cs_set_protected:Npn p }
-\cs_set_protected:Npn \prg_gset_protected_conditional:Npnn
+\cs_gset_protected:Npn \prg_gset_protected_conditional:Npnn
{ \__prg_generate_conditional_parm:NNNpnn \cs_gset_protected:Npn p }
-\cs_set_protected:Npn \prg_new_protected_conditional:Npnn
+\cs_gset_protected:Npn \prg_new_protected_conditional:Npnn
{ \__prg_generate_conditional_parm:NNNpnn \cs_new_protected:Npn p }
-\cs_set_protected:Npn \__prg_generate_conditional_parm:NNNpnn #1#2#3#4#
+\cs_gset_protected:Npn \__prg_generate_conditional_parm:NNNpnn #1#2#3#4#
{
\use:e
{
@@ -1670,19 +1670,19 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
#1 #2 {#4}
}
-\cs_set_protected:Npn \prg_set_conditional:Nnn
+\cs_gset_protected:Npn \prg_set_conditional:Nnn
{ \__prg_generate_conditional_count:NNNnn \cs_set:Npn e }
-\cs_set_protected:Npn \prg_gset_conditional:Nnn
+\cs_gset_protected:Npn \prg_gset_conditional:Nnn
{ \__prg_generate_conditional_count:NNNnn \cs_set:Npn e }
-\cs_set_protected:Npn \prg_new_conditional:Nnn
+\cs_gset_protected:Npn \prg_new_conditional:Nnn
{ \__prg_generate_conditional_count:NNNnn \cs_new:Npn e }
-\cs_set_protected:Npn \prg_set_protected_conditional:Nnn
+\cs_gset_protected:Npn \prg_set_protected_conditional:Nnn
{ \__prg_generate_conditional_count:NNNnn \cs_set_protected:Npn p }
-\cs_set_protected:Npn \prg_gset_protected_conditional:Nnn
+\cs_gset_protected:Npn \prg_gset_protected_conditional:Nnn
{ \__prg_generate_conditional_count:NNNnn \cs_gset_protected:Npn p }
-\cs_set_protected:Npn \prg_new_protected_conditional:Nnn
+\cs_gset_protected:Npn \prg_new_protected_conditional:Nnn
{ \__prg_generate_conditional_count:NNNnn \cs_new_protected:Npn p }
-\cs_set_protected:Npn \__prg_generate_conditional_count:NNNnn #1#2#3
+\cs_gset_protected:Npn \__prg_generate_conditional_count:NNNnn #1#2#3
{
\use:e
{
@@ -1691,7 +1691,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
#1 #2
}
-\cs_set_protected:Npn \__prg_generate_conditional_count:nnNNNnn #1#2#3#4#5
+\cs_gset_protected:Npn \__prg_generate_conditional_count:nnNNNnn #1#2#3#4#5
{
\__kernel_cs_parm_from_arg_count:nnF
{ \__prg_generate_conditional:nnNNNnnn {#1} {#2} #3 #4 #5 }
@@ -1703,7 +1703,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\use_none:nn
}
}
-\cs_set_protected:Npn \__prg_generate_conditional:nnNNNnnn #1#2#3#4#5#6#7#8
+\cs_gset_protected:Npn \__prg_generate_conditional:nnNNNnnn #1#2#3#4#5#6#7#8
{
\if_meaning:w \c_false_bool #3
\msg_error:nne { kernel } { missing-colon }
@@ -1724,12 +1724,12 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_not:n { , \q__prg_recursion_tail , \q__prg_recursion_stop }
}
}
-\cs_set:Npn \__prg_generate_conditional_test:w
+\cs_gset:Npn \__prg_generate_conditional_test:w
#1 \prg_return_true: \else: \prg_return_false: \fi: \s__prg_mark #2
{ #2 {#1} }
-\cs_set:Npn \__prg_generate_conditional_fast:nw #1#2 \exp_not:n #3
+\cs_gset:Npn \__prg_generate_conditional_fast:nw #1#2 \exp_not:n #3
{ \exp_not:n { {#1} \use_i:nn } }
-\cs_set_protected:Npn \__prg_generate_conditional:NNnnnnNw #1#2#3#4#5#6#7#8 ,
+\cs_gset_protected:Npn \__prg_generate_conditional:NNnnnnNw #1#2#3#4#5#6#7#8 ,
{
\if_meaning:w \q__prg_recursion_tail #8
\exp_after:wN \__prg_use_none_delimit_by_q_recursion_stop:w
@@ -1746,7 +1746,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
#1 #2 {#3} {#4} {#5} {#6} #7
\__prg_generate_conditional:NNnnnnNw #1 #2 {#3} {#4} {#5} {#6} #7
}
-\cs_set_protected:Npn \__prg_generate_p_form:wNNnnnnN
+\cs_gset_protected:Npn \__prg_generate_p_form:wNNnnnnN
#1 \s__prg_stop #2#3#4#5#6#7#8
{
\if_meaning:w e #3
@@ -1765,7 +1765,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \token_to_str:c { #4 _p: #5 } }
}
}
-\cs_set_protected:Npn \__prg_generate_T_form:wNNnnnnN
+\cs_gset_protected:Npn \__prg_generate_T_form:wNNnnnnN
#1 \s__prg_stop #2#3#4#5#6#7#8
{
#8
@@ -1773,7 +1773,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ { #7 \exp_end: \use:n \use_none:n } }
{ #7 \__prg_T_true:w \fi: \use_none:n }
}
-\cs_set_protected:Npn \__prg_generate_F_form:wNNnnnnN
+\cs_gset_protected:Npn \__prg_generate_F_form:wNNnnnnN
#1 \s__prg_stop #2#3#4#5#6#7#8
{
#8
@@ -1781,7 +1781,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ { #7 \exp_end: { } } }
{ #7 \__prg_F_true:w \fi: \use:n }
}
-\cs_set_protected:Npn \__prg_generate_TF_form:wNNnnnnN
+\cs_gset_protected:Npn \__prg_generate_TF_form:wNNnnnnN
#1 \s__prg_stop #2#3#4#5#6#7#8
{
#8
@@ -1789,17 +1789,17 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ { #7 \exp_end: } }
{ #7 \__prg_TF_true:w \fi: \use_ii:nn }
}
-\cs_set:Npn \__prg_p_true:w \fi: \c_false_bool { \fi: \c_true_bool }
-\cs_set:Npn \__prg_T_true:w \fi: \use_none:n { \fi: \use:n }
-\cs_set:Npn \__prg_F_true:w \fi: \use:n { \fi: \use_none:n }
-\cs_set:Npn \__prg_TF_true:w \fi: \use_ii:nn { \fi: \use_i:nn }
-\cs_set_protected:Npn \prg_set_eq_conditional:NNn
+\cs_gset:Npn \__prg_p_true:w \fi: \c_false_bool { \fi: \c_true_bool }
+\cs_gset:Npn \__prg_T_true:w \fi: \use_none:n { \fi: \use:n }
+\cs_gset:Npn \__prg_F_true:w \fi: \use:n { \fi: \use_none:n }
+\cs_gset:Npn \__prg_TF_true:w \fi: \use_ii:nn { \fi: \use_i:nn }
+\cs_gset_protected:Npn \prg_set_eq_conditional:NNn
{ \__prg_set_eq_conditional:NNNn \cs_set_eq:cc }
-\cs_set_protected:Npn \prg_gset_eq_conditional:NNn
+\cs_gset_protected:Npn \prg_gset_eq_conditional:NNn
{ \__prg_set_eq_conditional:NNNn \cs_gset_eq:cc }
-\cs_set_protected:Npn \prg_new_eq_conditional:NNn
+\cs_gset_protected:Npn \prg_new_eq_conditional:NNn
{ \__prg_set_eq_conditional:NNNn \cs_new_eq:cc }
-\cs_set_protected:Npn \__prg_set_eq_conditional:NNNn #1#2#3#4
+\cs_gset_protected:Npn \__prg_set_eq_conditional:NNNn #1#2#3#4
{
\use:e
{
@@ -1811,7 +1811,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_not:n { , \q__prg_recursion_tail , \q__prg_recursion_stop }
}
}
-\cs_set_protected:Npn \__prg_set_eq_conditional:nnNnnNNw #1#2#3#4#5#6
+\cs_gset_protected:Npn \__prg_set_eq_conditional:nnNnnNNw #1#2#3#4#5#6
{
\if_meaning:w \c_false_bool #3
\msg_error:nne { kernel } { missing-colon }
@@ -1825,7 +1825,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
\__prg_set_eq_conditional_loop:nnnnNw {#1} {#2} {#4} {#5}
}
-\cs_set_protected:Npn \__prg_set_eq_conditional_loop:nnnnNw #1#2#3#4#5#6 ,
+\cs_gset_protected:Npn \__prg_set_eq_conditional_loop:nnnnNw #1#2#3#4#5#6 ,
{
\if_meaning:w \q__prg_recursion_tail #6
\exp_after:wN \__prg_use_none_delimit_by_q_recursion_stop:w
@@ -1842,42 +1842,42 @@ Type H <return> for immediate help}\def~{\errmessage{%
#5 {#1} {#2} {#3} {#4}
\__prg_set_eq_conditional_loop:nnnnNw {#1} {#2} {#3} {#4} #5
}
-\cs_set:Npn \__prg_set_eq_conditional_p_form:wNnnnn #1 \s__prg_stop #2#3#4#5#6
+\cs_gset:Npn \__prg_set_eq_conditional_p_form:wNnnnn #1 \s__prg_stop #2#3#4#5#6
{ #2 { #3 _p : #4 } { #5 _p : #6 } }
-\cs_set:Npn \__prg_set_eq_conditional_TF_form:wNnnnn #1 \s__prg_stop #2#3#4#5#6
+\cs_gset:Npn \__prg_set_eq_conditional_TF_form:wNnnnn #1 \s__prg_stop #2#3#4#5#6
{ #2 { #3 : #4 TF } { #5 : #6 TF } }
-\cs_set:Npn \__prg_set_eq_conditional_T_form:wNnnnn #1 \s__prg_stop #2#3#4#5#6
+\cs_gset:Npn \__prg_set_eq_conditional_T_form:wNnnnn #1 \s__prg_stop #2#3#4#5#6
{ #2 { #3 : #4 T } { #5 : #6 T } }
-\cs_set:Npn \__prg_set_eq_conditional_F_form:wNnnnn #1 \s__prg_stop #2#3#4#5#6
+\cs_gset:Npn \__prg_set_eq_conditional_F_form:wNnnnn #1 \s__prg_stop #2#3#4#5#6
{ #2 { #3 : #4 F } { #5 : #6 F } }
-\tex_chardef:D \c_true_bool = 1 ~
-\tex_chardef:D \c_false_bool = 0 ~
-\cs_set:Npn \cs_to_str:N
+\tex_global:D \tex_chardef:D \c_true_bool = 1 ~
+\tex_global:D \tex_chardef:D \c_false_bool = 0 ~
+\cs_gset:Npn \cs_to_str:N
{
\tex_romannumeral:D
\if:w \token_to_str:N \ \__cs_to_str:w \fi:
\exp_after:wN \__cs_to_str:N \token_to_str:N
}
-\cs_set:Npn \__cs_to_str:N #1 { \c_zero_int }
-\cs_set:Npn \__cs_to_str:w #1 \__cs_to_str:N
+\cs_gset:Npn \__cs_to_str:N #1 { \c_zero_int }
+\cs_gset:Npn \__cs_to_str:w #1 \__cs_to_str:N
{ - \int_value:w \fi: \exp_after:wN \c_zero_int }
-\cs_set_protected:Npn \__cs_tmp:w #1
+\cs_gset_protected:Npn \__cs_tmp:w #1
{
- \cs_set:Npn \cs_split_function:N ##1
+ \cs_gset:Npn \cs_split_function:N ##1
{
\exp_after:wN \exp_after:wN \exp_after:wN
\__cs_split_function_auxi:w
\cs_to_str:N ##1 \s__cs_mark \c_true_bool
#1 \s__cs_mark \c_false_bool \s__cs_stop
}
- \cs_set:Npn \__cs_split_function_auxi:w
+ \cs_gset:Npn \__cs_split_function_auxi:w
##1 #1 ##2 \s__cs_mark ##3##4 \s__cs_stop
{ \__cs_split_function_auxii:w ##1 \s__cs_mark \s__cs_stop {##2} ##3 }
- \cs_set:Npn \__cs_split_function_auxii:w ##1 \s__cs_mark ##2 \s__cs_stop
+ \cs_gset:Npn \__cs_split_function_auxii:w ##1 \s__cs_mark ##2 \s__cs_stop
{ {##1} }
}
\exp_after:wN \__cs_tmp:w \token_to_str:N :
-\prg_set_conditional:Npnn \cs_if_exist:N #1 { p , T , F , TF }
+\prg_gset_conditional:Npnn \cs_if_exist:N #1 { p , T , F , TF }
{
\if_meaning:w #1 \scan_stop:
\use_i:nnnn
@@ -1891,7 +1891,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_if_exist:NTF \tex_lastnamedcs:D
{
- \prg_set_conditional:Npnn \cs_if_exist:c #1 { p , T , F , TF }
+ \prg_gset_conditional:Npnn \cs_if_exist:c #1 { p , T , F , TF }
{
\if_cs_exist:w #1 \cs_end:
\__cs_if_exist_c_aux:
@@ -1900,11 +1900,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
\prg_return_false:
\fi:
}
- \cs_set:Npn \__cs_if_exist_c_aux:
+ \cs_gset:Npn \__cs_if_exist_c_aux:
{ \fi: \exp_after:wN \if_meaning:w \tex_lastnamedcs:D \scan_stop: \else: }
}
{
- \prg_set_conditional:Npnn \cs_if_exist:c #1 { p , T , F , TF }
+ \prg_gset_conditional:Npnn \cs_if_exist:c #1 { p , T , F , TF }
{
\if_cs_exist:w #1 \cs_end:
\__cs_if_exist_c_aux:w
@@ -1916,10 +1916,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
\prg_return_false:
\fi:
}
- \cs_set:Npn \__cs_if_exist_c_aux:w \fi: \use_none:n #1 \if_false:
+ \cs_gset:Npn \__cs_if_exist_c_aux:w \fi: \use_none:n #1 \if_false:
{ \fi: \exp_after:wN \if_meaning:w \cs:w #1 \cs_end: \scan_stop: \else: }
}
-\prg_set_conditional:Npnn \cs_if_free:N #1 { p , T , F , TF }
+\prg_gset_conditional:Npnn \cs_if_free:N #1 { p , T , F , TF }
{
\if_cs_exist:N #1
\else:
@@ -1933,7 +1933,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_if_exist:NTF \tex_lastnamedcs:D
{
- \prg_set_conditional:Npnn \cs_if_free:c #1 { p , T , F , TF }
+ \prg_gset_conditional:Npnn \cs_if_free:c #1 { p , T , F , TF }
{
\if_cs_exist:w #1 \cs_end:
\__cs_if_free_c_aux:w
@@ -1944,11 +1944,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
\prg_return_false:
\fi:
}
- \cs_set:Npn \__cs_if_free_c_aux:w \fi: \if_true:
+ \cs_gset:Npn \__cs_if_free_c_aux:w \fi: \if_true:
{ \fi: \exp_after:wN \if_meaning:w \tex_lastnamedcs:D \scan_stop: }
}
{
- \prg_set_conditional:Npnn \cs_if_free:c #1 { p , T , F , TF }
+ \prg_gset_conditional:Npnn \cs_if_free:c #1 { p , T , F , TF }
{
\if_cs_exist:w #1 \cs_end:
\__cs_if_free_c_aux:w
@@ -1960,54 +1960,54 @@ Type H <return> for immediate help}\def~{\errmessage{%
\prg_return_false:
\fi:
}
- \cs_set:Npn \__cs_if_free_c_aux:w \fi: \use_none:n #1 \if_true:
+ \cs_gset:Npn \__cs_if_free_c_aux:w \fi: \use_none:n #1 \if_true:
{ \fi: \exp_after:wN \if_meaning:w \cs:w #1 \cs_end: \scan_stop: }
}
-\cs_set:Npn \cs_if_exist_use:NTF #1#2
+\cs_gset:Npn \cs_if_exist_use:NTF #1#2
{ \cs_if_exist:NTF #1 { #1 #2 } }
-\cs_set:Npn \cs_if_exist_use:NF #1
+\cs_gset:Npn \cs_if_exist_use:NF #1
{ \cs_if_exist:NTF #1 #1 }
-\cs_set:Npn \cs_if_exist_use:NT #1 #2
+\cs_gset:Npn \cs_if_exist_use:NT #1 #2
{ \cs_if_exist:NT #1 { #1 #2 } }
-\cs_set:Npn \cs_if_exist_use:N #1
+\cs_gset:Npn \cs_if_exist_use:N #1
{ \cs_if_exist:NT #1 #1 }
\cs_if_exist:NTF \tex_lastnamedcs:D
{
- \cs_set:Npn \cs_if_exist_use:cTF #1
+ \cs_gset:Npn \cs_if_exist_use:cTF #1
{
\if_cs_exist:w #1 \cs_end:
\__cs_if_exist_use_aux:w
\fi:
\use_ii:nn
}
- \cs_set:Npn \__cs_if_exist_use_aux:w \fi: \use_ii:nn
+ \cs_gset:Npn \__cs_if_exist_use_aux:w \fi: \use_ii:nn
{ \fi: \exp_after:wN \__cs_if_exist_use_aux:Nnn \tex_lastnamedcs:D }
}
{
- \cs_set:Npn \cs_if_exist_use:cTF #1
+ \cs_gset:Npn \cs_if_exist_use:cTF #1
{
\if_cs_exist:w #1 \cs_end:
\__cs_if_exist_use_aux:w
\fi:
\use_iii:nnn {#1}
}
- \cs_set:Npn \__cs_if_exist_use_aux:w \fi: \use_iii:nnn #1
+ \cs_gset:Npn \__cs_if_exist_use_aux:w \fi: \use_iii:nnn #1
{ \fi: \exp_after:wN \__cs_if_exist_use_aux:Nnn \cs:w #1 \cs_end: }
}
-\cs_set:Npn \__cs_if_exist_use_aux:Nnn #1#2
+\cs_gset:Npn \__cs_if_exist_use_aux:Nnn #1#2
{
\if_meaning:w #1 \scan_stop:
\exp_after:wN \use_iii:nnn
\fi:
\use_i:nn { #1 #2 }
}
-\cs_set:Npn \cs_if_exist_use:cF #1
+\cs_gset:Npn \cs_if_exist_use:cF #1
{ \cs_if_exist_use:cTF {#1} {} }
-\cs_set:Npn \cs_if_exist_use:cT #1#2
+\cs_gset:Npn \cs_if_exist_use:cT #1#2
{ \cs_if_exist_use:cTF {#1} {#2} {} }
-\cs_set:Npn \cs_if_exist_use:c #1
+\cs_gset:Npn \cs_if_exist_use:c #1
{ \cs_if_exist_use:cTF {#1} {} {} }
-\cs_set_protected:Npn \msg_error:nnee #1#2#3#4
+\cs_gset_protected:Npn \msg_error:nnee #1#2#3#4
{
\tex_newlinechar:D = `\^^J \scan_stop:
\tex_errmessage:D
@@ -2020,17 +2020,17 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\tex_end:D
}
-\cs_set_protected:Npn \msg_error:nne #1#2#3
+\cs_gset_protected:Npn \msg_error:nne #1#2#3
{ \msg_error:nnee {#1} {#2} {#3} { } }
-\cs_set_protected:Npn \msg_error:nn #1#2
+\cs_gset_protected:Npn \msg_error:nn #1#2
{ \msg_error:nnee {#1} {#2} { } { } }
-\cs_set:Npn \msg_line_context:
+\cs_gset:Npn \msg_line_context:
{ on~line~ \tex_the:D \tex_inputlineno:D }
-\cs_set_protected:Npn \iow_log:e
+\cs_gset_protected:Npn \iow_log:e
{ \tex_immediate:D \tex_write:D -1 }
-\cs_set_protected:Npn \iow_term:e
+\cs_gset_protected:Npn \iow_term:e
{ \tex_immediate:D \tex_write:D 16 }
-\cs_set_protected:Npn \__kernel_chk_if_free_cs:N #1
+\cs_gset_protected:Npn \__kernel_chk_if_free_cs:N #1
{
\cs_if_free:NF #1
{
@@ -2038,11 +2038,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \token_to_str:N #1 } { \token_to_meaning:N #1 }
}
}
-\cs_set_protected:Npn \__kernel_chk_if_free_cs:c
+\cs_gset_protected:Npn \__kernel_chk_if_free_cs:c
{ \exp_args:Nc \__kernel_chk_if_free_cs:N }
\cs_set:Npn \__cs_tmp:w #1#2
{
- \cs_set_protected:Npn #1 ##1
+ \cs_gset_protected:Npn #1 ##1
{
\__kernel_chk_if_free_cs:N ##1
#2 ##1
@@ -2124,7 +2124,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
\exp_args:Nc \cs_undefine:N {#1}
}
-\cs_set_protected:Npn \__kernel_cs_parm_from_arg_count:nnF #1#2
+\cs_new_protected:Npn \__kernel_cs_parm_from_arg_count:nnF #1#2
{
\exp_args:Ne \__cs_parm_from_arg_count_test:nnF
{
@@ -2145,7 +2145,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
{#1}
}
-\cs_set_protected:Npn \__cs_parm_from_arg_count_test:nnF #1#2
+\cs_new_protected:Npn \__cs_parm_from_arg_count_test:nnF #1#2
{
\if_meaning:w \c_false_bool #1
\exp_after:wN \use_ii:nn
@@ -3375,23 +3375,37 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__quark_new_test_define_tl:nNnNNn {##1##2} #2 {##2} }
\cs_new_protected:Npn \__quark_new_test_define_break_ifx:nNNNNn #1 #2 #3
{ \__quark_new_test_define_ifx:nNnNNn {##1##2} #2 {##2} }
-\cs_new_protected:Npn \__quark_new_conditional_n:Nnnn
- { \__quark_new_conditional_aux_do:NNnnn \use_i:nn }
-\cs_new_protected:Npn \__quark_new_conditional_N:Nnnn
- { \__quark_new_conditional_aux_do:NNnnn \use_ii:nn }
-\cs_new_protected:Npn \__quark_new_conditional_aux_do:NNnnn #1 #2 #3 #4
+\cs_new_protected:Npn \__quark_new_conditional_n:Nnnn #1 #2 #3
{
- \exp_args:Ncc \__quark_new_conditional_define:NNNNn
- { __ #4 _if_quark_ #3 :w } { q__ #4 _ #3 } #2 #1
+ \exp_args:Ncc \__quark_new_conditional_n_aux:NNNn
+ { __ #3 _if_quark_ #2 :w } { q__ #3 _ #2 } #1
}
-\cs_new_protected:Npn \__quark_new_conditional_define:NNNNn #1 #2 #3 #4 #5
+\cs_new_protected:Npn \__quark_new_conditional_N:Nnnn #1 #2 #3
{
- #4 { \cs_gset:Npn #1 ##1 #2 ##2 ? ##3 ?! { ##1 ##2 } } { }
- \exp_args:Nno \use:n { \prg_new_conditional:Npnn #3 ##1 {#5} }
+ \exp_args:NNc \__quark_new_conditional_N_aux:NNNn
+ \prg_do_nothing: { q__ #3 _ #2 } #1
+ }
+\cs_new_protected:Npn \__quark_new_conditional_n_aux:NNNn #1 #2 #3 #4
+ {
+ \cs_gset:Npn #1 ##1 #2 ##2 ? ##3 ?! { ##1##2 }
+ \prg_new_conditional:Npnn #3 ##1 {#4}
+ {
+ \__quark_if_empty_if:o { #1 {} ##1 {} ?! #2 ??! }
+ \prg_return_true:
+ \else:
+ \prg_return_false:
+ \fi:
+ }
+ }
+\cs_new_protected:Npn \__quark_new_conditional_N_aux:NNNn #1 #2 #3 #4
+ {
+ \prg_new_conditional:Npnn #3 ##1 {#4}
{
- #4 { \__quark_if_empty_if:o { #1 {} ##1 {} ?! #2 ??! } }
- { \if_meaning:w #2 ##1 }
- \prg_return_true: \else: \prg_return_false: \fi:
+ \if_meaning:w #2 ##1
+ \prg_return_true:
+ \else:
+ \prg_return_false:
+ \fi:
}
}
\cs_set:Npn \__quark_tmp:w #1#2
@@ -6305,7 +6319,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npn \__int_abs:N #1
{ \if_meaning:w - #1 \else: \exp_after:wN #1 \fi: }
-\cs_set:Npn \int_max:nn #1#2
+\cs_new:Npn \int_max:nn #1#2
{
\int_value:w \exp_after:wN \__int_maxmin:wwN
\int_value:w \__int_eval:w #1 \exp_after:wN ;
@@ -6313,7 +6327,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
>
\exp_stop_f:
}
-\cs_set:Npn \int_min:nn #1#2
+\cs_new:Npn \int_min:nn #1#2
{
\int_value:w \exp_after:wN \__int_maxmin:wwN
\int_value:w \__int_eval:w #1 \exp_after:wN ;
@@ -6405,10 +6419,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_if_exist:NTF \tex_omathchardef:D
{ \cs_new_eq:NN \__int_constdef:Nw \tex_omathchardef:D }
{ \cs_new_eq:NN \__int_constdef:Nw \tex_chardef:D }
- \__int_constdef:Nw \c__int_max_constdef_int 1114111 ~
+ \tex_global:D \__int_constdef:Nw \c__int_max_constdef_int 1114111 ~
\else:
\cs_new_eq:NN \__int_constdef:Nw \tex_mathchardef:D
- \tex_mathchardef:D \c__int_max_constdef_int 32767 ~
+ \tex_global:D \__int_constdef:Nw \c__int_max_constdef_int 32767 ~
\fi:
\cs_new_protected:Npn \int_zero:N #1 { #1 = \c_zero_int }
\cs_new_protected:Npn \int_gzero:N #1 { \tex_global:D #1 = \c_zero_int }
@@ -7536,6 +7550,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\group_end:
\int_new:N \g__kernel_prg_map_int
%% File: l3sys.dtx
+\tl_new:N \l__sys_tmp_tl
\cs_new_protected:Npn \__sys_const:nn #1#2
{
\bool_if:nTF {#2}
@@ -7939,6 +7954,78 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__sys_const:nn { sys_if_shell_restricted }
{ \int_compare_p:nNn \c_sys_shell_escape_int = 2 }
}
+\cs_new_protected:Npn \sys_get_query:nN #1#2
+ { \sys_get_query:nnnN {#1} { } { } #2 }
+\cs_new_protected:Npn \sys_get_query:nnN #1#2#3
+ { \sys_get_query:nnnN {#1} { } {#2} #3 }
+\cs_new_protected:Npn \sys_get_query:nnnN #1#2#3#4
+ {
+ \str_clear:N #4
+ \__sys_get_query_auxi:neeN {#1} {#2} {#3} #4
+ }
+\cs_new:Npn \__sys_get_query_auxi:nnnN #1#2#3#4
+ {
+ \__sys_get_query_auxii:neeN {#1}
+ { \tl_if_blank:nF {#2} { \tl_to_str:n { ~ #2 } } }
+ {
+ \tl_if_blank:nF {#3}
+ {
+ \c_space_tl
+ \sys_if_shell_restricted:F '
+ \tl_to_str:n {#3}
+ \sys_if_shell_restricted:F '
+ }
+ }
+ #4
+ }
+\cs_generate_variant:Nn \__sys_get_query_auxi:nnnN { nee }
+\cs_new_protected:Npn \__sys_get_query_auxii:nnnN #1#2#3#4
+ {
+ \sys_if_shell:T
+ {
+ \sys_get_shell:nnN
+ { l3sys-query~#1 #2 #3 }
+ {
+ \int_step_inline:nnn { 0 } { `a - 1 }
+ { \char_set_catcode_other:n {##1} }
+ \int_step_inline:nnn { `Z + 1 } { 127 }
+ { \char_set_catcode_other:n {##1} }
+ \tex_endlinechar:D 13 \scan_stop:
+ }
+ \l__sys_tmp_tl
+ \tl_if_empty:NF \l__sys_tmp_tl
+ {
+ \exp_after:wN \__sys_get_query:Nw \exp_after:wN #4
+ \l__sys_tmp_tl \q_stop
+ }
+ }
+ }
+\cs_generate_variant:Nn \__sys_get_query_auxii:nnnN { nee }
+\group_begin:
+ \tex_lccode:D `\* = 13 \scan_stop:
+ \tex_lowercase:D
+ {
+ \group_end:
+ \cs_new_protected:Npn \__sys_get_query:Nw #1#2 * \q_stop
+ }
+ { \tl_set:Nn #1 {#2} }
+\cs_new_protected:Npn \sys_split_query:nN #1#2
+ { \sys_split_query:nnnN {#1} { } { } #2 }
+\cs_new_protected:Npn \sys_split_query:nnN #1#2#3
+ { \sys_split_query:nnnN {#1} { } {#2} #3 }
+\group_begin:
+ \tex_lccode:D `\* = 13 \scan_stop:
+ \tex_lowercase:D
+ {
+ \group_end:
+ \cs_new_protected:Npn \sys_split_query:nnnN #1#2#3#4
+ {
+ \seq_clear:N #4
+ \sys_get_query:nnnN {#1} {#2} {#3} \l__sys_tmp_tl
+ \tl_if_empty:NF \l__sys_tmp_tl
+ { \seq_set_split:NnV #4 * \l__sys_tmp_tl }
+ }
+ }
\__sys_everyjob:n
{ \cs_gset_eq:NN \g_file_curr_name_str \tex_jobname:D }
\cs_new_protected:Npn \sys_finalise:
@@ -9167,7 +9254,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
}
{
- \tex_chardef:D \c__token_A_int = `A ~ %
+ \tex_global:D \tex_chardef:D \c__token_A_int = `A ~ %
\use:e
{
\prg_new_conditional:Npnn \exp_not:N \token_if_primitive:N #1
@@ -26935,7 +27022,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__regex_show_one:n
{ `-group~end \__regex_msg_repeated:nnN {#3} {#4} #5 }
}
-\cs_set:Npn \__regex_show_class:NnnnN #1#2#3#4#5
+\cs_new:Npn \__regex_show_class:NnnnN #1#2#3#4#5
{
\group_begin:
\tl_build_begin:N \l__regex_build_tl
@@ -29774,8 +29861,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
#5 #1
{
- \fp_set:Nn \l__box_scale_x_fp { ( #2 ) / \box_wd:N #1 }
- \fp_set:Nn \l__box_scale_y_fp { ( #3 ) / ( #4 ) }
+ \fp_set:Nn \l__box_scale_x_fp { ( \dim_to_fp:n {#2} ) / \box_wd:N #1 }
+ \fp_set:Nn \l__box_scale_y_fp
+ { ( \dim_to_fp:n {#3} ) / ( \dim_to_fp:n {#4} ) }
\fp_compare:nNnTF \l__box_scale_x_fp > \l__box_scale_y_fp
{ \fp_set_eq:NN \l__box_scale_x_fp \l__box_scale_y_fp }
{ \fp_set_eq:NN \l__box_scale_y_fp \l__box_scale_x_fp }
@@ -32320,7 +32408,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
}
}
-\cs_set_protected:Npn \__coffin_calculate_intersection:nnnnnn #1#2#3#4#5#6
+\cs_new_protected:Npn \__coffin_calculate_intersection:nnnnnn #1#2#3#4#5#6
{
\fp_compare:nNnTF {#1} = {#2}
{ \bool_set_true:N \l__coffin_error_bool }
@@ -33117,7 +33205,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\lua_now:n , \lua_now:e
}
{
- \cs_set:Npn #1 ##1
+ \cs_gset:Npn #1 ##1
{
\msg_expandable_error:nnn
{ luatex } { luatex-required } { #1 }
@@ -33126,7 +33214,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\clist_map_inline:nn
{ \lua_shipout_e:n , \lua_shipout:n, \lua_load_module:n }
{
- \cs_set_protected:Npn #1 ##1
+ \cs_gset_protected:Npn #1 ##1
{
\msg_error:nnn
{ luatex } { luatex-required } { #1 }
@@ -34083,12 +34171,12 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
}
\tl_new:N \l__text_math_mode_tl
-\tex_chardef:D \c__text_chardef_space_token = `\ %
-\tex_mathchardef:D \c__text_mathchardef_space_token = `\ %
-\tex_chardef:D \c__text_chardef_group_begin_token = `\{ % `\}
-\tex_mathchardef:D \c__text_mathchardef_group_begin_token = `\{ % `\} `\{
-\tex_chardef:D \c__text_chardef_group_end_token = `\} % `\{
-\tex_mathchardef:D \c__text_mathchardef_group_end_token = `\} %
+\tex_global:D \tex_chardef:D \c__text_chardef_space_token = `\ %
+\tex_global:D \tex_mathchardef:D \c__text_mathchardef_space_token = `\ %
+\tex_global:D \tex_chardef:D \c__text_chardef_group_begin_token = `\{ % `\}
+\tex_global:D \tex_mathchardef:D \c__text_mathchardef_group_begin_token = `\{ % `\} `\{
+\tex_global:D \tex_chardef:D \c__text_chardef_group_end_token = `\} % `\{
+\tex_global:D \tex_mathchardef:D \c__text_mathchardef_group_end_token = `\} %
\cs_new:Npn \text_expand:n #1
{
\__kernel_exp_not:w \exp_after:wN
@@ -37084,7 +37172,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\tl_if_blank:nF {#3} { Use~ \tl_trim_spaces:n {#3} ~not~ }
#2~deprecated~on~#1.
}
-\cs_gset:Npn \cs_argument_spec:N { \cs_parameter_spec:N }
+\cs_new:Npn \cs_argument_spec:N { \cs_parameter_spec:N }
\cs_new_protected:Npn \iow_shipout_x:Nn { \iow_shipout_e:Nn }
\cs_generate_variant:Nn \iow_shipout_x:Nn { Nx , c, cx }
\cs_new_protected:cpn { \c__keys_props_root_str .str_set_x:N } #1
@@ -37103,11 +37191,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__keys_variable_set:NnnN #1 { tl } { g } x }
\cs_new_protected:cpn { \c__keys_props_root_str .tl_gset_x:c } #1
{ \__keys_variable_set:cnnN {#1} { tl } { g } x }
-\cs_set_protected:Npn \keys_set_filter:nnn { \keys_set_exclude_groups:nnn }
+\cs_new_protected:Npn \keys_set_filter:nnn { \keys_set_exclude_groups:nnn }
\cs_generate_variant:Nn \keys_set_filter:nnn { nnV , nnv , nno }
-\cs_set_protected:Npn \keys_set_filter:nnnN { \keys_set_exclude_groups:nnnN }
+\cs_new_protected:Npn \keys_set_filter:nnnN { \keys_set_exclude_groups:nnnN }
\cs_generate_variant:Nn \keys_set_filter:nnnN { nnV , nnv , nno }
-\cs_set_protected:Npn \keys_set_filter:nnnnN { \keys_set_exclude_groups:nnnnN }
+\cs_new_protected:Npn \keys_set_filter:nnnnN { \keys_set_exclude_groups:nnnnN }
\cs_generate_variant:Nn \keys_set_filter:nnnnN { nnV , nnv , nno }
\__kernel_patch_deprecation:nnNNpn { 2024-02-13 } { \msg_set:nnnn }
\cs_new_protected:Npn \msg_gset:nnnn { \msg_set:nnnn }
@@ -37129,76 +37217,76 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_generate_variant:Nn \pdf_object_write:nn { nx }
\__kernel_patch_deprecation:nnNNpn { 2023-05-03 } { \bool_case:n }
-\cs_gset:Npn \bool_case_true:n { \bool_case:n }
+\cs_new:Npn \bool_case_true:n { \bool_case:n }
\__kernel_patch_deprecation:nnNNpn { 2023-05-03 } { \bool_case:nT }
-\cs_gset:Npn \bool_case_true:nT { \bool_case:nT }
+\cs_new:Npn \bool_case_true:nT { \bool_case:nT }
\__kernel_patch_deprecation:nnNNpn { 2023-05-03 } { \bool_case:nF }
-\cs_gset:Npn \bool_case_true:nF { \bool_case:nF }
+\cs_new:Npn \bool_case_true:nF { \bool_case:nF }
\__kernel_patch_deprecation:nnNNpn { 2023-05-03 } { \bool_case:nTF }
-\cs_gset:Npn \bool_case_true:nTF { \bool_case:nTF }
+\cs_new:Npn \bool_case_true:nTF { \bool_case:nTF }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \str_lowercase:n }
-\cs_gset:Npn \str_lower_case:n { \str_lowercase:n }
+\cs_new:Npn \str_lower_case:n { \str_lowercase:n }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \str_lowercase:f }
-\cs_gset:Npn \str_lower_case:f { \str_lowercase:f }
+\cs_new:Npn \str_lower_case:f { \str_lowercase:f }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \str_uppercase:n }
-\cs_gset:Npn \str_upper_case:n { \str_uppercase:n }
+\cs_new:Npn \str_upper_case:n { \str_uppercase:n }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \str_uppercase:f }
-\cs_gset:Npn \str_upper_case:f { \str_uppercase:f }
+\cs_new:Npn \str_upper_case:f { \str_uppercase:f }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \str_casefold:n }
-\cs_gset:Npn \str_fold_case:n { \str_casefold:n }
+\cs_new:Npn \str_fold_case:n { \str_casefold:n }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \str_casefold:V }
-\cs_gset:Npn \str_fold_case:V { \str_casefold:V }
+\cs_new:Npn \str_fold_case:V { \str_casefold:V }
\__kernel_patch_deprecation:nnNNpn { 2020-10-17 } { \str_casefold:n }
-\cs_gset:Npn \str_foldcase:n { \str_casefold:n }
+\cs_new:Npn \str_foldcase:n { \str_casefold:n }
\__kernel_patch_deprecation:nnNNpn { 2022-10-17 } { \str_casefold:V }
-\cs_gset:Npn \str_foldcase:V { \str_casefold:V }
+\cs_new:Npn \str_foldcase:V { \str_casefold:V }
\__kernel_patch_deprecation:nnNNpn { 2020-08-20 } { }
-\cs_gset_protected:Npn \str_declare_eight_bit_encoding:nnn #1
+\cs_new_protected:Npn \str_declare_eight_bit_encoding:nnn #1
{ \__str_declare_eight_bit_encoding:nnnn {#1} { 1114112 } }
\__kernel_patch_deprecation:nnNNpn { 2020-06-18 } { \seq_map_indexed_inline:Nn }
-\cs_gset_protected:Npn \seq_indexed_map_inline:Nn { \seq_map_indexed_inline:Nn }
+\cs_new_protected:Npn \seq_indexed_map_inline:Nn { \seq_map_indexed_inline:Nn }
\__kernel_patch_deprecation:nnNNpn { 2020-06-18 } { \seq_map_indexed_function:NN }
-\cs_gset:Npn \seq_indexed_map_function:NN { \seq_map_indexed_function:NN }
+\cs_new:Npn \seq_indexed_map_function:NN { \seq_map_indexed_function:NN }
\__kernel_patch_deprecation:nnNNpn { 2023-05-10 } { \seq_map_pairwise_function:NNN }
-\cs_gset:Npn \seq_mapthread_function:NNN { \seq_map_pairwise_function:NNN }
+\cs_new:Npn \seq_mapthread_function:NNN { \seq_map_pairwise_function:NNN }
\__kernel_patch_deprecation:nnNNpn { 2023-10-26 } { \seq_set_map_e:NNn }
-\cs_gset_protected:Npn \seq_set_map_x:NNn { \seq_set_map_e:NNn }
+\cs_new_protected:Npn \seq_set_map_x:NNn { \seq_set_map_e:NNn }
\__kernel_patch_deprecation:nnNNpn { 2023-10-26 } { \seq_gset_map_e:NNn }
-\cs_gset_protected:Npn \seq_gset_map_x:NNn { \seq_gset_map_e:NNn }
+\cs_new_protected:Npn \seq_gset_map_x:NNn { \seq_gset_map_e:NNn }
\__kernel_patch_deprecation:nnNNpn { 2021-01-11 } { (no~longer~required) }
-\cs_gset_protected:Npn \sys_load_deprecation: { }
+\cs_new_protected:Npn \sys_load_deprecation: { }
\__kernel_patch_deprecation:nnNNpn { 2023-07-08 } { \text_titlecase_first:n }
-\cs_gset:Npn \text_titlecase:n #1
+\cs_new:Npn \text_titlecase:n #1
{ \text_titlecase_first:n { \text_lowercase:n {#1} } }
\__kernel_patch_deprecation:nnNNpn { 2023-07-08 } { \text_titlecase_first:nn }
-\cs_gset:Npn \text_titlecase:nn #1#2
+\cs_new:Npn \text_titlecase:nn #1#2
{ \text_titlecase_first:nn {#1} { \text_lowercase:n {#2} } }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_lowercase:n }
-\cs_gset:Npn \tl_lower_case:n #1
+\cs_new:Npn \tl_lower_case:n #1
{ \text_lowercase:n {#1} }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_lowercase:nn }
-\cs_gset:Npn \tl_lower_case:nn #1#2
+\cs_new:Npn \tl_lower_case:nn #1#2
{ \text_lowercase:nn {#1} {#2} }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_uppercase:n }
-\cs_gset:Npn \tl_upper_case:n #1
+\cs_new:Npn \tl_upper_case:n #1
{ \text_uppercase:n {#1} }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_uppercase:nn }
-\cs_gset:Npn \tl_upper_case:nn #1#2
+\cs_new:Npn \tl_upper_case:nn #1#2
{ \text_uppercase:nn {#1} {#2} }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_titlecase_first:n }
-\cs_gset:Npn \tl_mixed_case:n #1
+\cs_new:Npn \tl_mixed_case:n #1
{ \text_titlecase_first:n {#1} }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_titlecase_first:nn }
-\cs_gset:Npn \tl_mixed_case:nn #1#2
+\cs_new:Npn \tl_mixed_case:nn #1#2
{ \text_titlecase_first:nn {#1} {#2} }
\__kernel_patch_deprecation:nnNNpn { 2022-05-23 } { \token_case_meaning:Nn }
-\cs_gset:Npn \tl_case:Nn { \token_case_meaning:Nn }
+\cs_new:Npn \tl_case:Nn { \token_case_meaning:Nn }
\__kernel_patch_deprecation:nnNNpn { 2022-05-23 } { \token_case_meaning:NnT }
-\cs_gset:Npn \tl_case:NnT { \token_case_meaning:NnT }
+\cs_new:Npn \tl_case:NnT { \token_case_meaning:NnT }
\__kernel_patch_deprecation:nnNNpn { 2022-05-23 } { \token_case_meaning:NnF }
-\cs_gset:Npn \tl_case:NnF { \token_case_meaning:NnF }
+\cs_new:Npn \tl_case:NnF { \token_case_meaning:NnF }
\__kernel_patch_deprecation:nnNNpn { 2022-05-23 } { \token_case_meaning:NnTF }
-\cs_gset:Npn \tl_case:NnTF { \token_case_meaning:NnTF }
+\cs_new:Npn \tl_case:NnTF { \token_case_meaning:NnTF }
\cs_generate_variant:Nn \tl_case:Nn { c }
\prg_generate_conditional_variant:Nnn \tl_case:Nn
{ c } { T , F , TF }
@@ -37209,45 +37297,45 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__kernel_patch_deprecation:nnNNpn { 2023-10-25 } { \tl_build_get_intermediate:NN }
\cs_new_protected:Npn \tl_build_get:NN { \tl_build_get_intermediate:NN }
\__kernel_patch_deprecation:nnNNpn { 2022-10-09 } { [ \codepoint_generate:nn ] }
-\cs_gset:Npn \char_to_utfviii_bytes:n { \__kernel_codepoint_to_bytes:n }
+\cs_new:Npn \char_to_utfviii_bytes:n { \__kernel_codepoint_to_bytes:n }
\__kernel_patch_deprecation:nnNNpn { 2022-10-09 } { \codepoint_to_nfd:n }
-\cs_gset:Npn \char_to_nfd:N #1 { \codepoint_to_nfd:n {`#1} }
+\cs_new:Npn \char_to_nfd:N #1 { \codepoint_to_nfd:n {`#1} }
\__kernel_patch_deprecation:nnNNpn { 2022-10-09 } { \codepoint_to_nfd:n }
-\cs_gset:Npn \char_to_nfd:n { \codepoint_to_nfd:n }
+\cs_new:Npn \char_to_nfd:n { \codepoint_to_nfd:n }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_lowercase:n }
-\cs_gset:Npn \char_lower_case:N { \text_lowercase:n }
+\cs_new:Npn \char_lower_case:N { \text_lowercase:n }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_uppercase:n }
-\cs_gset:Npn \char_upper_case:N { \text_uppercase:n }
+\cs_new:Npn \char_upper_case:N { \text_uppercase:n }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_titlecase_first:n }
-\cs_gset:Npn \char_mixed_case:N { \text_titlecase_first:n }
+\cs_new:Npn \char_mixed_case:N { \text_titlecase_first:n }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \str_casefold:n }
-\cs_gset:Npn \char_fold_case:N { \str_casefold:n }
+\cs_new:Npn \char_fold_case:N { \str_casefold:n }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \str_lowercase:n }
-\cs_gset:Npn \char_str_lower_case:N { \str_lowercase:n }
+\cs_new:Npn \char_str_lower_case:N { \str_lowercase:n }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \str_uppercase:n }
-\cs_gset:Npn \char_str_upper_case:N { \str_uppercase:n }
+\cs_new:Npn \char_str_upper_case:N { \str_uppercase:n }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \str_titlecase:n }
-\cs_gset:Npn \char_str_mixed_case:N { \str_titlecase:n }
+\cs_new:Npn \char_str_mixed_case:N { \str_titlecase:n }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \str_casefold:n }
-\cs_gset:Npn \char_str_fold_case:N { \str_casefold:n }
+\cs_new:Npn \char_str_fold_case:N { \str_casefold:n }
\__kernel_patch_deprecation:nnNNpn { 2022-10-17 } { \text_lowercase:n }
-\cs_gset:Npn \char_lowercase:N { \text_lowercase:n }
+\cs_new:Npn \char_lowercase:N { \text_lowercase:n }
\__kernel_patch_deprecation:nnNNpn { 2022-10-17 } { \text_uppercase:n }
-\cs_gset:Npn \char_uppercase:N { \text_uppercase:n }
+\cs_new:Npn \char_uppercase:N { \text_uppercase:n }
\__kernel_patch_deprecation:nnNNpn { 2022-10-17 } { \text_titlecase_first:n }
-\cs_gset:Npn \char_titlecase:N { \text_titlecase_first:n }
+\cs_new:Npn \char_titlecase:N { \text_titlecase_first:n }
\__kernel_patch_deprecation:nnNNpn { 2022-10-17 } { \str_casefold:n }
-\cs_gset:Npn \char_foldcase:N { \str_casefold:n }
+\cs_new:Npn \char_foldcase:N { \str_casefold:n }
\__kernel_patch_deprecation:nnNNpn { 2022-10-17 } { \str_lowercase:n }
-\cs_gset:Npn \char_str_lowercase:N { \str_lowercase:n }
+\cs_new:Npn \char_str_lowercase:N { \str_lowercase:n }
\__kernel_patch_deprecation:nnNNpn { 2022-10-17 }
{ \tl_to_str:e { \text_titlecase_first:n } }
-\cs_gset:Npn \char_str_titlecase:N #1
+\cs_new:Npn \char_str_titlecase:N #1
{ \tl_to_str:e { \text_titlecase_first:n {#1} } }
\__kernel_patch_deprecation:nnNNpn { 2022-10-17 } { \str_uppercase:n }
-\cs_gset:Npn \char_str_uppercase:N { \str_uppercase:n }
+\cs_new:Npn \char_str_uppercase:N { \str_uppercase:n }
\__kernel_patch_deprecation:nnNNpn { 2022-10-17 } { \str_casefold:n }
-\cs_gset:Npn \char_str_foldcase:N { \str_casefold:n }
+\cs_new:Npn \char_str_foldcase:N { \str_casefold:n }
\tl_map_inline:nn
{
{ catcode } { catcode_remove }