[latex3-commits] [latex3/latex3] e-type: Add \exp_args:NNNe (ab2670174)

github at latex-project.org github at latex-project.org
Tue Oct 10 11:58:57 CEST 2023


Repository : https://github.com/latex3/latex3
On branch  : e-type
Link       : https://github.com/latex3/latex3/commit/ab2670174b4a190323112d77e6d9f7211e02d15f

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

commit ab2670174b4a190323112d77e6d9f7211e02d15f
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Tue Sep 26 07:34:42 2023 +0100

    Add \exp_args:NNNe


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

ab2670174b4a190323112d77e6d9f7211e02d15f
 l3kernel/l3expan.dtx | 10 +++++++++-
 l3kernel/l3regex.dtx |  4 ++--
 l3kernel/l3sort.dtx  |  2 +-
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/l3kernel/l3expan.dtx b/l3kernel/l3expan.dtx
index 0e10241f0..024d88afd 100644
--- a/l3kernel/l3expan.dtx
+++ b/l3kernel/l3expan.dtx
@@ -501,6 +501,7 @@
 %     \exp_args:NNNo,
 %     \exp_args:NNNV,
 %     \exp_args:NNNv,
+%     \exp_args:NNNe,
 %     \exp_args:Nccc,
 %     \exp_args:NcNc,
 %     \exp_args:NcNo,
@@ -1325,7 +1326,7 @@
 %
 % \begin{macro}[EXP]
 %   {
-%     \exp_args:NNNV, \exp_args:NNNv,
+%     \exp_args:NNNV, \exp_args:NNNv, \exp_args:NNNe,
 %     \exp_args:NcNc, \exp_args:NcNo,
 %     \exp_args:Ncco,
 %   }
@@ -1345,6 +1346,13 @@
     \exp_after:wN #3
     \exp_after:wN { \exp:w \@@_eval_register:c {#4} }
   }
+\cs_new:Npn \exp_args:NNNe #1#2#3#4
+  {
+    \exp_after:wN #1
+    \exp_after:wN #2
+    \exp_after:wN #3
+    \tex_expanded:D { {#4} }
+  }
 \cs_new:Npn \exp_args:NcNc #1#2#3#4
   {
     \exp_after:wN #1
diff --git a/l3kernel/l3regex.dtx b/l3kernel/l3regex.dtx
index fbaf5c4a2..b300d00b1 100644
--- a/l3kernel/l3regex.dtx
+++ b/l3kernel/l3regex.dtx
@@ -2440,7 +2440,7 @@
       \fi:
       \tl_build_put_right:Nn \l_@@_build_tl { \if_false: { \fi: } }
       \tl_build_end:N \l_@@_build_tl
-      \exp_args:NNNx
+      \exp_args:NNNe
     \group_end:
     \tl_set:Nn \l_@@_internal_regex { \l_@@_build_tl }
   }
@@ -3213,7 +3213,7 @@
     \if_int_compare:w \l_@@_group_level_int > \c_zero_int
         \tl_build_put_right:Nn \l_@@_build_tl { \if_false: { \fi: } }
         \tl_build_end:N \l_@@_build_tl
-        \exp_args:NNNx
+        \exp_args:NNNe
       \group_end:
       \tl_build_put_right:Nn \l_@@_build_tl { \l_@@_build_tl }
       \int_set_eq:NN \l_@@_catcodes_int \l_@@_default_catcodes_int
diff --git a/l3kernel/l3sort.dtx b/l3kernel/l3sort.dtx
index 8ff5eca67..e3726cb01 100644
--- a/l3kernel/l3sort.dtx
+++ b/l3kernel/l3sort.dtx
@@ -125,7 +125,7 @@
 %   Sorting happens in a group; the result is stored in those global
 %   variables before being copied outside the group to the proper
 %   places.  For seq and tl this is more efficient than using \cs{use:e}
-%   (or some \cs{exp_args:NNNx}) to smuggle the definition outside the
+%   (or some \cs{exp_args:NNNe}) to smuggle the definition outside the
 %   group since \TeX{} does not need to re-read tokens.  For clist we
 %   don't gain anything since the result is converted from seq to clist
 %   anyways.





More information about the latex3-commits mailing list.