[latex3-commits] [l3svn] r6886 - Refactor \iow_wrap:nnnN slightly

noreply at latex-project.org noreply at latex-project.org
Sat Feb 11 14:47:22 CET 2017


Author: bruno
Date: 2017-02-11 14:47:22 +0100 (Sat, 11 Feb 2017)
New Revision: 6886

Modified:
   trunk/l3kernel/l3file.dtx
   trunk/l3kernel/testfiles/m3expl001.luatex.tlg
   trunk/l3kernel/testfiles/m3expl001.ptex.tlg
   trunk/l3kernel/testfiles/m3expl001.tlg
   trunk/l3kernel/testfiles/m3expl001.uptex.tlg
   trunk/l3kernel/testfiles/m3expl001.xetex.tlg
   trunk/l3kernel/testfiles/m3expl003.luatex.tlg
   trunk/l3kernel/testfiles/m3expl003.ptex.tlg
   trunk/l3kernel/testfiles/m3expl003.tlg
   trunk/l3kernel/testfiles/m3expl003.uptex.tlg
   trunk/l3kernel/testfiles/m3expl003.xetex.tlg
Log:
Refactor \iow_wrap:nnnN slightly

In one place, pass an explicit argument rather than
saving the current target to an integer variable.


Modified: trunk/l3kernel/l3file.dtx
===================================================================
--- trunk/l3kernel/l3file.dtx	2017-02-11 04:27:25 UTC (rev 6885)
+++ trunk/l3kernel/l3file.dtx	2017-02-11 13:47:22 UTC (rev 6886)
@@ -1728,27 +1728,28 @@
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}[aux]{\@@_wrap_chunk:nw}
-%   This auxiliary is defined indirectly to obtain the expansions of
-%   \cs{c_catcode_other_space_tl} and \cs{c_@@_wrap_marker_tl} in its
-%   definition.  The first argument is a target number of characters.
-%   The second is some string to wrap.  The third is \texttt{newline} or
-%   \texttt{indent} or \texttt{unindent} or \texttt{end} to indicate the
-%   type of marker.  If there is nothing to wrap then simply call the
-%   function corresponding to the type of marker after setting a few
-%   variables.  Otherwise, set up a call to \cs{@@_wrap_line:nw},
+% \begin{macro}[aux]{\@@_wrap_chunk:nw, \@@_wrap_next:nw}
+%   The \texttt{chunk} and \texttt{next} auxiliaries are defined
+%   indirectly to obtain the expansions of \cs{c_catcode_other_space_tl}
+%   and \cs{c_@@_wrap_marker_tl} in their definition.  The \texttt{next}
+%   auxiliary calls a function corresponding to the type of marker (its
+%   |##2|), which can be \texttt{newline} or \texttt{indent} or
+%   \texttt{unindent} or \texttt{end}.  The first argument of the
+%   \texttt{chunk} auxiliary is a target number of characters and the
+%   second is some string to wrap.  If the chunk is empty simply call
+%   \texttt{next}.  Otherwise, set up a call to \cs{@@_wrap_line:nw},
 %   including the indentation if the current line is empty, and
 %   including a trailing space (|#1|) before the
 %   \cs{@@_wrap_end_chunk:w} auxiliary.
 %    \begin{macrocode}
 \cs_set_protected:Npn \@@_tmp:w #1#2
   {
-    \cs_new_protected:Npn \@@_wrap_chunk:nw ##1##2 #2 ##3 #1
+    \cs_new_protected:Npn \@@_wrap_chunk:nw ##1##2 #2
       {
         \tl_if_empty:nTF {##2}
           {
             \tl_clear:N \l_@@_line_part_tl
-            \int_set:Nn \l_@@_target_int {##1}
+            \@@_wrap_next:nw {##1}
           }
           {
             \tl_if_empty:NTF \l_@@_line_tl
@@ -1761,8 +1762,9 @@
             ##2 #1
             \@@_wrap_end_chunk:w 7 6 5 4 3 2 1 0 \q_stop
           }
-        \use:c { @@_wrap_##3: }
       }
+    \cs_new_protected:Npn \@@_wrap_next:nw ##1##2 #1
+      { \use:c { @@_wrap_##2:n } {##1} }
   }
 \exp_args:NVV \@@_tmp:w \c_catcode_other_space_tl \c_@@_wrap_marker_tl
 %    \end{macrocode}
@@ -1853,7 +1855,7 @@
     #1 \__int_eval:w #2 - #3 ; #4#5 \q_stop
   {
     \if_false: { \fi: }
-    \int_set:Nn \l_@@_target_int { #2 - #4 }
+    \exp_args:Nf \@@_wrap_next:nw { \int_eval:n { #2 - #4 } }
   }
 %    \end{macrocode}
 % \end{macro}
@@ -1935,7 +1937,7 @@
       {
         \tl_clear:N \l_@@_line_part_tl
         \bool_set_true:N \l_@@_line_break_bool
-        \int_set_eq:NN \l_@@_target_int \l_@@_line_target_int
+        \@@_wrap_next:nw { \l_@@_line_target_int }
       }
       {
         \@@_wrap_line:nw
@@ -1955,22 +1957,22 @@
 %   importantly, add or remove one indent from the current indent (both
 %   the integer and the token list).  Finally, continue wrapping.
 %    \begin{macrocode}
-\cs_new_protected:Npn \@@_wrap_indent:
+\cs_new_protected:Npn \@@_wrap_indent:n #1
   {
     \tl_put_right:Nx \l_@@_line_tl { \l_@@_line_part_tl }
     \bool_set_false:N \l_@@_line_break_bool
     \int_add:Nn \l_@@_indent_int { \l_@@_one_indent_int }
     \tl_put_right:No \l_@@_indent_tl { \l_@@_one_indent_tl }
-    \@@_wrap_chunk:nw { \l_@@_target_int }
+    \@@_wrap_chunk:nw {#1}
   }
-\cs_new_protected:Npn \@@_wrap_unindent:
+\cs_new_protected:Npn \@@_wrap_unindent:n #1
   {
     \tl_put_right:Nx \l_@@_line_tl { \l_@@_line_part_tl }
     \bool_set_false:N \l_@@_line_break_bool
     \int_sub:Nn \l_@@_indent_int { \l_@@_one_indent_int }
     \tl_set:Nx \l_@@_indent_tl
       { \exp_after:wN \@@_unindent:w \l_@@_indent_tl }
-    \@@_wrap_chunk:nw { \l_@@_target_int }
+    \@@_wrap_chunk:nw {#1}
   }
 %    \end{macrocode}
 % \end{macro}
@@ -1983,14 +1985,14 @@
 %   \texttt{newline} case look for a new line (of length
 %   \cs{l_@@_line_target_int}) in a new chunk.
 %    \begin{macrocode}
-\cs_new_protected:Npn \@@_wrap_newline:
+\cs_new_protected:Npn \@@_wrap_newline:n #1
   {
     \bool_if:NF \l_@@_line_break_bool
       { \@@_wrap_store_do:n { \@@_wrap_trim:N } }
     \bool_set_false:N \l_@@_line_break_bool
     \@@_wrap_chunk:nw { \l_@@_line_target_int }
   }
-\cs_new_protected:Npn \@@_wrap_end:
+\cs_new_protected:Npn \@@_wrap_end:n #1
   {
     \bool_if:NF \l_@@_line_break_bool
       { \@@_wrap_store_do:n { \@@_wrap_trim:N } }

Modified: trunk/l3kernel/testfiles/m3expl001.luatex.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3expl001.luatex.tlg	2017-02-11 04:27:25 UTC (rev 6885)
+++ trunk/l3kernel/testfiles/m3expl001.luatex.tlg	2017-02-11 13:47:22 UTC (rev 6886)
@@ -2891,6 +2891,7 @@
 Defining \__iow_wrap_do: on line ...
 Defining \__iow_wrap_start:w on line ...
 Defining \__iow_wrap_chunk:nw on line ...
+Defining \__iow_wrap_next:nw on line ...
 Defining \__iow_wrap_line:nw on line ...
 Defining \__iow_wrap_line_loop:w on line ...
 Defining \__iow_wrap_line_aux:Nw on line ...
@@ -2903,10 +2904,10 @@
 Defining \__iow_wrap_break_loop:w on line ...
 Defining \__iow_wrap_break_end:w on line ...
 Defining \__iow_wrap_next_line:w on line ...
-Defining \__iow_wrap_indent: on line ...
-Defining \__iow_wrap_unindent: on line ...
-Defining \__iow_wrap_newline: on line ...
-Defining \__iow_wrap_end: on line ...
+Defining \__iow_wrap_indent:n on line ...
+Defining \__iow_wrap_unindent:n on line ...
+Defining \__iow_wrap_newline:n on line ...
+Defining \__iow_wrap_end:n on line ...
 Defining \__iow_wrap_store_do:n on line ...
 Defining \__iow_wrap_trim:N on line ...
 Defining \__iow_wrap_trim:w on line ...

Modified: trunk/l3kernel/testfiles/m3expl001.ptex.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3expl001.ptex.tlg	2017-02-11 04:27:25 UTC (rev 6885)
+++ trunk/l3kernel/testfiles/m3expl001.ptex.tlg	2017-02-11 13:47:22 UTC (rev 6886)
@@ -2879,6 +2879,7 @@
 Defining \__iow_wrap_do: on line ...
 Defining \__iow_wrap_start:w on line ...
 Defining \__iow_wrap_chunk:nw on line ...
+Defining \__iow_wrap_next:nw on line ...
 Defining \__iow_wrap_line:nw on line ...
 Defining \__iow_wrap_line_loop:w on line ...
 Defining \__iow_wrap_line_aux:Nw on line ...
@@ -2891,10 +2892,10 @@
 Defining \__iow_wrap_break_loop:w on line ...
 Defining \__iow_wrap_break_end:w on line ...
 Defining \__iow_wrap_next_line:w on line ...
-Defining \__iow_wrap_indent: on line ...
-Defining \__iow_wrap_unindent: on line ...
-Defining \__iow_wrap_newline: on line ...
-Defining \__iow_wrap_end: on line ...
+Defining \__iow_wrap_indent:n on line ...
+Defining \__iow_wrap_unindent:n on line ...
+Defining \__iow_wrap_newline:n on line ...
+Defining \__iow_wrap_end:n on line ...
 Defining \__iow_wrap_store_do:n on line ...
 Defining \__iow_wrap_trim:N on line ...
 Defining \__iow_wrap_trim:w on line ...

Modified: trunk/l3kernel/testfiles/m3expl001.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3expl001.tlg	2017-02-11 04:27:25 UTC (rev 6885)
+++ trunk/l3kernel/testfiles/m3expl001.tlg	2017-02-11 13:47:22 UTC (rev 6886)
@@ -2879,6 +2879,7 @@
 Defining \__iow_wrap_do: on line ...
 Defining \__iow_wrap_start:w on line ...
 Defining \__iow_wrap_chunk:nw on line ...
+Defining \__iow_wrap_next:nw on line ...
 Defining \__iow_wrap_line:nw on line ...
 Defining \__iow_wrap_line_loop:w on line ...
 Defining \__iow_wrap_line_aux:Nw on line ...
@@ -2891,10 +2892,10 @@
 Defining \__iow_wrap_break_loop:w on line ...
 Defining \__iow_wrap_break_end:w on line ...
 Defining \__iow_wrap_next_line:w on line ...
-Defining \__iow_wrap_indent: on line ...
-Defining \__iow_wrap_unindent: on line ...
-Defining \__iow_wrap_newline: on line ...
-Defining \__iow_wrap_end: on line ...
+Defining \__iow_wrap_indent:n on line ...
+Defining \__iow_wrap_unindent:n on line ...
+Defining \__iow_wrap_newline:n on line ...
+Defining \__iow_wrap_end:n on line ...
 Defining \__iow_wrap_store_do:n on line ...
 Defining \__iow_wrap_trim:N on line ...
 Defining \__iow_wrap_trim:w on line ...

Modified: trunk/l3kernel/testfiles/m3expl001.uptex.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3expl001.uptex.tlg	2017-02-11 04:27:25 UTC (rev 6885)
+++ trunk/l3kernel/testfiles/m3expl001.uptex.tlg	2017-02-11 13:47:22 UTC (rev 6886)
@@ -2879,6 +2879,7 @@
 Defining \__iow_wrap_do: on line ...
 Defining \__iow_wrap_start:w on line ...
 Defining \__iow_wrap_chunk:nw on line ...
+Defining \__iow_wrap_next:nw on line ...
 Defining \__iow_wrap_line:nw on line ...
 Defining \__iow_wrap_line_loop:w on line ...
 Defining \__iow_wrap_line_aux:Nw on line ...
@@ -2891,10 +2892,10 @@
 Defining \__iow_wrap_break_loop:w on line ...
 Defining \__iow_wrap_break_end:w on line ...
 Defining \__iow_wrap_next_line:w on line ...
-Defining \__iow_wrap_indent: on line ...
-Defining \__iow_wrap_unindent: on line ...
-Defining \__iow_wrap_newline: on line ...
-Defining \__iow_wrap_end: on line ...
+Defining \__iow_wrap_indent:n on line ...
+Defining \__iow_wrap_unindent:n on line ...
+Defining \__iow_wrap_newline:n on line ...
+Defining \__iow_wrap_end:n on line ...
 Defining \__iow_wrap_store_do:n on line ...
 Defining \__iow_wrap_trim:N on line ...
 Defining \__iow_wrap_trim:w on line ...

Modified: trunk/l3kernel/testfiles/m3expl001.xetex.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3expl001.xetex.tlg	2017-02-11 04:27:25 UTC (rev 6885)
+++ trunk/l3kernel/testfiles/m3expl001.xetex.tlg	2017-02-11 13:47:22 UTC (rev 6886)
@@ -2889,6 +2889,7 @@
 Defining \__iow_wrap_do: on line ...
 Defining \__iow_wrap_start:w on line ...
 Defining \__iow_wrap_chunk:nw on line ...
+Defining \__iow_wrap_next:nw on line ...
 Defining \__iow_wrap_line:nw on line ...
 Defining \__iow_wrap_line_loop:w on line ...
 Defining \__iow_wrap_line_aux:Nw on line ...
@@ -2901,10 +2902,10 @@
 Defining \__iow_wrap_break_loop:w on line ...
 Defining \__iow_wrap_break_end:w on line ...
 Defining \__iow_wrap_next_line:w on line ...
-Defining \__iow_wrap_indent: on line ...
-Defining \__iow_wrap_unindent: on line ...
-Defining \__iow_wrap_newline: on line ...
-Defining \__iow_wrap_end: on line ...
+Defining \__iow_wrap_indent:n on line ...
+Defining \__iow_wrap_unindent:n on line ...
+Defining \__iow_wrap_newline:n on line ...
+Defining \__iow_wrap_end:n on line ...
 Defining \__iow_wrap_store_do:n on line ...
 Defining \__iow_wrap_trim:N on line ...
 Defining \__iow_wrap_trim:w on line ...

Modified: trunk/l3kernel/testfiles/m3expl003.luatex.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3expl003.luatex.tlg	2017-02-11 04:27:25 UTC (rev 6885)
+++ trunk/l3kernel/testfiles/m3expl003.luatex.tlg	2017-02-11 13:47:22 UTC (rev 6886)
@@ -2892,6 +2892,7 @@
 Defining \__iow_wrap_do: on line ...
 Defining \__iow_wrap_start:w on line ...
 Defining \__iow_wrap_chunk:nw on line ...
+Defining \__iow_wrap_next:nw on line ...
 Defining \__iow_wrap_line:nw on line ...
 Defining \__iow_wrap_line_loop:w on line ...
 Defining \__iow_wrap_line_aux:Nw on line ...
@@ -2904,10 +2905,10 @@
 Defining \__iow_wrap_break_loop:w on line ...
 Defining \__iow_wrap_break_end:w on line ...
 Defining \__iow_wrap_next_line:w on line ...
-Defining \__iow_wrap_indent: on line ...
-Defining \__iow_wrap_unindent: on line ...
-Defining \__iow_wrap_newline: on line ...
-Defining \__iow_wrap_end: on line ...
+Defining \__iow_wrap_indent:n on line ...
+Defining \__iow_wrap_unindent:n on line ...
+Defining \__iow_wrap_newline:n on line ...
+Defining \__iow_wrap_end:n on line ...
 Defining \__iow_wrap_store_do:n on line ...
 Defining \__iow_wrap_trim:N on line ...
 Defining \__iow_wrap_trim:w on line ...

Modified: trunk/l3kernel/testfiles/m3expl003.ptex.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3expl003.ptex.tlg	2017-02-11 04:27:25 UTC (rev 6885)
+++ trunk/l3kernel/testfiles/m3expl003.ptex.tlg	2017-02-11 13:47:22 UTC (rev 6886)
@@ -2880,6 +2880,7 @@
 Defining \__iow_wrap_do: on line ...
 Defining \__iow_wrap_start:w on line ...
 Defining \__iow_wrap_chunk:nw on line ...
+Defining \__iow_wrap_next:nw on line ...
 Defining \__iow_wrap_line:nw on line ...
 Defining \__iow_wrap_line_loop:w on line ...
 Defining \__iow_wrap_line_aux:Nw on line ...
@@ -2892,10 +2893,10 @@
 Defining \__iow_wrap_break_loop:w on line ...
 Defining \__iow_wrap_break_end:w on line ...
 Defining \__iow_wrap_next_line:w on line ...
-Defining \__iow_wrap_indent: on line ...
-Defining \__iow_wrap_unindent: on line ...
-Defining \__iow_wrap_newline: on line ...
-Defining \__iow_wrap_end: on line ...
+Defining \__iow_wrap_indent:n on line ...
+Defining \__iow_wrap_unindent:n on line ...
+Defining \__iow_wrap_newline:n on line ...
+Defining \__iow_wrap_end:n on line ...
 Defining \__iow_wrap_store_do:n on line ...
 Defining \__iow_wrap_trim:N on line ...
 Defining \__iow_wrap_trim:w on line ...

Modified: trunk/l3kernel/testfiles/m3expl003.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3expl003.tlg	2017-02-11 04:27:25 UTC (rev 6885)
+++ trunk/l3kernel/testfiles/m3expl003.tlg	2017-02-11 13:47:22 UTC (rev 6886)
@@ -2880,6 +2880,7 @@
 Defining \__iow_wrap_do: on line ...
 Defining \__iow_wrap_start:w on line ...
 Defining \__iow_wrap_chunk:nw on line ...
+Defining \__iow_wrap_next:nw on line ...
 Defining \__iow_wrap_line:nw on line ...
 Defining \__iow_wrap_line_loop:w on line ...
 Defining \__iow_wrap_line_aux:Nw on line ...
@@ -2892,10 +2893,10 @@
 Defining \__iow_wrap_break_loop:w on line ...
 Defining \__iow_wrap_break_end:w on line ...
 Defining \__iow_wrap_next_line:w on line ...
-Defining \__iow_wrap_indent: on line ...
-Defining \__iow_wrap_unindent: on line ...
-Defining \__iow_wrap_newline: on line ...
-Defining \__iow_wrap_end: on line ...
+Defining \__iow_wrap_indent:n on line ...
+Defining \__iow_wrap_unindent:n on line ...
+Defining \__iow_wrap_newline:n on line ...
+Defining \__iow_wrap_end:n on line ...
 Defining \__iow_wrap_store_do:n on line ...
 Defining \__iow_wrap_trim:N on line ...
 Defining \__iow_wrap_trim:w on line ...

Modified: trunk/l3kernel/testfiles/m3expl003.uptex.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3expl003.uptex.tlg	2017-02-11 04:27:25 UTC (rev 6885)
+++ trunk/l3kernel/testfiles/m3expl003.uptex.tlg	2017-02-11 13:47:22 UTC (rev 6886)
@@ -2880,6 +2880,7 @@
 Defining \__iow_wrap_do: on line ...
 Defining \__iow_wrap_start:w on line ...
 Defining \__iow_wrap_chunk:nw on line ...
+Defining \__iow_wrap_next:nw on line ...
 Defining \__iow_wrap_line:nw on line ...
 Defining \__iow_wrap_line_loop:w on line ...
 Defining \__iow_wrap_line_aux:Nw on line ...
@@ -2892,10 +2893,10 @@
 Defining \__iow_wrap_break_loop:w on line ...
 Defining \__iow_wrap_break_end:w on line ...
 Defining \__iow_wrap_next_line:w on line ...
-Defining \__iow_wrap_indent: on line ...
-Defining \__iow_wrap_unindent: on line ...
-Defining \__iow_wrap_newline: on line ...
-Defining \__iow_wrap_end: on line ...
+Defining \__iow_wrap_indent:n on line ...
+Defining \__iow_wrap_unindent:n on line ...
+Defining \__iow_wrap_newline:n on line ...
+Defining \__iow_wrap_end:n on line ...
 Defining \__iow_wrap_store_do:n on line ...
 Defining \__iow_wrap_trim:N on line ...
 Defining \__iow_wrap_trim:w on line ...

Modified: trunk/l3kernel/testfiles/m3expl003.xetex.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3expl003.xetex.tlg	2017-02-11 04:27:25 UTC (rev 6885)
+++ trunk/l3kernel/testfiles/m3expl003.xetex.tlg	2017-02-11 13:47:22 UTC (rev 6886)
@@ -2890,6 +2890,7 @@
 Defining \__iow_wrap_do: on line ...
 Defining \__iow_wrap_start:w on line ...
 Defining \__iow_wrap_chunk:nw on line ...
+Defining \__iow_wrap_next:nw on line ...
 Defining \__iow_wrap_line:nw on line ...
 Defining \__iow_wrap_line_loop:w on line ...
 Defining \__iow_wrap_line_aux:Nw on line ...
@@ -2902,10 +2903,10 @@
 Defining \__iow_wrap_break_loop:w on line ...
 Defining \__iow_wrap_break_end:w on line ...
 Defining \__iow_wrap_next_line:w on line ...
-Defining \__iow_wrap_indent: on line ...
-Defining \__iow_wrap_unindent: on line ...
-Defining \__iow_wrap_newline: on line ...
-Defining \__iow_wrap_end: on line ...
+Defining \__iow_wrap_indent:n on line ...
+Defining \__iow_wrap_unindent:n on line ...
+Defining \__iow_wrap_newline:n on line ...
+Defining \__iow_wrap_end:n on line ...
 Defining \__iow_wrap_store_do:n on line ...
 Defining \__iow_wrap_trim:N on line ...
 Defining \__iow_wrap_trim:w on line ...



More information about the latex3-commits mailing list