diff options
author | Karl Berry <karl@freefriends.org> | 2023-06-06 20:06:24 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-06-06 20:06:24 +0000 |
commit | 4efc770b4440003e74a4c1c868ad55c64a32ef05 (patch) | |
tree | 5e07c532363aa9720b217c8c02c29a06aa832e6b /Master/texmf-dist/tex/latex/l3kernel | |
parent | 94617bbdb2210de3606ba82fafd652ca48e16b93 (diff) |
l3kernel (6jun23)
git-svn-id: svn://tug.org/texlive/trunk@67294 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex | 222 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/l3kernel/expl3.ltx | 27 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/l3kernel/expl3.sty | 27 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/l3kernel/l3doc.cls | 2 |
5 files changed, 161 insertions, 119 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex index f1de71696e7..cc7f3c32b25 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex @@ -71,7 +71,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx -\def\ExplFileDate{2023-05-22}% +\def\ExplFileDate{2023-06-05}% \begingroup \def\next{\endgroup}% \expandafter\ifx\csname PackageError\endcsname\relax @@ -1586,13 +1586,13 @@ Type H <return> for immediate help}\def~{\errmessage{% \cs_set_protected:Npn \__kernel_if_debug:TF #1#2 {#2} \cs_set_protected:Npn \debug_on:n #1 { - \msg_error:nnx { debug } { enable-debug } - { \tl_to_str:n { \debug_on:n {#1} } } + \sys_load_debug: + \debug_on:n {#1} } \cs_set_protected:Npn \debug_off:n #1 { - \msg_error:nnx { debug } { enable-debug } - { \tl_to_str:n { \debug_off:n {#1} } } + \sys_load_debug: + \debug_off:n {#1} } \cs_set_protected:Npn \debug_suspend: { } \cs_set_protected:Npn \debug_resume: { } @@ -1755,6 +1755,8 @@ Type H <return> for immediate help}\def~{\errmessage{% \cs_set:Npn \__prg_TF_true:w \fi: \use_ii:nn { \fi: \use_i:nn } \cs_set_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 + { \__prg_set_eq_conditional:NNNn \cs_gset_eq:cc } \cs_set_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 @@ -3003,6 +3005,8 @@ Type H <return> for immediate help}\def~{\errmessage{% \__cs_tmp:w { ccx } \__cs_tmp:w { cnx } \__cs_tmp:w { oox } +\cs_generate_variant:Nn \cs_generate_from_arg_count:NNnn { NNno } +\cs_generate_variant:Nn \cs_replacement_spec:N { c } %% File: l3quark.dtx \cs_new_protected:Npn \quark_new:N #1 { @@ -3376,12 +3380,12 @@ Type H <return> for immediate help}\def~{\errmessage{% { \__kernel_tl_gset:Nx #1 { \__kernel_exp_not:w \exp_after:wN {#2} } } \cs_new_protected:Npn \tl_gset:Nx #1#2 { \__kernel_tl_gset:Nx #1 {#2} } -\cs_generate_variant:Nn \tl_set:Nn { NV , Nv , Nf } -\cs_generate_variant:Nn \tl_set:Nn { c, cV , cv , cf } +\cs_generate_variant:Nn \tl_set:Nn { NV , Nv , Ne , Nf } +\cs_generate_variant:Nn \tl_set:Nn { c, cV , cv , ce , cf } \cs_generate_variant:Nn \tl_set:Nx { c } \cs_generate_variant:Nn \tl_set:No { c } -\cs_generate_variant:Nn \tl_gset:Nn { NV , Nv , Nf } -\cs_generate_variant:Nn \tl_gset:Nn { c, cV , cv , cf } +\cs_generate_variant:Nn \tl_gset:Nn { NV , Nv , Ne , Nf } +\cs_generate_variant:Nn \tl_gset:Nn { c, cV , cv , ce , cf } \cs_generate_variant:Nn \tl_gset:Nx { c } \cs_generate_variant:Nn \tl_gset:No { c } \cs_new_protected:Npn \tl_put_left:Nn #1#2 @@ -3488,6 +3492,7 @@ Type H <return> for immediate help}\def~{\errmessage{% \exp_after:wN \__tl_rescan_aux: \l__tl_internal_a_tl } +\cs_generate_variant:Nn \tl_rescan:nn { nV } \exp_args:NNo \cs_new_protected:Npn \__tl_rescan_aux: { \tl_clear:N \l__tl_internal_a_tl } \cs_new_protected:Npn \tl_set_rescan:Nnn @@ -3588,10 +3593,10 @@ Type H <return> for immediate help}\def~{\errmessage{% { \__tl_replace:NnNNNnn \q__tl_mark ? \__tl_replace_next:w \__kernel_tl_set:Nx } \cs_new_protected:Npn \tl_greplace_all:Nnn { \__tl_replace:NnNNNnn \q__tl_mark ? \__tl_replace_next:w \__kernel_tl_gset:Nx } -\cs_generate_variant:Nn \tl_replace_once:Nnn { c } -\cs_generate_variant:Nn \tl_greplace_once:Nnn { c } -\cs_generate_variant:Nn \tl_replace_all:Nnn { c } -\cs_generate_variant:Nn \tl_greplace_all:Nnn { c } +\cs_generate_variant:Nn \tl_replace_once:Nnn { Nxx , c , cxx } +\cs_generate_variant:Nn \tl_greplace_once:Nnn { Nxx , c , cxx } +\cs_generate_variant:Nn \tl_replace_all:Nnn { Nxx , c , cxx } +\cs_generate_variant:Nn \tl_greplace_all:Nnn { Nxx , c , cxx } \cs_new_protected:Npn \__tl_replace:NnNNNnn #1#2#3#4#5#6#7 { \tl_if_empty:nTF {#6} @@ -3652,14 +3657,14 @@ Type H <return> for immediate help}\def~{\errmessage{% { \tl_replace_once:Nnn #1 {#2} { } } \cs_new_protected:Npn \tl_gremove_once:Nn #1#2 { \tl_greplace_once:Nnn #1 {#2} { } } -\cs_generate_variant:Nn \tl_remove_once:Nn { c } -\cs_generate_variant:Nn \tl_gremove_once:Nn { c } +\cs_generate_variant:Nn \tl_remove_once:Nn { Nx , c , cx } +\cs_generate_variant:Nn \tl_gremove_once:Nn { Nx , c , cx } \cs_new_protected:Npn \tl_remove_all:Nn #1#2 { \tl_replace_all:Nnn #1 {#2} { } } \cs_new_protected:Npn \tl_gremove_all:Nn #1#2 { \tl_greplace_all:Nnn #1 {#2} { } } -\cs_generate_variant:Nn \tl_remove_all:Nn { c } -\cs_generate_variant:Nn \tl_gremove_all:Nn { c } +\cs_generate_variant:Nn \tl_remove_all:Nn { Nx , c , cx } +\cs_generate_variant:Nn \tl_gremove_all:Nn { Nx , c , cx } \prg_new_conditional:Npnn \tl_if_empty:N #1 { p , T , F , TF } { \if_meaning:w #1 \c_empty_tl @@ -3704,14 +3709,7 @@ Type H <return> for immediate help}\def~{\errmessage{% } \prg_generate_conditional_variant:Nnn \tl_if_blank:n { e , V , o } { p , T , F , TF } -\prg_new_conditional:Npnn \tl_if_eq:NN #1#2 { p , T , F , TF } - { - \if_meaning:w #1 #2 - \prg_return_true: - \else: - \prg_return_false: - \fi: - } +\prg_new_eq_conditional:NNn \tl_if_eq:NN \cs_if_eq:NN { p , T , F , TF } \prg_generate_conditional_variant:Nnn \tl_if_eq:NN { Nc , c , cc } { p , TF , T , F } \tl_new:N \l__tl_internal_a_tl @@ -3801,39 +3799,6 @@ Type H <return> for immediate help}\def~{\errmessage{% \prg_return_false: \fi: } -\cs_new:Npn \tl_case:Nn #1#2 - { - \exp:w - \__tl_case:NnTF #1 {#2} { } { } - } -\cs_new:Npn \tl_case:NnT #1#2#3 - { - \exp:w - \__tl_case:NnTF #1 {#2} {#3} { } - } -\cs_new:Npn \tl_case:NnF #1#2#3 - { - \exp:w - \__tl_case:NnTF #1 {#2} { } {#3} - } -\cs_new:Npn \tl_case:NnTF #1#2 - { - \exp:w - \__tl_case:NnTF #1 {#2} - } -\cs_new:Npn \__tl_case:NnTF #1#2#3#4 - { \__tl_case:Nw #1 #2 #1 { } \s__tl_mark {#3} \s__tl_mark {#4} \s__tl_stop } -\cs_new:Npn \__tl_case:Nw #1#2#3 - { - \tl_if_eq:NNTF #1 #2 - { \__tl_case_end:nw {#3} } - { \__tl_case:Nw #1 } - } -\cs_generate_variant:Nn \tl_case:Nn { c } -\prg_generate_conditional_variant:Nnn \tl_case:Nn - { c } { T , F , TF } -\cs_new:Npn \__tl_case_end:nw #1#2#3 \s__tl_mark #4#5 \s__tl_stop - { \exp_end: #1 #4 } \cs_new:Npn \tl_map_function:nN #1#2 { \__tl_map_function:Nnnnnnnnn #2 #1 @@ -3909,7 +3874,7 @@ Type H <return> for immediate help}\def~{\errmessage{% { \prg_map_break:Nn \tl_map_break: { } } \cs_new:Npn \tl_map_break:n { \prg_map_break:Nn \tl_map_break: } -\cs_generate_variant:Nn \tl_to_str:n { V , v } +\cs_generate_variant:Nn \tl_to_str:n { o , V , v } \cs_new:Npn \tl_to_str:N #1 { \__kernel_tl_to_str:w \exp_after:wN {#1} } \cs_generate_variant:Nn \tl_to_str:N { c } \cs_new:Npn \tl_use:N #1 @@ -4402,6 +4367,7 @@ Type H <return> for immediate help}\def~{\errmessage{% } \cs_new_protected:Npn \tl_show:n #1 { \iow_wrap:nnnN { >~ \tl_to_str:n {#1} . } { } { } \__tl_show:n } +\cs_generate_variant:Nn \tl_show:n { x } \cs_new_protected:Npn \__tl_show:n #1 { \tl_set:Nf \l__tl_internal_a_tl { \__tl_show:w #1 \s__tl_stop } @@ -4417,6 +4383,7 @@ Type H <return> for immediate help}\def~{\errmessage{% \cs_new:Npn \__tl_show:w #1 > #2 . \s__tl_stop {#2} \cs_new_protected:Npn \tl_log:n #1 { \iow_wrap:nnnN { > ~ \tl_to_str:n {#1} . } { } { } \iow_log:n } +\cs_generate_variant:Nn \tl_log:n { x } \cs_new_protected:Npn \__kernel_chk_tl_type:NnnT #1#2#3#4 { \__kernel_chk_defined:NT #1 @@ -7803,10 +7770,10 @@ Type H <return> for immediate help}\def~{\errmessage{% #2 \l__clist_internal_clist {#4} #1 #3 \l__clist_internal_clist #3 } -\cs_generate_variant:Nn \clist_put_left:Nn { NV , No , Nx } -\cs_generate_variant:Nn \clist_put_left:Nn { c , cV , co , cx } -\cs_generate_variant:Nn \clist_gput_left:Nn { NV , No , Nx } -\cs_generate_variant:Nn \clist_gput_left:Nn { c , cV , co , cx } +\cs_generate_variant:Nn \clist_put_left:Nn { NV , Nv , No , Nx } +\cs_generate_variant:Nn \clist_put_left:Nn { c , cV , cv , co , cx } +\cs_generate_variant:Nn \clist_gput_left:Nn { NV , Nv , No , Nx } +\cs_generate_variant:Nn \clist_gput_left:Nn { c , cV , cv , co , cx } \cs_new_protected:Npn \clist_put_right:Nn { \__clist_put_right:NNNn \clist_concat:NNN \clist_set:Nn } \cs_new_protected:Npn \clist_gput_right:Nn @@ -7816,10 +7783,10 @@ Type H <return> for immediate help}\def~{\errmessage{% #2 \l__clist_internal_clist {#4} #1 #3 #3 \l__clist_internal_clist } -\cs_generate_variant:Nn \clist_put_right:Nn { NV , No , Nx } -\cs_generate_variant:Nn \clist_put_right:Nn { c , cV , co , cx } -\cs_generate_variant:Nn \clist_gput_right:Nn { NV , No , Nx } -\cs_generate_variant:Nn \clist_gput_right:Nn { c , cV , co , cx } +\cs_generate_variant:Nn \clist_put_right:Nn { NV , Nv , No , Nx } +\cs_generate_variant:Nn \clist_put_right:Nn { c , cV , cv , co , cx } +\cs_generate_variant:Nn \clist_gput_right:Nn { NV , Nv , No , Nx } +\cs_generate_variant:Nn \clist_gput_right:Nn { c , cV , cv , co , cx } \cs_new_protected:Npn \clist_get:NN #1#2 { \if_meaning:w #1 \c_empty_clist @@ -8777,11 +8744,8 @@ Type H <return> for immediate help}\def~{\errmessage{% \if_catcode:w \exp_not:N #1 \c_catcode_active_tl \prg_return_true: \else: \prg_return_false: \fi: } -\prg_new_conditional:Npnn \token_if_eq_meaning:NN #1#2 { p , T , F , TF } - { - \if_meaning:w #1 #2 - \prg_return_true: \else: \prg_return_false: \fi: - } +\prg_new_eq_conditional:NNn \token_if_eq_meaning:NN \cs_if_eq:NN + { p , T , F , TF } \prg_new_conditional:Npnn \token_if_eq_catcode:NN #1#2 { p , T , F , TF } { \if_catcode:w \exp_not:N #1 \exp_not:N #2 @@ -9433,13 +9397,13 @@ Type H <return> for immediate help}\def~{\errmessage{% { #1 #2 { \exp_not:o {#2} \l__prop_internal_tl } } } \cs_generate_variant:Nn \prop_put:Nnn - { NnV , Nno , Nnx , NV , NVV , NVx , Nvx , No , Noo , Nxx } + { NnV , Nno , Nne , Nnx , NV , NVV , NVx , Nvx , No , Noo , Nxx } \cs_generate_variant:Nn \prop_put:Nnn - { c , cnV , cno , cnx , cV , cVV , cVx , cvx , co , coo , cxx } + { c , cnV , cno , cne , cnx , cV , cVV , cVx , cvx , co , coo , cxx } \cs_generate_variant:Nn \prop_gput:Nnn - { NnV , Nno , Nnx , NV , NVV , NVx , Nvx , No , Noo , Nxx } + { NnV , Nno , Nne , Nnx , NV , NVV , NVx , Nvx , No , Noo , Nxx } \cs_generate_variant:Nn \prop_gput:Nnn - { c , cnV , cno , cnx , cV , cVV , cVx , cvx , co , coo , cxx } + { c , cnV , cno , cne , cnx , cV , cVV , cVx , cvx , co , coo , cxx } \cs_new_protected:Npn \prop_put_if_new:Nnn { \__prop_put_if_new:NNnn \__kernel_tl_set:Nx } \cs_new_protected:Npn \prop_gput_if_new:Nnn @@ -10405,15 +10369,6 @@ Type H <return> for immediate help}\def~{\errmessage{% should~be~a~clist~variable,~but~it~includes~empty~or~blank~items~ without~braces. } -\msg_new:nnnn { debug } { enable-debug } - { To~use~'#1'~set~the~'enable-debug'~option. } - { - The~function~'#1'~will~be~ignored~because~it~can~only~work~if~ - some~internal~functions~in~expl3~have~been~appropriately~ - defined.~This~only~happens~if~one~of~the~options~ - 'enable-debug',~'check-declarations'~or~'log-functions'~was~ - given~as~an~option:~see~the~main~expl3~documentation. - } \msg_new:nnn { kernel } { bad-exp-end-f } { Misused~\exp_end_continue_f:w or~:nw } \msg_new:nnn { kernel } { bad-variable } @@ -10601,7 +10556,7 @@ Type H <return> for immediate help}\def~{\errmessage{% { \sys_if_shell:TF { \exp_args:No \__ior_shell_open:nN { \tl_to_str:n {#2} } #1 } - { \msg_error:nn { ior } { pipe-failed } } + { \msg_error:nn { kernel } { pipe-failed } } } \cs_new_protected:Npn \__ior_shell_open:nN #1#2 { @@ -10612,7 +10567,7 @@ Type H <return> for immediate help}\def~{\errmessage{% } { \__kernel_ior_open:Nn #2 { |#1 } } } -\msg_new:nnnn { ior } { pipe-failed } +\msg_new:nnnn { kernel } { pipe-failed } { Cannot~run~piped~system~commands. } { LaTeX~tried~to~call~a~system~process~but~this~was~not~possible.\\ @@ -10840,6 +10795,21 @@ Type H <return> for immediate help}\def~{\errmessage{% #1 \__kernel_file_name_quote:n {#2} \scan_stop: } \cs_generate_variant:Nn \__iow_open_stream:Nn { NV } +\cs_new_protected:Npn \iow_shell_open:Nn #1#2 + { + \sys_if_shell:TF + { \exp_args:No \__iow_shell_open:nN { \tl_to_str:n {#2} } #1 } + { \msg_error:nn { kernel } { pipe-failed } } + } +\cs_new_protected:Npn \__iow_shell_open:nN #1#2 + { + \tl_if_in:nnTF {#1} { " } + { + \msg_error:nnx + { kernel } { quote-in-shell } {#1} + } + { \__kernel_iow_open:Nn #2 { |#1 } } + } \cs_new_protected:Npn \iow_close:N #1 { \int_compare:nT { \c_log_iow < #1 < \c_term_iow } @@ -11435,18 +11405,35 @@ Type H <return> for immediate help}\def~{\errmessage{% \tl_if_blank:nTF {#2} { \seq_map_tokens:Nn \l_file_search_path_seq - { \__file_full_name_aux:Nnnn \seq_map_break:n {#1} { / } } + { \__file_full_name_aux:Nnn \seq_map_break:n {#1} } \cs_if_exist:NT \input@path { \tl_map_tokens:Nn \input@path - { \__file_full_name_aux:Nnnn \tl_map_break:n {#1} { } } + { \__file_full_name_aux:Nnn \tl_map_break:n {#1} } } \__file_name_end: } { \__file_ext_check:nn {#1} {#2} } } -\cs_new:Npn \__file_full_name_aux:Nnnn #1#2#3#4 - { \exp_args:Ne \__file_full_name_aux:nN { \tl_to_str:n {#4} #3 #2 } #1 } +\cs_new:Npn \__file_full_name_aux:Nnn #1#2#3 + { + \exp_args:Ne \__file_full_name_aux:nN + { + \exp_args:Ne \__file_full_name_slash:n + { \tl_to_str:n {#3} } #2 + } + #1 + } +\cs_new:Npn \__file_full_name_slash:n #1 + { + \__file_full_name_slash:nw {#1} #1 \q_nil / \q_nil / \q_nil \q_stop + } +\cs_new:Npn \__file_full_name_slash:nw #1#2 / \q_nil / #3 \q_stop + { + \quark_if_nil:nTF {#3} + { #1 / } + { #2 / } + } \cs_new:Npn \__file_full_name_aux:nN #1 { \exp_args:Nne \__file_full_name_aux:nnN {#1} { \__file_full_name_aux:n {#1} } } \cs_new:Npn \__file_full_name_aux:nnN #1 #2 #3 @@ -11746,6 +11733,24 @@ Type H <return> for immediate help}\def~{\errmessage{% \str_gset:Nn \g_file_curr_name_str {#2} \str_gset:Nn \g_file_curr_ext_str {#3} } +\cs_new:Npn \file_input_raw:n #1 + { \exp_args:Ne \__file_input_raw:nn { \file_full_name:n {#1} } {#1} } +\cs_new:Npx \__file_input_raw:nn #1#2 + { + \exp_not:N \tl_if_blank:nTF {#1} + { + \exp_not:N \exp_args:Nnne \exp_not:N \msg_expandable_error:nnn + { kernel } { file-not-found } + { \exp_not:N \__kernel_file_name_sanitize:n {#2} } + } + { + \exp_not:N \tex_input:D + \sys_if_engine_luatex:TF + { {#1} } + { \exp_not:N \__kernel_file_name_quote:n {#1} \scan_stop: } + } + } +\exp_args_generate:n { nne } \cs_new:Npn \file_parse_full_name:n #1 { \file_parse_full_name_apply:nN {#1} @@ -12384,12 +12389,12 @@ Type H <return> for immediate help}\def~{\errmessage{% \token_if_eq_charcode:NNTF #1 - { \exp_after:wN \exp_after:wN \exp_after:wN \__dim_get_remainder:w - \int_eval:w ( 2 * #2 - #3 ) / ( 2 * #3 ) ; + \int_eval:n { ( 2 * #2 - #3 ) / ( 2 * #3 ) } ; #2 ; #3 ; - ; } { \exp_after:wN \exp_after:wN \exp_after:wN \__dim_get_remainder:w - \int_eval:w ( 2 * #1#2 - #3 ) / ( 2 * #3 ) ; + \int_eval:n { ( 2 * #1#2 - #3 ) / ( 2 * #3 ) } ; #1#2 ; #3 ; ; } } @@ -12397,13 +12402,13 @@ Type H <return> for immediate help}\def~{\errmessage{% \cs_new:Npn \__dim_get_remainder:w #1;#2;#3; { \exp_after:wN \exp_after:wN \exp_after:wN \__dim_convert_remainder:w - \int_eval:w #2 - #1 * #3 ; + \int_eval:n { #2 - #1 * #3 } ; #3 ; #1 ; } \cs_new:Npn \__dim_convert_remainder:w #1;#2; { \exp_after:wN \exp_after:wN \exp_after:wN \__dim_test_candidate:w - \int_eval:w #1 * 65536 / #2 ; + \int_eval:n { #1 * 65536 / #2 } ; #1 ; #2 ; } \cs_new:Npn \__dim_test_candidate:w #1;#2;#3; @@ -12412,8 +12417,7 @@ Type H <return> for immediate help}\def~{\errmessage{% { \dim_to_decimal:n { #1sp } \__dim_eval:w #3sp \__dim_eval_end: } { \__dim_parse_decimal:w #1 ; } { - \exp_after:wN \__dim_parse_decimal:w - \int_eval:w #1 + 1 ; + \__dim_parse_decimal:w \int_eval:n { #1 + 1 } ; } } \cs_new:Npn \__dim_parse_decimal:w #1;#2;#3; @@ -13081,7 +13085,8 @@ Type H <return> for immediate help}\def~{\errmessage{% \l_keys_path_str \s__keys_stop \l_keys_key_tl \l_keys_key_str \tl_set_eq:NN \l_keys_key_tl \l_keys_key_str - \__keys_execute:nn \l_keys_path_str {#1} + \tl_set:Nn \l_keys_value_tl {#1} + \__keys_execute:no \l_keys_path_str \l_keys_value_tl } } } @@ -13456,7 +13461,7 @@ Type H <return> for immediate help}\def~{\errmessage{% { \exp_not:o \l__keys_relative_tl } } } -\cs_generate_variant:Nn \keys_set:nn { nV , nv , no } +\cs_generate_variant:Nn \keys_set:nn { nV , nv , no , nx } \cs_new_protected:Npn \__keys_set:nn #1#2 { \exp_args:No \__keys_set:nnn \l__keys_module_str {#1} {#2} } \cs_new_protected:Npn \__keys_set:nnn #1#2#3 @@ -20690,6 +20695,12 @@ Type H <return> for immediate help}\def~{\errmessage{% } } \cs_generate_variant:Nn \cctab_gset:Nn { c } +\cs_new_protected:Npn \cctab_gsave_current:N #1 + { + \__cctab_chk_if_valid:NT #1 + { \__cctab_gset:n {#1} } + } +\cs_generate_variant:Nn \cctab_gsave_current:N { c } \sys_if_engine_luatex:T { \__cctab_new:N \g__cctab_internal_cctab @@ -20949,6 +20960,8 @@ Type H <return> for immediate help}\def~{\errmessage{% \char_set_catcode_active:n { 126 } } } +\cctab_new:N \g_tmpa_cctab +\cctab_new:N \g_tmpb_cctab \msg_new:nnnn { cctab } { stack-full } { The~category~code~table~stack~is~exhausted. } { @@ -35642,6 +35655,17 @@ Type H <return> for immediate help}\def~{\errmessage{% \__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_titlecase:nn } \cs_gset:Npn \tl_mixed_case:nn #1#2 { \text_titlecase:nn {#1} {#2} } +\__kernel_patch_deprecation:nnNNpn { 2022-05-23 } { \token_case_meaning:Nn } +\cs_gset: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 } +\__kernel_patch_deprecation:nnNNpn { 2022-05-23 } { \token_case_meaning:NnF } +\cs_gset: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_generate_variant:Nn \tl_case:Nn { c } +\prg_generate_conditional_variant:Nnn \tl_case:Nn + { c } { T , F , TF } \__kernel_patch_deprecation:nnNNpn { 2022-10-09 } { [ \codepoint_generate:n ] } \cs_gset:Npn \char_to_utfviii_bytes:n { \__kernel_codepoint_to_bytes:n } \__kernel_patch_deprecation:nnNNpn { 2022-10-09 } { \codepoint_to_nfd:n } diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex index e70248e7ee6..80c60e571c3 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx -\def\ExplFileDate{2023-05-22}% +\def\ExplFileDate{2023-06-05}% \let\ExplLoaderFileDate\ExplFileDate \begingroup \catcode`\_=11 diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx index 6db890f6e90..8b7ed14e8f7 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx -\def\ExplFileDate{2023-05-22}% +\def\ExplFileDate{2023-06-05}% \let\ExplLoaderFileDate\ExplFileDate \begingroup \catcode`\_=11 @@ -90,19 +90,28 @@ backend .choices:nn = { dvipdfmx , dvips , dvisvgm , luatex , pdftex , pdfmode , xdvipdfmx , xetex } { \sys_load_backend:n {#1} } , - check-declarations .code:n = + check-declarations .choice: , + check-declarations / true .code:n = + { \debug_on:n { check-declarations } } , + check-declarations / false .code:n = { - \sys_load_debug: - \debug_on:n { check-declarations } + \__kernel_if_debug:TF + { \debug_off:n { check-declarations } } + { } } , + check-declarations .default:n = true , driver .meta:n = { backend = #1 } , - enable-debug .code:n = - \sys_load_debug: , - log-functions .code:n = + enable-debug .code:n = {} , % A stub + log-functions .choice: , + log-functions / true .code:n = + { \debug_on:n { log-functions } } , + log-functions / false .code:n = { - \sys_load_debug: - \debug_on:n { log-functions } + \__kernel_if_debug:TF + { \debug_off:n { log-functions } } + { } } , + log-functions .default:n = true , suppress-backend-headers .bool_gset_inverse:N = \g__kernel_backend_header_bool , suppress-backend-headers .initial:n = false , diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty index d89673f8b43..41c154b892d 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx -\def\ExplFileDate{2023-05-22}% +\def\ExplFileDate{2023-06-05}% \let\ExplLoaderFileDate\ExplFileDate \ProvidesPackage{expl3} [% @@ -107,19 +107,28 @@ backend .choices:nn = { dvipdfmx , dvips , dvisvgm , luatex , pdftex , pdfmode , xdvipdfmx , xetex } { \sys_load_backend:n {#1} } , - check-declarations .code:n = + check-declarations .choice: , + check-declarations / true .code:n = + { \debug_on:n { check-declarations } } , + check-declarations / false .code:n = { - \sys_load_debug: - \debug_on:n { check-declarations } + \__kernel_if_debug:TF + { \debug_off:n { check-declarations } } + { } } , + check-declarations .default:n = true , driver .meta:n = { backend = #1 } , - enable-debug .code:n = - \sys_load_debug: , - log-functions .code:n = + enable-debug .code:n = {} , % A stub + log-functions .choice: , + log-functions / true .code:n = + { \debug_on:n { log-functions } } , + log-functions / false .code:n = { - \sys_load_debug: - \debug_on:n { log-functions } + \__kernel_if_debug:TF + { \debug_off:n { log-functions } } + { } } , + log-functions .default:n = true , suppress-backend-headers .bool_gset_inverse:N = \g__kernel_backend_header_bool , suppress-backend-headers .initial:n = false , diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls index 6fa637596d2..f35d1f13003 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls +++ b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls @@ -1607,7 +1607,7 @@ \seq_set_map:NNn \l__codedoc_tmpa_seq \g__codedoc_nested_names_seq { \__codedoc_macro_end_wrap_item:n {##1} } - End~ definition~ for~ + End~ of~ definition~ for~ \int_compare:nTF { \seq_count:N \l__codedoc_tmpa_seq <= 3 } { \seq_use:Nnnn \l__codedoc_tmpa_seq |