[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.