[latex3-commits] [git/LaTeX3-latex3-latex3] scan-quark: Replace quarks by scan marks in l3str-convert (5c940323e)

PhelypeOleinik tex.phelype at gmail.com
Sat Mar 21 02:05:28 CET 2020


Repository : https://github.com/latex3/latex3
On branch  : scan-quark
Link       : https://github.com/latex3/latex3/commit/5c940323e32707e31f3651075e519a9944b2c9ef

>---------------------------------------------------------------

commit 5c940323e32707e31f3651075e519a9944b2c9ef
Author: PhelypeOleinik <tex.phelype at gmail.com>
Date:   Fri Mar 20 22:05:28 2020 -0300

    Replace quarks by scan marks in l3str-convert


>---------------------------------------------------------------

5c940323e32707e31f3651075e519a9944b2c9ef
 l3kernel/l3str-convert.dtx        | 79 +++++++++++++++++++++++----------------
 l3kernel/testfiles/m3quark001.tlg |  2 +-
 2 files changed, 48 insertions(+), 33 deletions(-)

diff --git a/l3kernel/l3str-convert.dtx b/l3kernel/l3str-convert.dtx
index b5c46d509..0c6f1722f 100644
--- a/l3kernel/l3str-convert.dtx
+++ b/l3kernel/l3str-convert.dtx
@@ -293,6 +293,21 @@
 %    \end{macrocode}
 % \end{variable}
 %
+% \begin{variable}{\q_@@_nil,\q_@@_stop}
+%   Internal quarks.
+%    \begin{macrocode}
+\quark_new:N \q_@@_nil
+\quark_new:N \q_@@_stop
+%    \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}[EXP]{\@@_use_none_delimit_by_q_stop:w}
+%   Functions to gobble up to a quark.
+%    \begin{macrocode}
+\cs_new:Npn \@@_use_none_delimit_by_q_stop:w #1 \q_@@_stop { }
+%    \end{macrocode}
+% \end{macro}
+%
 % \begin{variable}{\g_@@_alias_prop}
 %   To avoid needing one file per encoding/escaping alias, we keep track
 %   of those in a property list.
@@ -564,13 +579,13 @@
       {
         \exp_after:wN \@@_convert_gmap_internal_loop:Nww
         \exp_after:wN #1
-          \g_@@_result_tl \s_@@ \q_stop \prg_break: \s_@@
+          \g_@@_result_tl \s_@@ \s_@@_stop \prg_break: \s_@@
         \prg_break_point:
       }
   }
 \cs_new:Npn \@@_convert_gmap_internal_loop:Nww #1 #2 \s_@@ #3 \s_@@
   {
-    \use_none_delimit_by_q_stop:w #3 \q_stop
+    \@@_use_none_delimit_by_s_stop:w #3 \s_@@_stop
     #1 {#3}
     \@@_convert_gmap_internal_loop:Nww #1
   }
@@ -686,12 +701,12 @@
       #1
       \tl_gset:Nx \g_@@_result_tl { \__kernel_str_to_other_fast:n {#4} }
       \exp_after:wN \@@_convert:wwwnn
-        \tl_to_str:n {#5} /// \q_stop
+        \tl_to_str:n {#5} /// \s_@@_stop
         { decode } { unescape }
         \prg_do_nothing:
         \@@_convert_decode_:
       \exp_after:wN \@@_convert:wwwnn
-        \tl_to_str:n {#6} /// \q_stop
+        \tl_to_str:n {#6} /// \s_@@_stop
         { encode } { escape }
         \use_ii_i:nn
         \@@_convert_encode_:
@@ -728,7 +743,7 @@
 %   was given, and only the encoding, |#1|, should be performed.
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_convert:wwwnn
-    #1 / #2 // #3 \q_stop #4#5
+    #1 / #2 // #3 \s_@@_stop #4#5
   {
     \@@_convert:nnn {enc} {#4} {#1}
     \@@_convert:nnn {esc} {#5} {#2}
@@ -1122,11 +1137,11 @@
       \int_zero:N \l_@@_internal_int
       \exp_last_unbraced:Nx \@@_decode_eight_bit_load:nn
         { \tl_use:c { c_@@_encoding_#1_tl } }
-        { \q_stop \prg_break: } { }
+        { \s_@@_stop \prg_break: } { }
       \prg_break_point:
       \exp_last_unbraced:Nx \@@_decode_eight_bit_load_missing:n
         { \tl_use:c { c_@@_encoding_#1_missing_tl } }
-        { \q_stop \prg_break: }
+        { \s_@@_stop \prg_break: }
       \prg_break_point:
       \flag_clear:n { str_error }
       \@@_convert_gmap:N \@@_decode_eight_bit_char:N
@@ -1135,7 +1150,7 @@
   }
 \cs_new_protected:Npn \@@_decode_eight_bit_load:nn #1#2
   {
-    \use_none_delimit_by_q_stop:w #1 \q_stop
+    \@@_use_none_delimit_by_s_stop:w #1 \s_@@_stop
     \tex_dimen:D "#1 = \l_@@_internal_int sp \scan_stop:
     \tex_skip:D \l_@@_internal_int = "#1 sp \scan_stop:
     \tex_toks:D \l_@@_internal_int \exp_after:wN { \int_value:w "#2 }
@@ -1144,7 +1159,7 @@
   }
 \cs_new_protected:Npn \@@_decode_eight_bit_load_missing:n #1
   {
-    \use_none_delimit_by_q_stop:w #1 \q_stop
+    \@@_use_none_delimit_by_s_stop:w #1 \s_@@_stop
     \tex_dimen:D "#1 = \l_@@_internal_int sp \scan_stop:
     \tex_skip:D \l_@@_internal_int = "#1 sp \scan_stop:
     \tex_toks:D \l_@@_internal_int \exp_after:wN
@@ -1180,7 +1195,7 @@
       \int_zero:N \l_@@_internal_int
       \exp_last_unbraced:Nx \@@_encode_eight_bit_load:nn
         { \tl_use:c { c_@@_encoding_#1_tl } }
-        { \q_stop \prg_break: } { }
+        { \s_@@_stop \prg_break: } { }
       \prg_break_point:
       \flag_clear:n { str_error }
       \@@_convert_gmap_internal:N \@@_encode_eight_bit_char:n
@@ -1189,7 +1204,7 @@
   }
 \cs_new_protected:Npn \@@_encode_eight_bit_load:nn #1#2
   {
-    \use_none_delimit_by_q_stop:w #1 \q_stop
+    \@@_use_none_delimit_by_s_stop:w #1 \s_@@_stop
     \tex_dimen:D "#2 = \l_@@_internal_int sp \scan_stop:
     \tex_skip:D \l_@@_internal_int = "#2 sp \scan_stop:
     \exp_args:NNf \tex_toks:D \l_@@_internal_int
@@ -1769,17 +1784,17 @@
       {  32 } {     192 }
       {  16 } {     224 }
       {   8 } {     240 }
-    \q_stop
+    \s_@@_stop
   }
-\cs_new:Npn \@@_encode_utf_viii_loop:wwnnw #1; #2; #3#4 #5 \q_stop
+\cs_new:Npn \@@_encode_utf_viii_loop:wwnnw #1; #2; #3#4 #5 \s_@@_stop
   {
     \if_int_compare:w #1 < #3 \exp_stop_f:
       \@@_output_byte:n { #1 + #4 }
-      \exp_after:wN \use_none_delimit_by_q_stop:w
+      \exp_after:wN \@@_use_none_delimit_by_s_stop:w
     \fi:
     \exp_after:wN \@@_encode_utf_viii_loop:wwnnw
       \int_value:w \int_div_truncate:nn {#1} {64} ; #1 ;
-      #5 \q_stop
+      #5 \s_@@_stop
     \@@_output_byte:n { #2 - 64 * ( #1 - 2 ) }
   }
 %    \end{macrocode}
@@ -1969,7 +1984,7 @@
       \int_value:w \int_eval:n { `#1 - "C0 } \exp_after:wN
     \fi:
     \s_@@
-    \use_none_delimit_by_q_stop:w {"80} {"800} {"10000} {"110000} \q_stop
+    \@@_use_none_delimit_by_q_stop:w {"80} {"800} {"10000} {"110000} \q_@@_stop
     \@@_decode_utf_viii_start:N
   }
 \cs_new:Npn \@@_decode_utf_viii_continuation:wwN
@@ -2005,7 +2020,7 @@
         #1
       \fi:
     \else:
-      \if_meaning:w \q_stop #5
+      \if_meaning:w \q_@@_stop #5
         \@@_decode_utf_viii_overflow:w #1
       \fi:
       \exp_after:wN \@@_decode_utf_viii_continuation:wwN
@@ -2209,13 +2224,13 @@
 %   \cs{@@_decode_utf_xvi_pair:NN} described below.
 %    \begin{macrocode}
   \cs_new_protected:cpn { @@_convert_decode_utf16be: }
-    { \@@_decode_utf_xvi:Nw 1 \g_@@_result_tl \s_stop }
+    { \@@_decode_utf_xvi:Nw 1 \g_@@_result_tl \s_@@_stop }
   \cs_new_protected:cpn { @@_convert_decode_utf16le: }
-    { \@@_decode_utf_xvi:Nw 2 \g_@@_result_tl \s_stop }
+    { \@@_decode_utf_xvi:Nw 2 \g_@@_result_tl \s_@@_stop }
   \cs_new_protected:cpn { @@_convert_decode_utf16: }
     {
       \exp_after:wN \@@_decode_utf_xvi_bom:NN
-        \g_@@_result_tl \s_stop \s_stop \s_stop
+        \g_@@_result_tl \s_@@_stop \s_@@_stop \s_@@_stop
     }
   \cs_new_protected:Npn \@@_decode_utf_xvi_bom:NN #1#2
     {
@@ -2227,7 +2242,7 @@
             { \@@_decode_utf_xvi:Nw 1 #1#2 }
         }
     }
-  \cs_new_protected:Npn \@@_decode_utf_xvi:Nw #1#2 \s_stop
+  \cs_new_protected:Npn \@@_decode_utf_xvi:Nw #1#2 \s_@@_stop
     {
       \flag_clear:n { str_error }
       \flag_clear:n { str_missing }
@@ -2237,7 +2252,7 @@
       \tl_gset:Nx \g_@@_result_tl
         {
           \exp_after:wN \@@_decode_utf_xvi_pair:NN
-            #2 \q_nil \q_nil
+            #2 \q_@@_nil \q_@@_nil
           \prg_break_point:
         }
       \@@_if_flag_error:nnx { str_error } { utf16-decode } { }
@@ -2294,7 +2309,7 @@
 %    \begin{macrocode}
   \cs_new:Npn \@@_decode_utf_xvi_pair:NN #1#2
     {
-      \if_meaning:w \q_nil #2
+      \if_meaning:w \q_@@_nil #2
         \@@_decode_utf_xvi_pair_end:Nw #1
       \fi:
       \if_case:w
@@ -2309,7 +2324,7 @@
   \cs_new:Npn \@@_decode_utf_xvi_quad:NNwNN
       #1#2 #3 \@@_decode_utf_xvi_pair:NN #4#5
     {
-      \if_meaning:w \q_nil #5
+      \if_meaning:w \q_@@_nil #5
         \@@_decode_utf_xvi_error:nNN { missing } #1#2
         \@@_decode_utf_xvi_pair_end:Nw #4
       \fi:
@@ -2336,7 +2351,7 @@
   \cs_new:Npn \@@_decode_utf_xvi_pair_end:Nw #1 \fi:
     {
       \fi:
-      \if_meaning:w \q_nil #1
+      \if_meaning:w \q_@@_nil #1
       \else:
         \@@_decode_utf_xvi_error:nNN { end } #1 \prg_do_nothing:
       \fi:
@@ -2498,13 +2513,13 @@
 %   should be nothing left until the first \cs{s_stop}. Break the map.
 %    \begin{macrocode}
   \cs_new_protected:cpn { @@_convert_decode_utf32be: }
-    { \@@_decode_utf_xxxii:Nw 1 \g_@@_result_tl \s_stop }
+    { \@@_decode_utf_xxxii:Nw 1 \g_@@_result_tl \s_@@_stop }
   \cs_new_protected:cpn { @@_convert_decode_utf32le: }
-    { \@@_decode_utf_xxxii:Nw 2 \g_@@_result_tl \s_stop }
+    { \@@_decode_utf_xxxii:Nw 2 \g_@@_result_tl \s_@@_stop }
   \cs_new_protected:cpn { @@_convert_decode_utf32: }
     {
       \exp_after:wN \@@_decode_utf_xxxii_bom:NNNN \g_@@_result_tl
-        \s_stop \s_stop \s_stop \s_stop \s_stop
+        \s_@@_stop \s_@@_stop \s_@@_stop \s_@@_stop \s_@@_stop
     }
   \cs_new_protected:Npn \@@_decode_utf_xxxii_bom:NNNN #1#2#3#4
     {
@@ -2516,7 +2531,7 @@
             { \@@_decode_utf_xxxii:Nw 1 #1#2#3#4 }
         }
     }
-  \cs_new_protected:Npn \@@_decode_utf_xxxii:Nw #1#2 \s_stop
+  \cs_new_protected:Npn \@@_decode_utf_xxxii:Nw #1#2 \s_@@_stop
     {
       \flag_clear:n { str_overflow }
       \flag_clear:n { str_end }
@@ -2525,14 +2540,14 @@
       \tl_gset:Nx \g_@@_result_tl
         {
           \exp_after:wN \@@_decode_utf_xxxii_loop:NNNN
-            #2 \s_stop \s_stop \s_stop \s_stop
+            #2 \s_@@_stop \s_@@_stop \s_@@_stop \s_@@_stop
           \prg_break_point:
         }
       \@@_if_flag_error:nnx { str_error } { utf32-decode } { }
     }
   \cs_new:Npn \@@_decode_utf_xxxii_loop:NNNN #1#2#3#4
     {
-      \if_meaning:w \s_stop #4
+      \if_meaning:w \s_@@_stop #4
         \exp_after:wN \@@_decode_utf_xxxii_end:w
       \fi:
       #1#2#3#4 \s_@@
@@ -2553,7 +2568,7 @@
       \s_@@
       \@@_decode_utf_xxxii_loop:NNNN
     }
-  \cs_new:Npn \@@_decode_utf_xxxii_end:w #1 \s_stop
+  \cs_new:Npn \@@_decode_utf_xxxii_end:w #1 \s_@@_stop
     {
       \tl_if_empty:nF {#1}
         {
diff --git a/l3kernel/testfiles/m3quark001.tlg b/l3kernel/testfiles/m3quark001.tlg
index 85e64d816..09ef8947f 100644
--- a/l3kernel/testfiles/m3quark001.tlg
+++ b/l3kernel/testfiles/m3quark001.tlg
@@ -88,7 +88,7 @@ already been used for a scan mark.
 \s__skip_stop \s__keyval_nil \s__keyval_mark \s__keyval_stop \s__keyval_tail
 \s__keys_stop \s__fp \s__fp_expr_mark \s__fp_expr_stop \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__sort_mark \s__sort_stop \s__sort_scan_stop \s__tl
+\s__fp_tuple \s__sort_mark \s__sort_stop \s__sort_scan_stop \s__str \s__tl
 \s__color_stop \s__text_stop \s__bool_mark \s__bool_stop \s__deprecation_mark
 \s__deprecation_stop \s__expl_stop \s__foo .
 ============================================================





More information about the latex3-commits mailing list.