diff options
Diffstat (limited to 'macros/latex/contrib/l3kernel/l3expan.dtx')
-rw-r--r-- | macros/latex/contrib/l3kernel/l3expan.dtx | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/macros/latex/contrib/l3kernel/l3expan.dtx b/macros/latex/contrib/l3kernel/l3expan.dtx index 613af946f9..36fb87f2ac 100644 --- a/macros/latex/contrib/l3kernel/l3expan.dtx +++ b/macros/latex/contrib/l3kernel/l3expan.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-11-09} +% \date{Released 2023-12-08} % % \maketitle % @@ -310,23 +310,16 @@ % % When speed is essential (for functions that do very little work and % whose variants are used numerous times in a document) the following -% considerations apply because internal functions for argument expansion -% come in two flavours, some faster than others. +% considerations apply because the speed of internal functions that +% expand the arguments of a base function depend on what needs doing +% with each argument and where this happens in the list of arguments: % \begin{itemize} -% \item -% Arguments that might need expansion should come first in the list -% of arguments. -% \item -% Arguments that should consist of single tokens |N|, |c|, |V|, or -% |v| should come first among these. -% \item -% Arguments that appear after the first multi-token argument |n|, -% |f|, |e|, or |o| require slightly slower special processing to be -% expanded. Therefore it is best to use the optimized functions, -% namely those that contain only |N|, |c|, |V|, and |v|, and, in the -% last position, |o|, |f|, |e|, with possible trailing |N| or |n| or -% |T| or |F|, which are not expanded. Any |x|-type argument causes -% slightly slower processing. +% \item for fastest processing any |c|-type arguments should come first +% followed by all other modified arguments; +% \item unchanged |N|-type args that appear before modified ones have +% a small performance hit; +% \item unchanged |n|-type args that appear before modified ones have +% a relative larger performance hit. % \end{itemize} % % \section{Manipulating the first argument} @@ -471,7 +464,6 @@ % third as detailed by their argument specifier. The first argument % of the function is then the next item on the input stream, followed % by the expansion of the second and third arguments. -% These functions need slower processing. % \end{function} % % \begin{function} @@ -542,7 +534,6 @@ % and fourth as detailed by their argument specifier. The first % argument of the function is then the next item on the input stream, % followed by the expansion of the second argument, \emph{etc}. -% These functions need slower processing. % \end{function} % % \begin{function}[added = 2015-08-12] @@ -2384,8 +2375,9 @@ % % \subsection{Held-over variant generation} % -% \begin{macro}{\cs_generate_from_arg_count:NNno} -% \begin{macro}{\cs_replacement_spec:c} +% \begin{macro}[documented-as = \cs_generate_from_arg_count:NNnn] +% {\cs_generate_from_arg_count:NNno} +% \begin{macro}[documented-as = \cs_replacement_spec:N]{\cs_replacement_spec:c} % A couple of variants that are from early functions. % \begin{macrocode} \cs_generate_variant:Nn \cs_generate_from_arg_count:NNnn { NNno } |