diff options
author | Karl Berry <karl@freefriends.org> | 2022-04-11 20:14:43 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-04-11 20:14:43 +0000 |
commit | 9dc9eb0cc555a34fc566da8be3a89891f9e12898 (patch) | |
tree | 6f5790ed1de99f6b4c6cb30b34ad2b3e983f90f5 /Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex | |
parent | 81d082bcfbaee9189138d6ff85256e047409a769 (diff) |
l3 (11apr22)
git-svn-id: svn://tug.org/texlive/trunk@63007 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex | 314 |
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 |