diff options
author | Norbert Preining <norbert@preining.info> | 2023-10-11 03:02:59 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2023-10-11 03:02:59 +0000 |
commit | 366cf31a771ded1f10860be3212058d48020398d (patch) | |
tree | 99ee483a9fd05dfd4ec908582abb44028bdffbd1 /macros/latex/contrib/l3kernel/l3candidates.dtx | |
parent | 48eedda2cb4d2644886b862409b24a1d8e9a136f (diff) |
CTAN sync 202310110302
Diffstat (limited to 'macros/latex/contrib/l3kernel/l3candidates.dtx')
-rw-r--r-- | macros/latex/contrib/l3kernel/l3candidates.dtx | 69 |
1 files changed, 31 insertions, 38 deletions
diff --git a/macros/latex/contrib/l3kernel/l3candidates.dtx b/macros/latex/contrib/l3kernel/l3candidates.dtx index f3a5021425..6e455b099c 100644 --- a/macros/latex/contrib/l3kernel/l3candidates.dtx +++ b/macros/latex/contrib/l3kernel/l3candidates.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-08-29} +% \date{Released 2023-10-10} % % \maketitle % @@ -129,10 +129,10 @@ % % \begin{function}[added = 2018-04-01] % { -% \tl_build_put_left:Nn, \tl_build_put_left:Nx, -% \tl_build_gput_left:Nn, \tl_build_gput_left:Nx, -% \tl_build_put_right:Nn, \tl_build_put_right:Nx, -% \tl_build_gput_right:Nn, \tl_build_gput_right:Nx, +% \tl_build_put_left:Nn, \tl_build_put_left:Ne, +% \tl_build_gput_left:Nn, \tl_build_gput_left:Ne, +% \tl_build_put_right:Nn, \tl_build_put_right:Ne, +% \tl_build_gput_right:Nn, \tl_build_gput_right:Ne % } % \begin{syntax} % \cs{tl_build_put_left:Nn} \meta{tl~var} \Arg{tokens} @@ -198,9 +198,9 @@ % hence in the \texttt{x}-expanding assignment. % \begin{macrocode} \cs_new_protected:Npn \seq_set_filter:NNn - { \@@_set_filter:NNNn \__kernel_tl_set:Nx } + { \@@_set_filter:NNNn \__kernel_tl_set:Ne } \cs_new_protected:Npn \seq_gset_filter:NNn - { \@@_set_filter:NNNn \__kernel_tl_gset:Nx } + { \@@_set_filter:NNNn \__kernel_tl_gset:Ne } \cs_new_protected:Npn \@@_set_filter:NNNn #1#2#3#4 { \@@_push_item_def:n { \bool_if:nT {#4} { \@@_wrap_item:n {##1} } } @@ -231,8 +231,8 @@ % name is that of \meta{tl~var} followed by~|'|. There are between $0$ % and $4$ \cs{exp_end:} to keep track of when \meta{left} and % \meta{right} should be put into the \meta{next~tl}. The -% \meta{assignment} is \cs{cs_set_nopar:Npx} if the variable is local, -% and \cs{cs_gset_nopar:Npx} if it is global. +% \meta{assignment} is \cs{cs_set_nopar:Npe} if the variable is local, +% and \cs{cs_gset_nopar:Npe} if it is global. % % \begin{macro}{\tl_build_begin:N, \tl_build_gbegin:N} % \begin{macro}{\@@_build_begin:NN, \@@_build_begin:NNN} @@ -241,7 +241,7 @@ % derived from |#1| without any external data such as a counter. % Empty that \meta{next~tl} and setup the structure. The local and % global versions only differ by a single function -% \cs[no-index]{cs_(g)set_nopar:Npx} used for all assignments: this is +% \cs[no-index]{cs_(g)set_nopar:Npe} used for all assignments: this is % important because only that function is stored in the \meta{tl~var} % and \meta{next~tl} for subsequent assignments. In principle % \cs{@@_build_begin:NNN} could use \cs[no-index]{tl_(g)clear_new:N} @@ -250,9 +250,9 @@ % clear it locally or globally as appropriate. % \begin{macrocode} \cs_new_protected:Npn \tl_build_begin:N #1 - { \@@_build_begin:NN \cs_set_nopar:Npx #1 } + { \@@_build_begin:NN \cs_set_nopar:Npe #1 } \cs_new_protected:Npn \tl_build_gbegin:N #1 - { \@@_build_begin:NN \cs_gset_nopar:Npx #1 } + { \@@_build_begin:NN \cs_gset_nopar:Npe #1 } \cs_new_protected:Npn \@@_build_begin:NN #1#2 { \exp_args:Nc \@@_build_begin:NNN { \cs_to_str:N #2 ' } #2 #1 } \cs_new_protected:Npn \@@_build_begin:NNN #1#2#3 @@ -283,8 +283,8 @@ % % \begin{macro} % { -% \tl_build_put_right:Nn, \tl_build_put_right:Nx, -% \tl_build_gput_right:Nn, \tl_build_gput_right:Nx, +% \tl_build_put_right:Nn, \tl_build_put_right:Ne, \tl_build_put_right:Nx, +% \tl_build_gput_right:Nn, \tl_build_gput_right:Ne, \tl_build_gput_right:Nx, % \@@_build_last:NNn, \@@_build_put:nn, \@@_build_put:nw % } % Similar to \cs{tl_put_right:Nn}, but apply \cs{exp:w} to |#1|. Most @@ -299,32 +299,24 @@ % place without ever becoming a macro argument). We use % \cs{exp_after:wN} rather than some \cs{exp_args:No} to avoid reading % arguments that are likely very long token lists. We use -% \cs[no-index]{cs_(g)set_nopar:Npx} rather than -% \cs[no-index]{tl_(g)set:Nx} partly for the same reason and partly +% \cs[no-index]{cs_(g)set_nopar:Npe} rather than +% \cs[no-index]{tl_(g)set:Ne} partly for the same reason and partly % because the assignments are interrupted by brace tricks, which % implies that the assignment does not simply set the token list to an % |x|-expansion of the second argument. % \begin{macrocode} \cs_new_protected:Npn \tl_build_put_right:Nn #1#2 { - \cs_set_nopar:Npx #1 + \cs_set_nopar:Npe #1 { \exp_after:wN \exp_not:n \exp_after:wN { \exp:w #1 #2 } } } -\cs_new_protected:Npn \tl_build_put_right:Nx #1#2 - { - \cs_set_nopar:Npx #1 - { \exp_after:wN \exp_not:n \exp_after:wN { \exp:w #1 } #2 } - } +\cs_generate_variant:Nn \tl_build_put_right:Nn { Ne , Nx } \cs_new_protected:Npn \tl_build_gput_right:Nn #1#2 { - \cs_gset_nopar:Npx #1 + \cs_gset_nopar:Npe #1 { \exp_after:wN \exp_not:n \exp_after:wN { \exp:w #1 #2 } } } -\cs_new_protected:Npn \tl_build_gput_right:Nx #1#2 - { - \cs_gset_nopar:Npx #1 - { \exp_after:wN \exp_not:n \exp_after:wN { \exp:w #1 } #2 } - } +\cs_generate_variant:Nn \tl_build_gput_right:Nn { Ne , Nx } \cs_new_protected:Npn \@@_build_last:NNn #1#2 { \if_false: { { \fi: @@ -350,8 +342,9 @@ % % \begin{macro} % { -% \tl_build_put_left:Nn, \tl_build_put_left:Nx, -% \tl_build_gput_left:Nn, \tl_build_gput_left:Nx, \@@_build_put_left:NNn +% \tl_build_put_left:Nn, \tl_build_put_left:Ne, \tl_build_put_left:Nx, +% \tl_build_gput_left:Nn, \tl_build_gput_left:Ne, \tl_build_gput_left:Nx, +% \@@_build_put_left:NNn % } % See \cs{tl_build_put_right:Nn} for all the machinery. We could % easily provide \cs[no-index]{tl_build_put_left_right:Nnn}, by just @@ -359,11 +352,11 @@ % |x|-expanding assignment. % \begin{macrocode} \cs_new_protected:Npn \tl_build_put_left:Nn #1 - { \@@_build_put_left:NNn \cs_set_nopar:Npx #1 } -\cs_generate_variant:Nn \tl_build_put_left:Nn { Nx } + { \@@_build_put_left:NNn \cs_set_nopar:Npe #1 } +\cs_generate_variant:Nn \tl_build_put_left:Nn { Ne , Nx } \cs_new_protected:Npn \tl_build_gput_left:Nn #1 - { \@@_build_put_left:NNn \cs_gset_nopar:Npx #1 } -\cs_generate_variant:Nn \tl_build_gput_left:Nn { Nx } + { \@@_build_put_left:NNn \cs_gset_nopar:Npe #1 } +\cs_generate_variant:Nn \tl_build_gput_left:Nn { Ne , Nx } \cs_new_protected:Npn \@@_build_put_left:NNn #1#2#3 { #1 #2 @@ -389,7 +382,7 @@ % trick to wrap all the \meta{right} parts together. % \begin{macrocode} \cs_new_protected:Npn \tl_build_get:NN - { \@@_build_get:NNN \__kernel_tl_set:Nx } + { \@@_build_get:NNN \__kernel_tl_set:Ne } \cs_new_protected:Npn \@@_build_get:NNN #1#2#3 { #1 #3 { \if_false: { \fi: \exp_after:wN \@@_build_get:w #2 } } } \cs_new:Npn \@@_build_get:w #1 \@@_build_last:NNn #2#3#4 @@ -410,16 +403,16 @@ % Get the data then clear the \meta{next~tl} recursively until finding % an empty one. It is perhaps wasteful to repeatedly use % \cs{cs_to_str:N}. The local/global scope is checked by -% \cs{tl_set:Nx} or \cs{tl_gset:Nx}. +% \cs{tl_set:Ne} or \cs{tl_gset:Ne}. % \begin{macrocode} \cs_new_protected:Npn \tl_build_end:N #1 { - \@@_build_get:NNN \__kernel_tl_set:Nx #1 #1 + \@@_build_get:NNN \__kernel_tl_set:Ne #1 #1 \exp_args:Nc \@@_build_end_loop:NN { \cs_to_str:N #1 ' } \tl_clear:N } \cs_new_protected:Npn \tl_build_gend:N #1 { - \@@_build_get:NNN \__kernel_tl_gset:Nx #1 #1 + \@@_build_get:NNN \__kernel_tl_gset:Ne #1 #1 \exp_args:Nc \@@_build_end_loop:NN { \cs_to_str:N #1 ' } \tl_gclear:N } \cs_new_protected:Npn \@@_build_end_loop:NN #1#2 |