[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