summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex-dev/l3kernel/l3fp-parse.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex-dev/l3kernel/l3fp-parse.dtx')
-rw-r--r--Master/texmf-dist/source/latex-dev/l3kernel/l3fp-parse.dtx169
1 files changed, 85 insertions, 84 deletions
diff --git a/Master/texmf-dist/source/latex-dev/l3kernel/l3fp-parse.dtx b/Master/texmf-dist/source/latex-dev/l3kernel/l3fp-parse.dtx
index 66459badb08..b7fb52e7fdb 100644
--- a/Master/texmf-dist/source/latex-dev/l3kernel/l3fp-parse.dtx
+++ b/Master/texmf-dist/source/latex-dev/l3kernel/l3fp-parse.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2025-01-14}
+% \date{Released 2025-01-18}
%
% \maketitle
%
@@ -71,7 +71,7 @@
%
% In this file at least, a \meta{floating point object} is a floating
% point number or tuple. This can be extended to anything that starts
-% with \cs{s_@@} or \cs{s_@@_\meta{type}} and ends with |;| with some
+% with \cs{s_@@} or \cs{s_@@_\meta{type}} and ends with \cs{@@_sep:} with some
% internal structure that depends on the \meta{type}.
%
% \begin{macro}[EXP]{\@@_parse:n}
@@ -215,12 +215,12 @@
% |\add:ww| 12345 ; 333444 ;
% \end{syntax}
% which can safely perform the addition by grabbing two arguments
-% delimited by~|;|.
+% delimited by~\cs{@@_sep:}.
%
% If we were to continue parsing the expression, then the following
% number should also be cleaned up before the next use of a binary
% operation such as |\add:ww|. Just like \cs{int_value:w} |12345|
-% \cs{exp_after:wN}~|;| expanded what follows once, we need |\add:ww|
+% \cs{exp_after:wN}~\cs{@@_sep:} expanded what follows once, we need |\add:ww|
% to do the calculation, and in the process to expand the following
% once. This is also true in our real application: all the functions of
% the form \cs[no-index]{@@_\ldots_o:ww} expand what follows once. This comes at the
@@ -643,7 +643,7 @@
% expansion. That turns out to be useful.
% \begin{macrocode}
\cs_new:Npn \@@_parse_return_semicolon:w
- #1 \fi: \@@_parse_expand:w { \fi: ; #1 }
+ #1 \fi: \@@_parse_expand:w { \fi: \@@_sep: #1 }
% \end{macrocode}
% \end{macro}
%
@@ -665,7 +665,7 @@
% stream, until meeting a non-digit, or up to a number of digits equal
% to their index. The full expansion is
% \begin{syntax}
-% \meta{digits} |;| \meta{filling 0} |;| \meta{length}
+% \meta{digits} \cs{@@_sep:} \meta{filling 0} \cs{@@_sep:} \meta{length}
% \end{syntax}
% where \meta{filling 0} is a string of zeros such that \meta{digits}
% \meta{filling 0} has the length given by the index of the function,
@@ -687,14 +687,14 @@
\@@_parse_expand:w
}
}
-\@@_tmp:w {vii} \@@_parse_digits_vi:N { 0000000 ; 7 }
-\@@_tmp:w {vi} \@@_parse_digits_v:N { 000000 ; 6 }
-\@@_tmp:w {v} \@@_parse_digits_iv:N { 00000 ; 5 }
-\@@_tmp:w {iv} \@@_parse_digits_iii:N { 0000 ; 4 }
-\@@_tmp:w {iii} \@@_parse_digits_ii:N { 000 ; 3 }
-\@@_tmp:w {ii} \@@_parse_digits_i:N { 00 ; 2 }
-\@@_tmp:w {i} \@@_parse_digits_:N { 0 ; 1 }
-\cs_new:Npn \@@_parse_digits_:N { ; ; 0 }
+\@@_tmp:w {vii} \@@_parse_digits_vi:N { 0000000 \@@_sep: 7 }
+\@@_tmp:w {vi} \@@_parse_digits_v:N { 000000 \@@_sep: 6 }
+\@@_tmp:w {v} \@@_parse_digits_iv:N { 00000 \@@_sep: 5 }
+\@@_tmp:w {iv} \@@_parse_digits_iii:N { 0000 \@@_sep: 4 }
+\@@_tmp:w {iii} \@@_parse_digits_ii:N { 000 \@@_sep: 3 }
+\@@_tmp:w {ii} \@@_parse_digits_i:N { 00 \@@_sep: 2 }
+\@@_tmp:w {i} \@@_parse_digits_:N { 0 \@@_sep: 1 }
+\cs_new:Npn \@@_parse_digits_:N { \@@_sep: \@@_sep: 0 }
% \end{macrocode}
% \end{macro}
%
@@ -874,26 +874,26 @@
\exp_after:wN \@@_parse_one_register_auxii:wwwNw
}
\exp_not:N \exp_after:wN { \exp_not:N \tex_the:D #1 }
- ; \exp_not:N \@@_parse_one_register_dim:ww
- \tl_to_str:n { pt } ; \exp_not:N \@@_parse_one_register_mu:www
- . \tl_to_str:n { pt } ; \exp_not:N \@@_parse_one_register_int:www
+ \@@_sep: \exp_not:N \@@_parse_one_register_dim:ww
+ \tl_to_str:n { pt } \@@_sep: \exp_not:N \@@_parse_one_register_mu:www
+ . \tl_to_str:n { pt } \@@_sep: \exp_not:N \@@_parse_one_register_int:www
\s_@@_stop
}
\exp_args:Nno \use:nn
{ \cs_new:Npn \@@_parse_one_register_auxii:wwwNw #1 . #2 }
- { \tl_to_str:n { pt } #3 ; #4#5 \s_@@_stop }
- { #4 #1.#2; }
+ { \tl_to_str:n { pt } #3 \@@_sep: #4#5 \s_@@_stop }
+ { #4 #1.#2\@@_sep: }
\exp_args:Nno \use:nn
{ \cs_new:Npn \@@_parse_one_register_mu:www #1 }
- { \tl_to_str:n { mu } ; #2 ; }
- { \@@_parse_one_register_dim:ww #1 ; }
-\cs_new:Npn \@@_parse_one_register_int:www #1; #2.; #3;
+ { \tl_to_str:n { mu } \@@_sep: #2 \@@_sep: }
+ { \@@_parse_one_register_dim:ww #1 \@@_sep: }
+\cs_new:Npn \@@_parse_one_register_int:www #1\@@_sep: #2.\@@_sep: #3\@@_sep:
{ \@@_parse:n { #1 e #3 } }
-\cs_new:Npn \@@_parse_one_register_dim:ww #1; #2;
+\cs_new:Npn \@@_parse_one_register_dim:ww #1\@@_sep: #2\@@_sep:
{
\exp_after:wN \@@_from_dim_test:ww
\int_value:w #2 \exp_after:wN ,
- \int_value:w \dim_to_decimal_in_sp:n { #1 pt } ;
+ \int_value:w \dim_to_decimal_in_sp:n { #1 pt } \@@_sep:
}
% \end{macrocode}
% \end{macro}
@@ -942,11 +942,11 @@
\exp_after:wN \@@_parse_one_register_wd:Nw
#4 \@@_parse_expand:w e
}
-\cs_new:Npn \@@_parse_one_register_wd:Nw #1#2 ;
+\cs_new:Npn \@@_parse_one_register_wd:Nw #1#2 \@@_sep:
{
\exp_after:wN \@@_from_dim_test:ww
\exp_after:wN 0 \exp_after:wN ,
- \int_value:w \dim_to_decimal_in_sp:n { #1 #2 } ;
+ \int_value:w \dim_to_decimal_in_sp:n { #1 #2 } \@@_sep:
}
% \end{macrocode}
% \end{macro}
@@ -1020,7 +1020,7 @@
% mixture of lower and upper case, so we test and use a
% differently-named control sequence.
% \begin{macrocode}
-\cs_new:Npn \@@_parse_word:Nw #1#2;
+\cs_new:Npn \@@_parse_word:Nw #1#2\@@_sep:
{
\cs_if_exist_use:cF { @@_parse_word_#2:N }
{
@@ -1184,7 +1184,7 @@
% \begin{macrocode}
\cs_new:Npn \@@_parse_zero:
{
- \exp_after:wN ; \exp_after:wN 1
+ \exp_after:wN \@@_sep: \exp_after:wN 1
\int_value:w \@@_parse_exponent:N
}
% \end{macrocode}
@@ -1220,7 +1220,7 @@
%
% \begin{macro}[rEXP]{\@@_parse_small_leading:wwNN}
% \begin{syntax}
-% \cs{@@_parse_small_leading:wwNN} |1| \meta{digits} |;| \meta{zeros} |;| \meta{number~of~zeros}
+% \cs{@@_parse_small_leading:wwNN} |1| \meta{digits} \cs{@@_sep:} \meta{zeros} \cs{@@_sep:} \meta{number~of~zeros}
% \end{syntax}
% We leave \meta{digits} \meta{zeros} in the input stream: the
% functions used to grab digits are such that this constitutes digits
@@ -1232,7 +1232,7 @@
% Otherwise put $8$~zeros in to complete the significand, then look
% for an exponent.
% \begin{macrocode}
-\cs_new:Npn \@@_parse_small_leading:wwNN 1 #1 ; #2; #3 #4
+\cs_new:Npn \@@_parse_small_leading:wwNN 1 #1 \@@_sep: #2\@@_sep: #3 #4
{
#1 #2
\exp_after:wN \@@_parse_pack_trailing:NNNNNNww
@@ -1254,7 +1254,7 @@
%
% \begin{macro}[rEXP]{\@@_parse_small_trailing:wwNN}
% \begin{syntax}
-% \cs{@@_parse_small_trailing:wwNN} |1| \meta{digits} |;| \meta{zeros} |;| \meta{number~of~zeros} \meta{next~token}
+% \cs{@@_parse_small_trailing:wwNN} |1| \meta{digits} \cs{@@_sep:} \meta{zeros} \cs{@@_sep:} \meta{number~of~zeros} \meta{next~token}
% \end{syntax}
% Leave digits $10$ to~$15$ (arguments |#1| and |#2|) in the input
% stream. If the \meta{next~token} is a digit, it is the $16$th
@@ -1264,7 +1264,7 @@
% Otherwise, there is no $16$-th digit, so we put a~$0$, and look for
% an exponent.
% \begin{macrocode}
-\cs_new:Npn \@@_parse_small_trailing:wwNN 1 #1 ; #2; #3 #4
+\cs_new:Npn \@@_parse_small_trailing:wwNN 1 #1 \@@_sep: #2\@@_sep: #3 #4
{
#1 #2
\if_int_compare:w 9 < 1 \token_to_str:N #4 \exp_stop_f:
@@ -1301,19 +1301,20 @@
% this is simple because such a carry can only occur to give rise to a
% power of~$10$.
% \begin{macrocode}
-\cs_new:Npn \@@_parse_pack_trailing:NNNNNNww #1 #2 #3#4#5#6 #7; #8 ;
+\cs_new:Npn \@@_parse_pack_trailing:NNNNNNww
+ #1 #2 #3#4#5#6 #7\@@_sep: #8 \@@_sep:
{
\if_meaning:w 2 #2 + 1 \fi:
- ; #8 + #1 ; {#3#4#5#6} {#7};
+ \@@_sep: #8 + #1 \@@_sep: {#3#4#5#6} {#7}\@@_sep:
}
-\cs_new:Npn \@@_parse_pack_leading:NNNNNww #1 #2#3#4#5 #6; #7;
+\cs_new:Npn \@@_parse_pack_leading:NNNNNww #1 #2#3#4#5 #6\@@_sep: #7\@@_sep:
{
+ #7
\if_meaning:w 2 #1 \@@_parse_pack_carry:w \fi:
- ; 0 {#2#3#4#5} {#6}
+ \@@_sep: 0 {#2#3#4#5} {#6}
}
-\cs_new:Npn \@@_parse_pack_carry:w \fi: ; 0 #1
- { \fi: + 1 ; 0 {1000} }
+\cs_new:Npn \@@_parse_pack_carry:w \fi: \@@_sep: 0 #1
+ { \fi: + 1 \@@_sep: 0 {1000} }
% \end{macrocode}
% \end{macro}
%
@@ -1344,7 +1345,7 @@
%
% \begin{macro}[rEXP]{\@@_parse_large_leading:wwNN}
% \begin{syntax}
-% \cs{@@_parse_large_leading:wwNN} |1| \meta{digits} |;| \meta{zeros} |;| \meta{number~of~zeros} \meta{next~token}
+% \cs{@@_parse_large_leading:wwNN} |1| \meta{digits} \cs{@@_sep:} \meta{zeros} \cs{@@_sep:} \meta{number~of~zeros} \meta{next~token}
% \end{syntax}
% We shift the exponent by the number of digits in~|#1|, namely the
% target number, $8$, minus the \meta{number of zeros} (number of
@@ -1357,7 +1358,7 @@
% complete the $8$~first digits, insert $8$~more, and look for an
% exponent.
% \begin{macrocode}
-\cs_new:Npn \@@_parse_large_leading:wwNN 1 #1 ; #2; #3 #4
+\cs_new:Npn \@@_parse_large_leading:wwNN 1 #1 \@@_sep: #2\@@_sep: #3 #4
{
+ \c_@@_half_prec_int - #3
\exp_after:wN \@@_parse_pack_leading:NNNNNww
@@ -1392,7 +1393,7 @@
%
% \begin{macro}[EXP]{\@@_parse_large_trailing:wwNN}
% \begin{syntax}
-% \cs{@@_parse_large_trailing:wwNN} |1| \meta{digits} |;| \meta{zeros} |;| \meta{number~of~zeros} \meta{next~token}
+% \cs{@@_parse_large_trailing:wwNN} |1| \meta{digits} \cs{@@_sep:} \meta{zeros} \cs{@@_sep:} \meta{number~of~zeros} \meta{next~token}
% \end{syntax}
% We have just read $15$~digits. If the \meta{next token} is a digit,
% then the exponent shift caused by this block of $8$~digits is~$8$,
@@ -1408,7 +1409,7 @@
% for an exponent after using the \meta{zeros} and providing a $16$-th
% digit of~$0$.
% \begin{macrocode}
-\cs_new:Npn \@@_parse_large_trailing:wwNN 1 #1 ; #2; #3 #4
+\cs_new:Npn \@@_parse_large_trailing:wwNN 1 #1 \@@_sep: #2\@@_sep: #3 #4
{
\if_int_compare:w 9 < 1 \token_to_str:N #4 \exp_stop_f:
\exp_after:wN \@@_parse_pack_trailing:NNNNNNww
@@ -1488,9 +1489,9 @@
% time, the result |0| or |1| is added to the
% surrounding integer expression.
% \begin{macrocode}
-\cs_new:Npn \@@_parse_round_after:wN #1; #2
+\cs_new:Npn \@@_parse_round_after:wN #1\@@_sep: #2
{
- + #2 \exp_after:wN ;
+ + #2 \exp_after:wN \@@_sep:
\int_value:w \@@_int_eval:w #1 + \@@_parse_exponent:N
}
% \end{macrocode}
@@ -1500,8 +1501,8 @@
% {\@@_parse_small_round:NN, \@@_parse_round_after:wN}
% Here, |#1|~is the digit that we are currently rounding (we only care
% whether it is even or odd). If |#2|~is not a digit, then fetch an
-% exponent and expand to |;|\meta{exponent} only. Otherwise, we
-% expand to |+0| or |+1|, then |;|\meta{exponent}. To
+% exponent and expand to \cs{@@_sep:}\meta{exponent} only. Otherwise, we
+% expand to |+0| or |+1|, then \cs{@@_sep:}\meta{exponent}. To
% decide which, call \cs{@@_round_s:NNNw} to know whether to round up,
% giving it as arguments a sign~$0$ (all explicit numbers are
% positive), the digit |#1|~to round, the first following digit~|#2|,
@@ -1581,7 +1582,7 @@
\fi:
\@@_parse_expand:w
}
-\cs_new:Npn \@@_parse_large_round_aux:wNN #1 ; #2 #3
+\cs_new:Npn \@@_parse_large_round_aux:wNN #1 \@@_sep: #2 #3
{
+ #2
\exp_after:wN \@@_parse_round_after:wN
@@ -1591,7 +1592,7 @@
\exp_after:wN \@@_parse_round_loop:N
\exp:w \exp_after:wN \@@_parse_expand:w
\else:
- \exp_after:wN ;
+ \exp_after:wN \@@_sep:
\exp_after:wN 0
\exp_after:wN #3
\fi:
@@ -1618,7 +1619,7 @@
% two tokens ahead completely would break the third example (unpacking
% is even worse). Indeed, in the course of reading $3.2$, \cs{c_pi_fp}
% is expanded to \cs{s_@@} \cs{@@_chk:w} |1| |0| |{-1}| |{3141}|
-% $\cdots$ |;| and \cs{s_@@} stops the expansion. Expanding two tokens
+% $\cdots$ \cs{@@_sep:} and \cs{s_@@} stops the expansion. Expanding two tokens
% ahead would then force the expansion of \cs{@@_chk:w} (despite it
% being protected), and that function tries to produce an error.
%
@@ -1636,7 +1637,7 @@
% \begin{macrocode}
\cs_new:Npn \@@_parse_exponent:Nw #1 #2 \@@_parse_expand:w
{
- \exp_after:wN ;
+ \exp_after:wN \@@_sep:
\int_value:w #2 \@@_parse_exponent:N #1
}
% \end{macrocode}
@@ -1669,7 +1670,7 @@
{
\if_int_compare:w \if_catcode:w \scan_stop: \exp_not:N #2
0 \else: `#2 \fi: > `9 \exp_stop_f:
- 0 \exp_after:wN ; \exp_after:wN #1
+ 0 \exp_after:wN \@@_sep: \exp_after:wN #1
\else:
\exp_after:wN \@@_parse_exponent_sign:N
\fi:
@@ -1708,7 +1709,7 @@
\@@_parse_exponent_keep:NTF #1
{ \@@_parse_return_semicolon:w #1 }
{
- \exp_after:wN ;
+ \exp_after:wN \@@_sep:
\exp:w
}
\fi:
@@ -1820,7 +1821,7 @@
% \begin{macro}[EXP]{\@@_parse_apply_unary_type:NNN, \@@_parse_apply_unary_error:NNw}
% In contrast to \cs{@@_parse_apply_function:NNNwN}, this checks that
% the operand |#4| is a single argument (namely there is a single
-% |;|). We use the fact that any floating point starts with a
+% \cs{@@_sep:}). We use the fact that any floating point starts with a
% \enquote{safe} token like \cs{s_@@}. If there is no argument
% produce the |fp-no-arg| error; if there are at least two produce
% |fp-multi-arg|. For the error message extract the mathematical
@@ -1834,12 +1835,12 @@
% \begin{macrocode}
\cs_new:Npn \@@_parse_apply_unary:NNNwN #1#2#3#4@#5
{
- \@@_parse_apply_unary_chk:NwNw #4 @ ; . \s_@@_stop
+ \@@_parse_apply_unary_chk:NwNw #4 @ \@@_sep: . \s_@@_stop
\@@_parse_apply_unary_type:NNN
#3 #2 #4 @
\exp:w \exp_end_continue_f:w #5 #1
}
-\cs_new:Npn \@@_parse_apply_unary_chk:NwNw #1#2 ; #3#4 \s_@@_stop
+\cs_new:Npn \@@_parse_apply_unary_chk:NwNw #1#2 \@@_sep: #3#4 \s_@@_stop
{
\if_meaning:w @ #3 \else:
\token_if_eq_meaning:NNTF . #3
@@ -2043,7 +2044,7 @@
\cs_new:cpn { @@_parse_word_#1:N }
{
\@@_exp_after_f:nw { \@@_parse_infix:NN }
- \s_@@ \@@_chk:w 10 #2 ;
+ \s_@@ \@@_chk:w 10 #2 \@@_sep:
}
}
\@@_tmp:w {pt} { {1} {1000} {0000} {0000} {0000} }
@@ -2070,7 +2071,7 @@
{
\exp_after:wN \@@_from_dim_test:ww
\exp_after:wN 0 \exp_after:wN ,
- \int_value:w \dim_to_decimal_in_sp:n { 1 #1 } \exp_after:wN ;
+ \int_value:w \dim_to_decimal_in_sp:n { 1 #1 } \exp_after:wN \@@_sep:
\exp:w \exp_end_continue_f:w \@@_parse_infix:NN
}
}
@@ -2220,7 +2221,7 @@
% according to their types, and expands once after the result.
% The |rev| version swaps its arguments before doing this.
% \begin{macrocode}
-\cs_new:Npn \@@_binary_type_o:Nww #1 #2#3 ; #4
+\cs_new:Npn \@@_binary_type_o:Nww #1 #2#3 \@@_sep: #4
{
\exp_after:wN \@@_parse_apply_binary_chk:NN
\cs:w
@@ -2231,9 +2232,9 @@
_o:ww
\cs_end:
#1
- #2 #3 ; #4
+ #2 #3 \@@_sep: #4
}
-\cs_new:Npn \@@_binary_rev_type_o:Nww #1 #2#3 ; #4#5 ;
+\cs_new:Npn \@@_binary_rev_type_o:Nww #1 #2#3 \@@_sep: #4#5 \@@_sep:
{
\exp_after:wN \@@_parse_apply_binary_chk:NN
\cs:w
@@ -2244,7 +2245,7 @@
_o:ww
\cs_end:
#1
- #4 #5 ; #2 #3 ;
+ #4 #5 \@@_sep: #2 #3 \@@_sep:
}
% \end{macrocode}
% \end{macro}
@@ -2253,10 +2254,10 @@
%
% \begin{macro}[EXP]{\@@_parse_infix_after_operand:NwN}
% \begin{macrocode}
-\cs_new:Npn \@@_parse_infix_after_operand:NwN #1 #2;
+\cs_new:Npn \@@_parse_infix_after_operand:NwN #1 #2\@@_sep:
{
\@@_exp_after_f:nw { \@@_parse_infix:NN #1 }
- #2;
+ #2\@@_sep:
}
\cs_new:Npn \@@_parse_infix:NN #1 #2
{
@@ -2430,7 +2431,7 @@
\exp_after:wN #1
\exp:w \exp_end_continue_f:w
\@@_exp_after_tuple_f:nw { }
- \s_@@_tuple \@@_tuple_chk:w { #2 #4 } ;
+ \s_@@_tuple \@@_tuple_chk:w { #2 #4 } \@@_sep:
#5 #1
}
% \end{macrocode}
@@ -2688,14 +2689,14 @@
\fi:
#1 #8 #9
}
-\cs_new:Npn \@@_parse_apply_compare_aux:NNwN #1 #2 #3; #4
+\cs_new:Npn \@@_parse_apply_compare_aux:NNwN #1 #2 #3\@@_sep: #4
{
\if_meaning:w \@@_parse_compare:NNNNNNN #4
\exp_after:wN \@@_parse_continue_compare:NNwNN
\exp_after:wN #1
\exp_after:wN #2
\exp:w \exp_end_continue_f:w
- \@@_exp_after_o:w #3;
+ \@@_exp_after_o:w #3\@@_sep:
\exp:w \exp_end_continue_f:w
\else:
\exp_after:wN \@@_parse_continue:NwN
@@ -2725,7 +2726,7 @@
{
\@@_error:nffn { bad-args }
{#1}
- { \fp_to_tl:n { \s_@@_tuple \@@_tuple_chk:w {#3} ; } }
+ { \fp_to_tl:n { \s_@@_tuple \@@_tuple_chk:w {#3} \@@_sep: } }
{ }
\exp_after:wN \c_nan_fp
}
@@ -2764,11 +2765,11 @@
{
\@@_error:nffn { bad-args }
{#2}
- { \fp_to_tl:n { \s_@@_tuple \@@_tuple_chk:w {#4} ; } }
+ { \fp_to_tl:n { \s_@@_tuple \@@_tuple_chk:w {#4} \@@_sep: } }
{ }
\exp_after:wN \c_nan_fp
}
-\cs_new:Npn \@@_parse_function_one_two_aux:nnw #1#2 #3; #4
+\cs_new:Npn \@@_parse_function_one_two_aux:nnw #1#2 #3\@@_sep: #4
{
\@@_if_type_fp:NTwFw
#4 { }
@@ -2780,14 +2781,14 @@
\@@_parse_function_one_two_error_o:w
}
\s_@@_stop
- \@@_parse_function_one_two_auxii:nnw {#1} {#2} #3; #4
+ \@@_parse_function_one_two_auxii:nnw {#1} {#2} #3\@@_sep: #4
}
-\cs_new:Npn \@@_parse_function_one_two_auxii:nnw #1#2#3; #4; #5
+\cs_new:Npn \@@_parse_function_one_two_auxii:nnw #1#2#3\@@_sep: #4\@@_sep: #5
{
\if_meaning:w @ #5 \else:
\exp_after:wN \@@_parse_function_one_two_error_o:w
\fi:
- \use_ii:nn {#1} { \use_none:n #2 } #3; #4; #5
+ \use_ii:nn {#1} { \use_none:n #2 } #3\@@_sep: #4\@@_sep: #5
}
% \end{macrocode}
% \end{macro}
@@ -2798,21 +2799,21 @@
% afterwards. The code |#1| should itself expand once after its
% result.
% \begin{macrocode}
-\cs_new:Npn \@@_tuple_map_o:nw #1 \s_@@_tuple \@@_tuple_chk:w #2 ;
+\cs_new:Npn \@@_tuple_map_o:nw #1 \s_@@_tuple \@@_tuple_chk:w #2 \@@_sep:
{
\exp_after:wN \s_@@_tuple
\exp_after:wN \@@_tuple_chk:w
\exp_after:wN {
\exp:w \exp_end_continue_f:w
\@@_tuple_map_loop_o:nw {#1} #2
- { \s_@@ \prg_break: } ;
+ { \s_@@ \prg_break: } \@@_sep:
\prg_break_point:
- \exp_after:wN } \exp_after:wN ;
+ \exp_after:wN } \exp_after:wN \@@_sep:
}
-\cs_new:Npn \@@_tuple_map_loop_o:nw #1#2#3 ;
+\cs_new:Npn \@@_tuple_map_loop_o:nw #1#2#3 \@@_sep:
{
\use_none:n #2
- #1 #2 #3 ;
+ #1 #2 #3 \@@_sep:
\exp:w \exp_end_continue_f:w
\@@_tuple_map_loop_o:nw {#1}
}
@@ -2824,24 +2825,24 @@
% afterwards.
% \begin{macrocode}
\cs_new:Npn \@@_tuple_mapthread_o:nww #1
- \s_@@_tuple \@@_tuple_chk:w #2 ;
- \s_@@_tuple \@@_tuple_chk:w #3 ;
+ \s_@@_tuple \@@_tuple_chk:w #2 \@@_sep:
+ \s_@@_tuple \@@_tuple_chk:w #3 \@@_sep:
{
\exp_after:wN \s_@@_tuple
\exp_after:wN \@@_tuple_chk:w
\exp_after:wN {
\exp:w \exp_end_continue_f:w
\@@_tuple_mapthread_loop_o:nw {#1}
- #2 { \s_@@ \prg_break: } ; @
- #3 { \s_@@ \prg_break: } ;
+ #2 { \s_@@ \prg_break: } \@@_sep: @
+ #3 { \s_@@ \prg_break: } \@@_sep:
\prg_break_point:
- \exp_after:wN } \exp_after:wN ;
+ \exp_after:wN } \exp_after:wN \@@_sep:
}
-\cs_new:Npn \@@_tuple_mapthread_loop_o:nw #1#2#3 ; #4 @ #5#6 ;
+\cs_new:Npn \@@_tuple_mapthread_loop_o:nw #1#2#3 \@@_sep: #4 @ #5#6 \@@_sep:
{
\use_none:n #2
\use_none:n #5
- #1 #2 #3 ; #5 #6 ;
+ #1 #2 #3 \@@_sep: #5 #6 \@@_sep:
\exp:w \exp_end_continue_f:w
\@@_tuple_mapthread_loop_o:nw {#1} #4 @
}