[latex3-commits] [git/LaTeX3-latex3-latex3] scan-quark: Yet more quark-by-scan mark replacements (l3int) (b5e729e23)
PhelypeOleinik
tex.phelype at gmail.com
Thu Mar 12 04:06:31 CET 2020
Repository : https://github.com/latex3/latex3
On branch : scan-quark
Link : https://github.com/latex3/latex3/commit/b5e729e23938818daada0471b20bc1e8d011d7ce
>---------------------------------------------------------------
commit b5e729e23938818daada0471b20bc1e8d011d7ce
Author: PhelypeOleinik <tex.phelype at gmail.com>
Date: Thu Mar 12 00:06:31 2020 -0300
Yet more quark-by-scan mark replacements (l3int)
>---------------------------------------------------------------
b5e729e23938818daada0471b20bc1e8d011d7ce
l3kernel/l3int.dtx | 42 +++++++++++++++++++++++++++------------
l3kernel/testfiles/m3quark001.tlg | 9 +++++----
2 files changed, 34 insertions(+), 17 deletions(-)
diff --git a/l3kernel/l3int.dtx b/l3kernel/l3int.dtx
index 8d9fc1c89..dec1552ce 100644
--- a/l3kernel/l3int.dtx
+++ b/l3kernel/l3int.dtx
@@ -1053,6 +1053,22 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\s_@@_mark,\s_@@_stop,\s_@@_nil}
+% Scan marks used throughout the module.
+% \begin{macrocode}
+\scan_new:N \s_@@_mark
+\scan_new:N \s_@@_stop
+\scan_new:N \s_@@_nil
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_use_none_delimit_by_s_stop:w}
+% Function to gobble until a scan mark.
+% \begin{macrocode}
+\cs_new:Npn \@@_use_none_delimit_by_s_stop:w #1 \s_@@_stop { }
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{Integer expressions}
%
% \begin{macro}{\int_eval:n}
@@ -1469,7 +1485,7 @@
\@@_compare_error:
}
\cs_new:Npn \@@_compare_error:Nw
- #1#2 \q_stop
+ #1#2 \s_@@_stop
{
{ }
\c_zero_int \fi:
@@ -1535,7 +1551,7 @@
\cs_new:Npn \@@_compare:w #1 \@@_compare_error:
{
\exp_after:wN \if_false: \int_value:w
- \@@_compare:Nw #1 e { = nd_ } \q_stop
+ \@@_compare:Nw #1 e { = nd_ } \s_@@_stop
}
% \end{macrocode}
% The goal here is to find an \meta{operand} and a \meta{comparison}.
@@ -1552,13 +1568,13 @@
% \cs{scan_stop:}, ignored thanks to \tn{unexpanded}, and
% \cs{@@_compare_error:Nw} raises an error.
% \begin{macrocode}
-\cs_new:Npn \@@_compare:Nw #1#2 \q_stop
+\cs_new:Npn \@@_compare:Nw #1#2 \s_@@_stop
{
\exp_after:wN \@@_compare:NNw
- \@@_to_roman:w - 0 #2 \q_mark
- #1#2 \q_stop
+ \@@_to_roman:w - 0 #2 \s_@@_mark
+ #1#2 \s_@@_stop
}
-\cs_new:Npn \@@_compare:NNw #1#2#3 \q_mark
+\cs_new:Npn \@@_compare:NNw #1#2#3 \s_@@_mark
{
\__kernel_exp_not:w
\use:c
@@ -1585,7 +1601,7 @@
% and call \cs{@@_compare:Nw} to look for additional operands, after
% evaluating the following expression.
% \begin{macrocode}
-\cs_new:cpn { @@_compare_end_=:NNw } #1#2#3 e #4 \q_stop
+\cs_new:cpn { @@_compare_end_=:NNw } #1#2#3 e #4 \s_@@_stop
{
{#3} \exp_stop_f:
\prg_return_false: \else: \prg_return_true: \fi:
@@ -1593,7 +1609,7 @@
\cs_new:Npn \@@_compare:nnN #1#2#3
{
{#2} \exp_stop_f:
- \prg_return_false: \exp_after:wN \use_none_delimit_by_q_stop:w
+ \prg_return_false: \exp_after:wN \@@_use_none_delimit_by_s_stop:w
\fi:
#1 #2 #3 \exp_after:wN \@@_compare:Nw \int_value:w \@@_eval:w
}
@@ -1665,14 +1681,14 @@
\exp_args:Nf \@@_case:nnTF { \int_eval:n {#1} } {#2} { } { }
}
\cs_new:Npn \@@_case:nnTF #1#2#3#4
- { \@@_case:nw {#1} #2 {#1} { } \q_mark {#3} \q_mark {#4} \q_stop }
+ { \@@_case:nw {#1} #2 {#1} { } \s_@@_mark {#3} \s_@@_mark {#4} \s_@@_stop }
\cs_new:Npn \@@_case:nw #1#2#3
{
\int_compare:nNnTF {#1} = {#2}
{ \@@_case_end:nw {#3} }
{ \@@_case:nw {#1} }
}
-\cs_new:Npn \@@_case_end:nw #1#2#3 \q_mark #4#5 \q_stop
+\cs_new:Npn \@@_case_end:nw #1#2#3 \s_@@_mark #4#5 \s_@@_stop
{ \exp_end: #1 #4 }
% \end{macrocode}
% \end{macro}
@@ -2277,7 +2293,7 @@
\exp_after:wN #1
\fi:
}
-\cs_new:Npn \@@_pass_signs_end:wn #1 \q_stop #2 { #2 #1 }
+\cs_new:Npn \@@_pass_signs_end:wn #1 \s_@@_stop #2 { #2 #1 }
% \end{macrocode}
% \end{macro}
%
@@ -2295,7 +2311,7 @@
\int_eval:n
{
\exp_after:wN \@@_pass_signs:wn \tl_to_str:n {#1}
- \q_stop { \@@_from_alph:nN { 0 } }
+ \s_@@_stop { \@@_from_alph:nN { 0 } }
\q_recursion_tail \q_recursion_stop
}
}
@@ -2327,7 +2343,7 @@
\int_eval:n
{
\exp_after:wN \@@_pass_signs:wn \tl_to_str:n {#1}
- \q_stop { \@@_from_base:nnN { 0 } {#2} }
+ \s_@@_stop { \@@_from_base:nnN { 0 } {#2} }
\q_recursion_tail \q_recursion_stop
}
}
diff --git a/l3kernel/testfiles/m3quark001.tlg b/l3kernel/testfiles/m3quark001.tlg
index e80d2f98a..9537d903e 100644
--- a/l3kernel/testfiles/m3quark001.tlg
+++ b/l3kernel/testfiles/m3quark001.tlg
@@ -80,10 +80,11 @@ l. ...}
This is a coding error.
LaTeX has been asked to create a new scan mark '\s__foo' but this name has
already been used for a scan mark.
-> \g__scan_marks_tl=\s_stop \s__seq \s__seq_mark \s__seq_stop \s__prop
-\s__keyval_nil \s__keyval_mark \s__keyval_stop \s__keyval_tail \s__fp
-\s__fp_mark \s__fp_stop \s__fp_invalid \s__fp_underflow \s__fp_overflow
-\s__fp_division \s__fp_exact \s__fp_tuple \s__tl \s__foo .
+> \g__scan_marks_tl=\s_stop \s__seq \s__seq_mark \s__seq_stop \s__int_mark
+\s__int_stop \s__int_nil \s__prop \s__keyval_nil \s__keyval_mark
+\s__keyval_stop \s__keyval_tail \s__fp \s__fp_mark \s__fp_stop \s__fp_invalid
+\s__fp_underflow \s__fp_overflow \s__fp_division \s__fp_exact \s__fp_tuple
+\s__tl \s__foo .
============================================================
============================================================
TEST 14: Use none until s__stop (expect nothing)
More information about the latex3-commits
mailing list.