[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.