[latex3-commits] [git/LaTeX3-latex3-latex3] luaintarray: Move \@@_to_clist:Nn to Lua (0615cd1f5)

Marcel Fabian Krüger tex at 2krueger.de
Sun Nov 7 06:30:17 CET 2021


Repository : https://github.com/latex3/latex3
On branch  : luaintarray
Link       : https://github.com/latex3/latex3/commit/0615cd1f545032795f66f566d7da3e3e75e6d12d

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

commit 0615cd1f545032795f66f566d7da3e3e75e6d12d
Author: Marcel Fabian Krüger <tex at 2krueger.de>
Date:   Sun Nov 7 06:04:08 2021 +0100

    Move \@@_to_clist:Nn to Lua


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

0615cd1f545032795f66f566d7da3e3e75e6d12d
 l3kernel/l3intarray.dtx                     | 27 ++++++++++-----------------
 l3kernel/testfiles/m3intarray001.luatex.tlg |  4 ++--
 2 files changed, 12 insertions(+), 19 deletions(-)

diff --git a/l3kernel/l3intarray.dtx b/l3kernel/l3intarray.dtx
index d7ea1e7cb..4b3c6d7ee 100644
--- a/l3kernel/l3intarray.dtx
+++ b/l3kernel/l3intarray.dtx
@@ -502,23 +502,15 @@ end, 'global')
 %    \begin{macrocode}
 \cs_new:Npn \intarray_to_clist:N #1 { \@@_to_clist:Nn #1 { , } }
 \cs_generate_variant:Nn \intarray_to_clist:N { c }
-\cs_new:Npn \@@_to_clist:Nn #1#2
-  {
-    \int_compare:nNnF { \intarray_count:N #1 } = \c_zero_int
-      {
-        \exp_last_unbraced:Nf \use_none:n
-          { \@@_to_clist:w 1 ; #1 {#2} \prg_break_point: }
-      }
-  }
-\cs_new:Npn \@@_to_clist:w #1 ; #2#3
-  {
-    \if_int_compare:w #1 > \intarray_count:N #2 ~
-      \prg_break:n
-    \fi:
-    #3 \__kernel_intarray_item:Nn #2 {#1}
-    \exp_after:wN \@@_to_clist:w
-    \int_value:w \int_eval:w #1 + \c_one_int ; #2 {#3}
-  }
+%</tex>
+%<*lua>
+local concat = table.concat
+luacmd('@@_to_clist:Nn', function()
+  local t = @@_table()
+  local sep = token.scan_string()
+  sprint(-2, concat(t, sep))
+end, 'global')
+%</lua>
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -526,6 +518,7 @@ end, 'global')
 % \begin{macro}[rEXP]{\__kernel_intarray_range_to_clist:Nnn, \@@_range_to_clist:ww}
 %   Loop through part of the array.
 %    \begin{macrocode}
+%<*tex>
 \cs_new:Npn \__kernel_intarray_range_to_clist:Nnn #1#2#3
   {
     \exp_last_unbraced:Nf \use_none:n
diff --git a/l3kernel/testfiles/m3intarray001.luatex.tlg b/l3kernel/testfiles/m3intarray001.luatex.tlg
index ecbc49d9d..9717cf9c6 100644
--- a/l3kernel/testfiles/m3intarray001.luatex.tlg
+++ b/l3kernel/testfiles/m3intarray001.luatex.tlg
@@ -75,11 +75,11 @@ TEST 5: Zeroing
 ============================================================
 0,0,24,0,0,0,0,28,0,0
 The integer array \g_testd_intarray contains 10 items:
->  0, 0, 24, 0, 0, 0, 0, 28, 0, 0.
+> 0, 0, 24, 0, 0, 0, 0, 28, 0, 0.
 24
 0,0,0,0,0,0,0,20,0,0
 The integer array \g_testd_intarray contains 10 items:
->  0, 0, 0, 0, 0, 0, 0, 20, 0, 0.
+> 0, 0, 0, 0, 0, 0, 0, 20, 0, 0.
 <recently read> }
 l. ...  }
 0





More information about the latex3-commits mailing list.