[latex3-commits] [latex3/latex3] main: Round out \use_i:nn... functions (fixes #1204) (537c97f79)
github at latex-project.org
github at latex-project.org
Tue May 16 13:33:46 CEST 2023
Repository : https://github.com/latex3/latex3
On branch : main
Link : https://github.com/latex3/latex3/commit/537c97f7971a207626ea20767d84a1536b460de9
>---------------------------------------------------------------
commit 537c97f7971a207626ea20767d84a1536b460de9
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Tue May 16 12:33:46 2023 +0100
Round out \use_i:nn... functions (fixes #1204)
>---------------------------------------------------------------
537c97f7971a207626ea20767d84a1536b460de9
l3kernel/CHANGELOG.md | 4 ++
l3kernel/l3basics.dtx | 119 ++++++++++++++++++++++++++++++++------------------
2 files changed, 80 insertions(+), 43 deletions(-)
diff --git a/l3kernel/CHANGELOG.md b/l3kernel/CHANGELOG.md
index 9b2db5427..2d937c53d 100644
--- a/l3kernel/CHANGELOG.md
+++ b/l3kernel/CHANGELOG.md
@@ -7,6 +7,10 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+### Added
+- Rounded out the `\use_i:nn...` functions to cover all cases taking
+ one argument from up to nine arguments
+
## [2023-05-15]
### Changed
diff --git a/l3kernel/l3basics.dtx b/l3kernel/l3basics.dtx
index fa09cc480..4790ddab9 100644
--- a/l3kernel/l3basics.dtx
+++ b/l3kernel/l3basics.dtx
@@ -925,52 +925,39 @@
% \end{texnote}
% \end{function}
%
-% \begin{function}[EXP]{\use_i:nn, \use_ii:nn}
+% \begin{function}[EXP]
+% {
+% \use_i:nn, \use_ii:nn ,
+% \use_i:nnn , \use_ii:nnn , \use_iii:nnn , \use_i_ii:nnn ,
+% \use_i:nnnn, \use_ii:nnnn, \use_iii:nnnn, \use_iv:nnnn ,
+% \use_i:nnnnn, \use_ii:nnnnn, \use_iii:nnnnn, \use_iv:nnnnn ,
+% \use_v:nnnnn ,
+% \use_i:nnnnnn, \use_ii:nnnnnn, \use_iii:nnnnnn, \use_iv:nnnnnn ,
+% \use_v:nnnnnn , \use_vi:nnnnnn ,
+% \use_i:nnnnnnn, \use_ii:nnnnnnn, \use_iii:nnnnnnn, \use_iv:nnnnnnn ,
+% \use_v:nnnnnnn , \use_vi:nnnnnnn , \use_vii:nnnnnnn ,
+% \use_i:nnnnnnnn, \use_ii:nnnnnnnn, \use_iii:nnnnnnnn, \use_iv:nnnnnnnn ,
+% \use_v:nnnnnnnn , \use_vi:nnnnnnnn , \use_vii:nnnnnnnn , \use_vii:nnnnnnnn ,
+% \use_i:nnnnnnnnn, \use_ii:nnnnnnnnn, \use_iii:nnnnnnnnn, \use_iv:nnnnnnnnn ,
+% \use_v:nnnnnnnnn , \use_vi:nnnnnnnnn , \use_vii:nnnnnnnnn , \use_viii:nnnnnnnnn ,
+% \use_ix:nnnnnnnnn
+% }
% \begin{syntax}
% \cs{use_i:nn} \Arg{arg_1} \Arg{arg_2}
-% \end{syntax}
-% These functions absorb two arguments from the input stream. The function
-% \cs{use_i:nn} discards the second argument, and leaves the content
-% of the first argument in the input stream. \cs{use_ii:nn} discards
-% the first argument and leaves the content of the second argument in
-% the input stream.
-% The category code
-% of these tokens is also fixed (if it has not already been by
-% some other absorption). A single expansion is needed for the
-% functions to take effect.
-% \begin{texnote}
-% These are equivalent to \LaTeXe{}'s \tn{@firstoftwo} and
-% \tn{@secondoftwo}.
-% \end{texnote}
-% \end{function}
-%
-% \begin{function}[EXP]{\use_i:nnn, \use_ii:nnn, \use_iii:nnn}
-% \begin{syntax}
% \cs{use_i:nnn} \Arg{arg_1} \Arg{arg_2} \Arg{arg_3}
-% \end{syntax}
-% These functions absorb three arguments from the input stream. The
-% function \cs{use_i:nnn} discards the second and third arguments, and
-% leaves the content of the first argument in the input stream.
-% \cs{use_ii:nnn} and \cs{use_iii:nnn} work similarly, leaving the
-% content of second or third arguments in the input stream, respectively.
-% The category code
-% of these tokens is also fixed (if it has not already been by
-% some other absorption). A single expansion is needed for the
-% functions to take effect.
-% \end{function}
-%
-% \begin{function}[EXP]
-% {\use_i:nnnn, \use_ii:nnnn, \use_iii:nnnn, \use_iv:nnnn}
-% \begin{syntax}
% \cs{use_i:nnnn} \Arg{arg_1} \Arg{arg_2} \Arg{arg_3} \Arg{arg_4}
-% \end{syntax}
-% These functions absorb four arguments from the input stream. The
-% function \cs{use_i:nnnn} discards the second, third and fourth
-% arguments, and leaves the content of the first argument in the input
-% stream.
-% \cs{use_ii:nnnn}, \cs{use_iii:nnnn} and \cs{use_iv:nnnn} work similarly,
-% leaving the content of second, third or fourth arguments in the input
-% stream, respectively. The category code
+% \cs{use_i:nnnnn} \Arg{arg_1} \Arg{arg_2} \Arg{arg_3} \Arg{arg_4} \Arg{arg_5}
+% \cs{use_i:nnnnnn} \Arg{arg_1} \Arg{arg_2} \Arg{arg_3} \Arg{arg_4} \Arg{arg_5} \Arg{arg_6}
+% \cs{use_i:nnnnnnn} \Arg{arg_1} \Arg{arg_2} \Arg{arg_3} \Arg{arg_4} \Arg{arg_5} \Arg{arg_6} \Arg{arg_7}
+% \cs{use_i:nnnnnnnn} \Arg{arg_1} \Arg{arg_2} \Arg{arg_3} \Arg{arg_4} \Arg{arg_5} \Arg{arg_6} \Arg{arg_7} \Arg{arg_8}
+% \cs{use_i:nnnnnnnnn} \Arg{arg_1} \Arg{arg_2} \Arg{arg_3} \Arg{arg_4} \Arg{arg_5} \Arg{arg_6} \Arg{arg_7} \Arg{arg_8} \Arg{arg_9}
+% \end{syntax}
+% These functions absorb a number ($n$) arguments from the input stream.
+% They then discard all arguments other than that indicated by the roman
+% numeral, which is left in the input stream. For example, \cs{use_i:nn}
+% discards the second argument, and leaves the content of the first
+% argument in the input stream.
+% The category code
% of these tokens is also fixed (if it has not already been by
% some other absorption). A single expansion is needed for the
% functions to take effect.
@@ -1662,7 +1649,18 @@
% \begin{macro}[EXP]
% {
% \use_i:nnn , \use_ii:nnn , \use_iii:nnn , \use_i_ii:nnn ,
-% \use_i:nnnn, \use_ii:nnnn, \use_iii:nnnn, \use_iv:nnnn
+% \use_i:nnnn, \use_ii:nnnn, \use_iii:nnnn, \use_iv:nnnn ,
+% \use_i:nnnnn, \use_ii:nnnnn, \use_iii:nnnnn, \use_iv:nnnnn ,
+% \use_v:nnnnn ,
+% \use_i:nnnnnn, \use_ii:nnnnnn, \use_iii:nnnnnn, \use_iv:nnnnnn ,
+% \use_v:nnnnnn , \use_vi:nnnnnn ,
+% \use_i:nnnnnnn, \use_ii:nnnnnnn, \use_iii:nnnnnnn, \use_iv:nnnnnnn ,
+% \use_v:nnnnnnn , \use_vi:nnnnnnn , \use_vii:nnnnnnn ,
+% \use_i:nnnnnnnn, \use_ii:nnnnnnnn, \use_iii:nnnnnnnn, \use_iv:nnnnnnnn ,
+% \use_v:nnnnnnnn , \use_vi:nnnnnnnn , \use_vii:nnnnnnnn , \use_vii:nnnnnnnn ,
+% \use_i:nnnnnnnnn, \use_ii:nnnnnnnnn, \use_iii:nnnnnnnnn, \use_iv:nnnnnnnnn ,
+% \use_v:nnnnnnnnn , \use_vi:nnnnnnnnn , \use_vii:nnnnnnnnn , \use_viii:nnnnnnnnn ,
+% \use_ix:nnnnnnnnn
% }
% We also need something for picking up arguments from a longer list.
% \begin{macrocode}
@@ -1674,6 +1672,41 @@
\cs_set:Npn \use_ii:nnnn #1#2#3#4 {#2}
\cs_set:Npn \use_iii:nnnn #1#2#3#4 {#3}
\cs_set:Npn \use_iv:nnnn #1#2#3#4 {#4}
+\cs_set:Npn \use_i:nnnnn #1#2#3#4#5 {#1}
+\cs_set:Npn \use_ii:nnnnn #1#2#3#4#5 {#2}
+\cs_set:Npn \use_iii:nnnnn #1#2#3#4#5 {#3}
+\cs_set:Npn \use_iv:nnnnn #1#2#3#4#5 {#4}
+\cs_set:Npn \use_v:nnnnn #1#2#3#4#5 {#5}
+\cs_set:Npn \use_i:nnnnnn #1#2#3#4#5#6 {#1}
+\cs_set:Npn \use_ii:nnnnnn #1#2#3#4#5#6 {#2}
+\cs_set:Npn \use_iii:nnnnnn #1#2#3#4#5#6 {#3}
+\cs_set:Npn \use_iv:nnnnnn #1#2#3#4#5#6 {#4}
+\cs_set:Npn \use_v:nnnnnn #1#2#3#4#5#6 {#5}
+\cs_set:Npn \use_vi:nnnnnn #1#2#3#4#5#6 {#6}
+\cs_set:Npn \use_i:nnnnnnn #1#2#3#4#5#6#7 {#1}
+\cs_set:Npn \use_ii:nnnnnnn #1#2#3#4#5#6#7 {#2}
+\cs_set:Npn \use_iii:nnnnnnn #1#2#3#4#5#6#7 {#3}
+\cs_set:Npn \use_iv:nnnnnnn #1#2#3#4#5#6#7 {#4}
+\cs_set:Npn \use_v:nnnnnnn #1#2#3#4#5#6#7 {#5}
+\cs_set:Npn \use_vi:nnnnnnn #1#2#3#4#5#6#7 {#6}
+\cs_set:Npn \use_vii:nnnnnnn #1#2#3#4#5#6#7 {#7}
+\cs_set:Npn \use_i:nnnnnnnn #1#2#3#4#5#6#7#8 {#1}
+\cs_set:Npn \use_ii:nnnnnnnn #1#2#3#4#5#6#7#8 {#2}
+\cs_set:Npn \use_iii:nnnnnnnn #1#2#3#4#5#6#7#8 {#3}
+\cs_set:Npn \use_iv:nnnnnnnn #1#2#3#4#5#6#7#8 {#4}
+\cs_set:Npn \use_v:nnnnnnnn #1#2#3#4#5#6#7#8 {#5}
+\cs_set:Npn \use_vi:nnnnnnnn #1#2#3#4#5#6#7#8 {#6}
+\cs_set:Npn \use_vii:nnnnnnnn #1#2#3#4#5#6#7#8 {#7}
+\cs_set:Npn \use_viii:nnnnnnnn #1#2#3#4#5#6#7#8 {#8}
+\cs_set:Npn \use_i:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#1}
+\cs_set:Npn \use_ii:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#2}
+\cs_set:Npn \use_iii:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#3}
+\cs_set:Npn \use_iv:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#4}
+\cs_set:Npn \use_v:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#5}
+\cs_set:Npn \use_vi:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#6}
+\cs_set:Npn \use_vii:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#7}
+\cs_set:Npn \use_viii:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#8}
+\cs_set:Npn \use_ix:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#9}
% \end{macrocode}
% \end{macro}
%
More information about the latex3-commits
mailing list.