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.tex314
1 files changed, 253 insertions, 61 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index 3904ec54d93..8d286c95e9a 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -70,7 +70,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2022-02-24}%
+\def\ExplFileDate{2022-04-10}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -1256,12 +1256,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__kernel_primitive:NN \kcatcode \tex_kcatcode:D
\__kernel_primitive:NN \kuten \tex_kuten:D
\__kernel_primitive:NN \lastnodechar \tex_lastnodechar:D
+ \__kernel_primitive:NN \lastnodefont \tex_lastnodefont:D
\__kernel_primitive:NN \lastnodesubtype \tex_lastnodesubtype:D
\__kernel_primitive:NN \noautospacing \tex_noautospacing:D
\__kernel_primitive:NN \noautoxspacing \tex_noautoxspacing:D
\__kernel_primitive:NN \pagefistretch \tex_pagefistretch:D
\__kernel_primitive:NN \postbreakpenalty \tex_postbreakpenalty:D
\__kernel_primitive:NN \prebreakpenalty \tex_prebreakpenalty:D
+ \__kernel_primitive:NN \ptexlineendmode \tex_lineendmode:D
\__kernel_primitive:NN \ptexminorversion \tex_ptexminorversion:D
\__kernel_primitive:NN \ptexrevision \tex_ptexrevision:D
\__kernel_primitive:NN \ptexversion \tex_ptexversion:D
@@ -1277,6 +1279,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__kernel_primitive:NN \textbaselineshiftfactor
\tex_textbaselineshiftfactor:D
\__kernel_primitive:NN \tfont \tex_tfont:D
+ \__kernel_primitive:NN \toucs \tex_toucs:D
+ \__kernel_primitive:NN \ucs \tex_ucs:D
\__kernel_primitive:NN \xkanjiskip \tex_xkanjiskip:D
\__kernel_primitive:NN \xspcode \tex_xspcode:D
\__kernel_primitive:NN \ybaselineshift \tex_ybaselineshift:D
@@ -1289,7 +1293,6 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__kernel_primitive:NN \kchar \tex_kchar:D
\__kernel_primitive:NN \kchardef \tex_kchardef:D
\__kernel_primitive:NN \kuten \tex_kuten:D
- \__kernel_primitive:NN \ucs \tex_ucs:D
\__kernel_primitive:NN \uptexrevision \tex_uptexrevision:D
\__kernel_primitive:NN \uptexversion \tex_uptexversion:D
\__kernel_primitive:NN \odelcode \tex_odelcode:D
@@ -1301,6 +1304,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__kernel_primitive:NN \oradical \tex_oradical:D
\__kernel_primitive:NN \partokencontext \tex_partokencontext:D
\__kernel_primitive:NN \partokenname \tex_partokenname:D
+ \__kernel_primitive:NN \showstream \tex_showstream:D
\__kernel_primitive:NN \tracingstacklevels \tex_tracingstacklevels:D
\tex_endgroup:D
\tex_ifdefined:D \@@end
@@ -4943,6 +4947,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ p , T , F , TF }
\prg_new_eq_conditional:NNn \str_if_empty:c \tl_if_empty:c
{ p , T , F , TF }
+\prg_new_eq_conditional:NNn \str_if_empty:n \tl_if_empty:n
+ { p , T , F , TF }
\cs_new_eq:NN \__str_if_eq:nn \tex_strcmp:D
\prg_new_conditional:Npnn \str_compare:nNn #1#2#3 { p , T , F , TF }
{
@@ -5012,6 +5018,10 @@ 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_new_eq:NN \str_case:Nn \str_case:Vn
+\cs_new_eq:NN \str_case:NnT \str_case:VnT
+\cs_new_eq:NN \str_case:NnF \str_case:VnF
+\cs_new_eq:NN \str_case:NnTF \str_case:VnTF
\prg_generate_conditional_variant:Nnn \str_case:nn
{ V , o , nV , nv } { T , F , TF }
\cs_new:Npn \__str_case:nw #1#2#3
@@ -5441,6 +5451,92 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \use:c { char_str_ #1 case:N } #2 }
\__str_change_case_loop:nw {#1}
}
+\if_int_compare:w 0
+ \cs_if_exist:NT \tex_XeTeXversion:D { 1 }
+ \cs_if_exist:NT \tex_luatexversion:D { 1 }
+ > 0 \exp_stop_f:
+\else:
+ \cs_gset:Npn \__str_change_case_char:nN #1#2
+ {
+ \__str_if_recursion_tail_stop_do:Nn #2
+ { \__str_change_case_end:wn }
+ \int_compare:nNnTF { `#2 } > { "80 }
+ {
+ \int_compare:nNnTF { `#2 } < { "E0 }
+ { \__str_change_case_char_UTFviii:nNN }
+ {
+ \int_compare:nNnTF { `#2 } < { "F0 }
+ { \__str_change_case_char_UTFviii:nNNN }
+ { \__str_change_case_char_UTFviii:nNNNN }
+ }
+ {#1} #2
+ }
+ {
+ \__str_change_case_output:fw
+ { \use:c { char_str_ #1 case:N } #2 }
+ \__str_change_case_loop:nw {#1}
+ }
+ }
+ \cs_new:Npn \__str_change_case_char_UTFviii:nNN #1#2#3
+ { \__str_change_case_char_UTFviii:nn {#1} {#2#3} }
+ \cs_new:Npn \__str_change_case_char_UTFviii:nNNN #1#2#3#4
+ { \__str_change_case_char_UTFviii:nn {#1} {#2#3#4} }
+ \cs_new:Npn \__str_change_case_char_UTFviii:nNNNN #1#2#3#4#5
+ { \__str_change_case_char_UTFviii:nn {#1} {#2#3#4#5} }
+ \cs_if_exist:NF \tex_pdftexversion:D
+ {
+ \cs_gset:Npn \__str_change_case_char_UTFviii:nNNN #1#2#3#4
+ {
+ \__str_change_case_output:nw {#2#3#4}
+ \__str_change_case_loop:nw {#1}
+ }
+ \cs_gset:Npn \__str_change_case_char_UTFviii:nNNNN #1#2#3#4#5
+ {
+ \__str_change_case_output:nw {#2#3#4#5}
+ \__str_change_case_loop:nw {#1}
+ }
+ }
+ \cs_new:Npn \__str_change_case_char_UTFviii:nn #1#2
+ {
+ \use:c { __str_change_case_char_UTFviii_ #1 :nn } {#1} {#2}
+ }
+ \cs_new:Npn \__str_change_case_char_UTFviii_upper:nn #1#2
+ {
+ \__str_change_case_output:fw
+ {
+ \cs_if_exist:cTF { c__kernel_ #1 case_ #2 _tl }
+ {
+ \__kernel_tl_to_str:w \exp_after:wN \exp_after:wN \exp_after:wN
+ { \cs:w c__kernel_ #1 case_ #2 _tl \cs_end: }
+ }
+ {#2}
+ }
+ \__str_change_case_loop:nw {#1}
+ }
+ \cs_new_eq:NN \__str_change_case_char_UTFviii_lower:nn
+ \__str_change_case_char_UTFviii_upper:nn
+ \cs_new:Npn \__str_change_case_char_UTFviii_fold:nn #1#2
+ {
+ \__str_change_case_output:fw
+ {
+ \cs_if_exist:cTF { c__kernel_ #1 case_ #2 _tl }
+ {
+ \__kernel_tl_to_str:w \exp_after:wN \exp_after:wN \exp_after:wN
+ { \cs:w c__kernel_ #1 case_ #2 _tl \cs_end: }
+ }
+ {
+ \cs_if_exist:cTF { c__kernel_lowercase_ #2 _tl }
+ {
+ \__kernel_tl_to_str:w
+ \exp_after:wN \exp_after:wN \exp_after:wN
+ { \cs:w c__kernel_lowercase_ #2 _tl \cs_end: }
+ }
+ {#2}
+ }
+ }
+ \__str_change_case_loop:nw {#1}
+ }
+\fi:
\str_const:Nx \c_ampersand_str { \cs_to_str:N \& }
\str_const:Nx \c_atsign_str { \cs_to_str:N \@ }
\str_const:Nx \c_backslash_str { \cs_to_str:N \\ }
@@ -8598,26 +8694,22 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npn \__char_generate_aux:w #1 ; #2 ;
{
- \if_int_compare:w #2 = 10 \exp_stop_f:
- \if_int_compare:w #1 = \c_zero_int
- \msg_expandable_error:nn { char } { null-space }
- \else:
- \msg_expandable_error:nn { char } { space }
- \fi:
+ \if_int_odd:w 0
+ \if_int_compare:w #2 < 1 \exp_stop_f: 1 \fi:
+ \if_int_compare:w #2 = 5 \exp_stop_f: 1 \fi:
+ \if_int_compare:w #2 = 9 \exp_stop_f: 1 \fi:
+ \if_int_compare:w #2 > 13 \exp_stop_f: 1 \fi: \exp_stop_f:
+ \msg_expandable_error:nn { char }
+ { invalid-catcode }
\else:
\if_int_odd:w 0
- \if_int_compare:w #2 < 1 \exp_stop_f: 1 \fi:
- \if_int_compare:w #2 = 5 \exp_stop_f: 1 \fi:
- \if_int_compare:w #2 = 9 \exp_stop_f: 1 \fi:
- \if_int_compare:w #2 > 13 \exp_stop_f: 1 \fi: \exp_stop_f:
+ \if_int_compare:w #1 < \c_zero_int 1 \fi:
+ \if_int_compare:w #1 > \c_max_char_int 1 \fi: \exp_stop_f:
\msg_expandable_error:nn { char }
- { invalid-catcode }
+ { out-of-range }
\else:
- \if_int_odd:w 0
- \if_int_compare:w #1 < \c_zero_int 1 \fi:
- \if_int_compare:w #1 > \c_max_char_int 1 \fi: \exp_stop_f:
- \msg_expandable_error:nn { char }
- { out-of-range }
+ \if_int_compare:w #2#1 = 100 \exp_stop_f:
+ \msg_expandable_error:nn { char } { null-space }
\else:
\__char_generate_aux:nnw {#1} {#2}
\fi:
@@ -10533,9 +10625,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ Cannot~generate~null~char~as~a~space. }
\msg_new:nnn { char } { out-of-range }
{ Charcode~requested~out~of~engine~range. }
-\msg_new:nnn { char } { space }
- { Cannot~generate~space~chars. }
-\msg_new:nnnn { ior } { quote-in-shell }
+\msg_new:nnnn { kernel } { quote-in-shell }
{ Quotes~in~shell~command~'#1'. }
{ Shell~commands~cannot~contain~quotes~("). }
\msg_new:nnnn { keys } { no-property }
@@ -13036,6 +13126,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\bool_new:N \l__keys_tmp_bool
\tl_new:N \l__keys_tmpa_tl
\tl_new:N \l__keys_tmpb_tl
+\bool_new:N \l__keys_precompile_bool
+\tl_new:N \l__keys_precompile_tl
\prop_new:N \l_keys_usage_load_prop
\prop_new:N \l_keys_usage_preamble_prop
\scan_new:N \s__keys_nil
@@ -13043,6 +13135,13 @@ Type H <return> for immediate help}\def~{\errmessage{%
\scan_new:N \s__keys_stop
\quark_new:N \q__keys_no_value
\__kernel_quark_new_conditional:Nn \__keys_quark_if_no_value:N { TF }
+\cs_new_protected:Npn \__keys_precompile:n #1
+ {
+ \bool_if:NTF \l__keys_precompile_bool
+ { \tl_put_right:Nn \l__keys_precompile_tl }
+ { \use:n }
+ {#1}
+ }
\cs_new_protected:Npn \keys_define:nn
{ \__keys_define:onn \l__keys_module_str }
\cs_new_protected:Npn \__keys_define:nnn #1#2#3
@@ -13146,7 +13245,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \exp_not:c { bool_ #2 set_ #3 :N } \exp_not:N #1 }
\__keys_cmd_set:nx { \l_keys_path_str / false }
{ \exp_not:c { bool_ #2 set_ #4 :N } \exp_not:N #1 }
- \__keys_cmd_set:nn { \l_keys_path_str / unknown }
+ \__keys_cmd_set_direct:nn { \l_keys_path_str / unknown }
{
\msg_error:nnx { keys } { boolean-values-only }
\l_keys_key_str
@@ -13178,8 +13277,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\cs_set_nopar:cpn { \c__keys_type_root_str \l_keys_path_str }
{ choice }
- \__keys_cmd_set:nn \l_keys_path_str { #1 {##1} }
- \__keys_cmd_set:nn { \l_keys_path_str / unknown }
+ \__keys_cmd_set_direct:nn \l_keys_path_str { #1 {##1} }
+ \__keys_cmd_set_direct:nn { \l_keys_path_str / unknown }
{
\msg_error:nnxx { keys } { choice-unknown }
\l_keys_path_str {##1}
@@ -13207,12 +13306,17 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
}
\cs_new_protected:Npn \__keys_cmd_set:nn #1#2
- { \cs_set_protected:cpn { \c__keys_code_root_str #1 } ##1 {#2} }
+ { \__keys_cmd_set_direct:nn {#1} { \__keys_precompile:n {#2} } }
\cs_generate_variant:Nn \__keys_cmd_set:nn { nx , Vn , Vo }
+\cs_new_protected:Npn \__keys_cmd_set_direct:nn #1#2
+ { \cs_set_protected:cpn { \c__keys_code_root_str #1 } ##1 {#2} }
\cs_new_protected:Npn \__keys_cs_set:NNpn #1#2#3#
{
\cs_set_protected:cpx { \c__keys_code_root_str \l_keys_path_str } ##1
- { #1 \exp_not:N #2 \exp_not:n {#3} {##1} }
+ {
+ \__keys_precompile:n
+ { #1 \exp_not:N #2 \exp_not:n {#3} {##1} }
+ }
\use_none:n
}
\cs_generate_variant:Nn \__keys_cs_set:NNpn { Nc }
@@ -13285,13 +13389,17 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new_protected:Npn \__keys_meta_make:n #1
{
- \__keys_cmd_set:Vo \l_keys_path_str
+ \exp_args:NVo \__keys_cmd_set_direct:nn \l_keys_path_str
{
- \exp_after:wN \keys_set:nn \exp_after:wN { \l__keys_module_str } {#1}
+ \exp_after:wN \keys_set:nn \exp_after:wN
+ { \l__keys_module_str } {#1}
}
}
\cs_new_protected:Npn \__keys_meta_make:nn #1#2
- { \__keys_cmd_set:Vn \l_keys_path_str { \keys_set:nn {#1} {#2} } }
+ {
+ \exp_args:NV \__keys_cmd_set_direct:nn
+ \l_keys_path_str { \keys_set:nn {#1} {#2} }
+ }
\cs_new_protected:Npn \__keys_prop_put:Nn #1#2
{
\prop_if_exist:NF #1 { \prop_new:N #1 }
@@ -13748,6 +13856,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__keys_set:nn {#2} {#4}
\tl_set:Nn \l__keys_selective_seq {#1}
}
+\cs_new_protected:Npn \keys_precompile:nnN #1#2#3
+ {
+ \bool_set_true:N \l__keys_precompile_bool
+ \tl_clear:N \l__keys_precompile_tl
+ \keys_set:nn {#1} {#2}
+ \bool_set_false:N \l__keys_precompile_bool
+ \tl_set_eq:NN #3 \l__keys_precompile_tl
+ }
\cs_new_protected:Npn \__keys_set_keyval:n #1
{
\bool_set_true:N \l__keys_no_value_bool
@@ -14088,16 +14204,46 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\exp_args:Nnf \msg_show_item_unbraced:nn { code }
{
- \exp_args:Nc \cs_replacement_spec:N
+ \exp_args:Ne \__keys_show:n
{
- \c__keys_code_root_str
- \__keys_trim_spaces:n { #2 / #3 }
+ \exp_args:Nc \cs_replacement_spec:N
+ {
+ \c__keys_code_root_str
+ \__keys_trim_spaces:n { #2 / #3 }
+ }
}
}
}
}
{ } { }
}
+\cs_new:Npx \__keys_show:n #1
+ {
+ \exp_not:N \__keys_show:w
+ #1
+ \tl_to_str:n { \__keys_precompile:n }
+ #1
+ \tl_to_str:n { \__keys_precompile:n }
+ \exp_not:N \s__keys_stop
+ }
+\use:x
+ {
+ \cs_new:Npn \exp_not:N \__keys_show:w
+ ##1 \tl_to_str:n { \__keys_precompile:n }
+ ##2 \tl_to_str:n { \__keys_precompile:n }
+ ##3 \exp_not:N \s__keys_stop
+ }
+ {
+ \tl_if_blank:nTF {#2}
+ {#1}
+ { \__keys_show:Nw #2 \s__keys_stop }
+ }
+\use:x
+ {
+ \cs_new:Npn \exp_not:N \__keys_show:Nw ##1##2
+ \c_right_brace_str \exp_not:N \s__keys_stop
+ }
+ {#2}
\msg_new:nnnn { keys } { bad-relative-key-path }
{ The~key~'#1'~is~not~inside~the~'#2'~path. }
{ The~key~'#1'~cannot~be~expressed~relative~to~path~'#2'. }
@@ -23296,33 +23442,30 @@ Type H <return> for immediate help}\def~{\errmessage{%
32 \s__tl
\__tl_analysis_b_loop:w #1 ;
}
+\cs_new_protected:Npn \tl_analysis_map_inline:Nn #1
+ { \exp_args:No \tl_analysis_map_inline:nn #1 }
\cs_new_protected:Npn \tl_analysis_map_inline:nn #1
{
\__tl_analysis:n {#1}
\int_gincr:N \g__kernel_prg_map_int
- \exp_args:Nc \__tl_analysis_map_inline_aux:Nn
+ \exp_args:Nc \__tl_analysis_map:Nn
{ __tl_analysis_map_inline_ \int_use:N \g__kernel_prg_map_int :wNw }
}
-\cs_new_protected:Npn \tl_analysis_map_inline:Nn #1
- { \exp_args:No \tl_analysis_map_inline:nn #1 }
-\cs_new_protected:Npn \__tl_analysis_map_inline_aux:Nn #1#2
+\cs_new_protected:Npn \__tl_analysis_map:Nn #1#2
{
- \cs_gset_protected:Npn #1 ##1 \s__tl ##2 ##3 \s__tl
- {
- \use_none:n ##2
- \__tl_analysis_map_inline_aux:nnn {##1} {##3} {##2}
- }
- \cs_gset_protected:Npn \__tl_analysis_map_inline_aux:nnn ##1##2##3
- {
- #2
- #1
- }
- \exp_after:wN #1
+ \cs_gset_protected:Npn #1 ##1##2##3 {#2}
+ \exp_after:wN \__tl_analysis_map:NwNw \exp_after:wN #1
\g__tl_analysis_result_tl
\s__tl { ? \tl_map_break: } \s__tl
\prg_break_point:Nn \tl_map_break:
{ \int_gdecr:N \g__kernel_prg_map_int }
}
+\cs_new_protected:Npn \__tl_analysis_map:NwNw #1 #2 \s__tl #3 #4 \s__tl
+ {
+ \use_none:n #3
+ #1 {#2} {#4} {#3}
+ \__tl_analysis_map:NwNw #1
+ }
\cs_new_protected:Npn \tl_analysis_show:N
{ \__tl_analysis_show:NNN \msg_show:nnxxxx \tl_show:N }
\cs_new_protected:Npn \tl_analysis_log:N
@@ -31694,6 +31837,39 @@ Type H <return> for immediate help}\def~{\errmessage{%
\tl_new:N \l_text_expand_exclude_tl
\tl_set:Nn \l_text_expand_exclude_tl
{ \begin \cite \end \label \ref }
+\bool_lazy_and:nnT
+ { \str_if_eq_p:Vn \fmtname { LaTeX2e } }
+ { \tl_if_exist_p:N \@expl@finalise@setup@@ }
+ {
+ \tl_gput_right:Nn \@expl@finalise@setup@@
+ {
+ \tl_gput_right:Nn \@kernel@after@begindocument
+ {
+ \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
+ }
+ }
+ }
\tl_new:N \l__text_math_mode_tl
\tex_chardef:D \c__text_chardef_space_token = `\ %
\tex_mathchardef:D \c__text_mathchardef_space_token = `\ %
@@ -31946,7 +32122,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new:Npx \__text_expand_cs:N #1
{
\exp_not:N \str_if_eq:nnTF {#1} { \exp_not:N \protect }
- { \exp_not:N \__text_expand_protect:N }
+ { \exp_not:N \__text_expand_protect:w }
{
\bool_lazy_and:nnTF
{ \cs_if_exist_p:N \fmtname }
@@ -31955,8 +32131,23 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \exp_not:N \__text_expand_replace:N #1 }
}
}
+\cs_new:Npn \__text_expand_protect:w #1 \q__text_recursion_stop
+ {
+ \tl_if_head_is_N_type:nTF {#1}
+ { \__text_expand_protect:N }
+ {
+ \__text_expand_store:n { \protect }
+ \__text_expand_loop:w
+ }
+ #1 \q__text_recursion_stop
+ }
\cs_new:Npn \__text_expand_protect:N #1
{
+ \__text_if_recursion_tail_stop_do:Nn #1
+ {
+ \__text_expand_store:n { \protect }
+ \__text_expand_end:w
+ }
\exp_args:Ne \__text_expand_protect:nN
{ \cs_to_str:N #1 } #1
}
@@ -32466,10 +32657,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__text_change_case_char_UTFviii:nnnn {#1} {#2} {#3} {#4#5#6#7} }
\cs_new:Npn \__text_change_case_char_UTFviii:nnnn #1#2#3#4
{
- \cs_if_exist:cTF { c__text_ #1 case_ \tl_to_str:n {#4} _tl }
+ \cs_if_exist:cTF { c__kernel_ #1 case_ \tl_to_str:n {#4} _tl }
{
\__text_change_case_store:v
- { c__text_ #1 case_ \tl_to_str:n {#4} _tl }
+ { c__kernel_ #1 case_ \tl_to_str:n {#4} _tl }
}
{ \__text_change_case_store:n {#4} }
\use:c { __text_change_case_char_next_ #2 :nn } {#2} {#3}
@@ -33094,7 +33285,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\tl_const:cx
{
- c__text_ #1 case_
+ c__kernel_ #1 case_
\char_generate:nn {#2} { 12 }
\char_generate:nn {#3} { 12 }
_tl
@@ -33110,7 +33301,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\tl_const:cx
{
- c__text_lowercase_
+ c__kernel_lowercase_
\char_generate:nn {#1} { 12 }
\char_generate:nn {#2} { 12 }
_tl
@@ -33338,7 +33529,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\tl_const:cx
{
- c__text_ #3 case_
+ c__kernel_ #3 case_
\char_generate:nn {##1} { 12 }
\char_generate:nn {##2} { 12 }
_tl
@@ -33375,7 +33566,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\tl_const:cn
{
- c__text_ #3 case_
+ c__kernel_ #3 case_
\char_generate:nn {##1} { 12 }
\char_generate:nn {##2} { 12 }
_tl
@@ -33393,7 +33584,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\tl_const:cx
{
- c__text_ #1 case_
+ c__kernel_ #1 case_
\char_generate:nn {#2} { 12 }
\char_generate:nn {#3} { 12 }
\char_generate:nn {#4} { 12 }
@@ -33412,7 +33603,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\tl_const:cx
{
- c__text_lowercase_
+ c__kernel_lowercase_
\char_generate:nn {#1} { 12 }
\char_generate:nn {#2} { 12 }
\char_generate:nn {#3} { 12 }
@@ -33535,7 +33726,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\tl_const:cx
{
- c__text_ #3 case_
+ c__kernel_ #3 case_
\char_generate:nn {##1} { 12 }
\char_generate:nn {##2} { 12 }
\char_generate:nn {##3} { 12 }
@@ -34658,7 +34849,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\tl_if_in:nnTF {#1} { " }
{
\msg_error:nnx
- { ior } { quote-in-shell } {#1}
+ { kernel } { quote-in-shell } {#1}
}
{ \__kernel_ior_open:Nn #2 { |#1 } }
}
@@ -34857,10 +35048,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
%% File: l3legacy.dtx
\prg_new_conditional:Npnn \legacy_if:n #1 { p , T , F , TF }
{
- \exp_args:Nc \if_meaning:w { if#1 } \iftrue
- \prg_return_true:
- \else:
+ \exp_after:wN \reverse_if:N
+ \cs:w if#1 \cs_end:
\prg_return_false:
+ \else:
+ \prg_return_true:
\fi:
}
\cs_new_protected:Npn \legacy_if_set_true:n #1