From f58022ff9f6a4a9411832b1f32c9428c8aa8846b Mon Sep 17 00:00:00 2001 From: Joseph Wright Date: Tue, 28 Jun 2022 09:54:44 +0100 Subject: [PATCH] Update l3kernel for testing We need this for sorting PL4. --- texmf/tex/latex/l3kernel/expl3-code.tex | 55 +++++++++++++++++++------ 1 file changed, 43 insertions(+), 12 deletions(-) diff --git a/texmf/tex/latex/l3kernel/expl3-code.tex b/texmf/tex/latex/l3kernel/expl3-code.tex index baad0eaa9..62249b3b7 100644 --- a/texmf/tex/latex/l3kernel/expl3-code.tex +++ b/texmf/tex/latex/l3kernel/expl3-code.tex @@ -2288,7 +2288,7 @@ } { \scan_stop: } } -\cs_new:Npn \cs_argument_spec:N #1 +\cs_new:Npn \cs_parameter_spec:N #1 { \token_if_macro:NTF #1 { @@ -4773,7 +4773,7 @@ \__kernel_chk_defined:NT #2 { \exp_args:Nf \tl_if_empty:nTF - { \cs_prefix_spec:N #2 \cs_argument_spec:N #2 } + { \cs_prefix_spec:N #2 \cs_parameter_spec:N #2 } { \exp_args:Ne #1 { \token_to_str:N #2 = \__kernel_exp_not:w \exp_after:wN {#2} } @@ -4806,7 +4806,7 @@ \__kernel_chk_defined:NT #1 { \exp_args:Nf \tl_if_empty:nTF - { \cs_prefix_spec:N #1 \cs_argument_spec:N #1 } + { \cs_prefix_spec:N #1 \cs_parameter_spec:N #1 } { \tl_set:Nx \l__tl_internal_a_tl {#3} \tl_if_eq:NNTF #1 \l__tl_internal_a_tl @@ -11141,7 +11141,7 @@ \cs_generate_variant:Nn \__iow_open_stream:Nn { NV } \cs_new_protected:Npn \iow_close:N #1 { - \int_compare:nT { - \c_log_iow < #1 < \c_term_iow } + \int_compare:nT { \c_log_iow < #1 < \c_term_iow } { \tex_immediate:D \tex_closeout:D #1 \prop_gremove:NV \g__iow_streams_prop #1 @@ -24741,7 +24741,7 @@ \cs_new_protected:cpx { __regex_compile_/#2: } { \__regex_compile_one:n - { \__regex_item_reverse:n \exp_not:c { __regex_prop_#1: } } + { \__regex_item_reverse:n { \exp_not:c { __regex_prop_#1: } } } } } \__regex_tmp:w d D @@ -24898,8 +24898,8 @@ { \__regex_compile_one:n { - \bool_if:NF \l__regex_internal_bool \__regex_item_reverse:n - \exp_not:c { __regex_posix_ \l__regex_internal_a_tl : } + \bool_if:NTF \l__regex_internal_bool \use:n \__regex_item_reverse:n + { \exp_not:c { __regex_posix_ \l__regex_internal_a_tl : } } } } { @@ -25448,7 +25448,10 @@ \__regex_item_caseless_range:nn { } \__regex_item_exact:nn { } } - { #1 { \__regex_clean_int:n {#2} } { \__regex_clean_int:n {#3} } } + { + #1 { \__regex_clean_int:n {#2} } { \__regex_clean_int:n {#3} } + \__regex_clean_class_loop:nnn + } { \token_case_meaning:NnTF #1 { @@ -25459,7 +25462,22 @@ #1 { \__regex_clean_int:n {#2} } { \__regex_clean_class:n {#3} } \__regex_clean_class_loop:nnn } - { \prg_break: } + { + \exp_args:Nf \str_case:nnTF + { + \exp_args:Nf \str_range:nnn + { \cs_to_str:N #1 } { 1 } { 13 } + } + { + { __regex_prop_ } { } + { __regex_posix } { } + } + { + #1 + \__regex_clean_class_loop:nnn {#2} {#3} + } + { \prg_break: } + } } } } @@ -26015,7 +26033,7 @@ \int_set_eq:NN \l__regex_curr_char_int \l__regex_last_char_int \__regex_prop_w: \__regex_break_point:TF - { \group_end: \__regex_item_reverse:n \__regex_prop_w: } + { \group_end: \__regex_item_reverse:n { \__regex_prop_w: } } { \group_end: \__regex_prop_w: } } \cs_new_protected:Npn \__regex_Z_test: @@ -32077,8 +32095,18 @@ \token_if_cs:NTF #1 { \__text_expand_exclude:N #1 } { - \__text_expand_store:n {#1} - \__text_expand_loop:w + \bool_lazy_and:nnTF + { \token_if_active_p:N #1 } + { + ! \bool_lazy_or_p:nn + { \token_if_protected_macro_p:N #1 } + { \token_if_protected_long_macro_p:N #1 } + } + { \exp_after:wN \__text_expand_loop:w #1 } + { + \__text_expand_store:n {#1} + \__text_expand_loop:w + } } } \cs_new:Npn \__text_expand_exclude:N #1 @@ -35530,6 +35558,9 @@ { \sys_if_engine_xetex:T } { 2017-01-01 } \__deprecation_old:Nnn \xetex_if_engine:TF { \sys_if_engine_xetex:TF } { 2017-01-01 } +\__kernel_patch_deprecation:nnNNpn { 2022-06-24 } { \cs_argument_spec:N } +\cs_gset:Npn \cs_argument_spec:N { \cs_parameter_spec:N } +\cs_gset_eq:NN \cs_argument_spec:N \cs_parameter_spec:N \__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \str_lowercase:n } \cs_gset:Npn \str_lower_case:n { \str_lowercase:n } \__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \str_lowercase:f }