summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-12-06 23:56:06 +0000
committerKarl Berry <karl@freefriends.org>2017-12-06 23:56:06 +0000
commitcc862e582aa0dd7c0dee16bb5475394338a07641 (patch)
treeb03dbc5b6657d47f5c61b8fcc26f04a564ad6afd /Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
parent7ffad570b11726b0ca150867d23878fc1a949865 (diff)
l3 (7dec17)
git-svn-id: svn://tug.org/texlive/trunk@46003 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx')
-rw-r--r--Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx110
1 files changed, 55 insertions, 55 deletions
diff --git a/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx b/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
index 3727f843911..7dfc3d4d0eb 100644
--- a/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
+++ b/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
@@ -11,7 +11,7 @@
% license or (at your option) any later version. The latest version
% of this license is in the file
%
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
%
% This file is part of the "l3packages bundle" (The Work in LPPL)
% and all files in that bundle must be distributed together.
@@ -27,8 +27,8 @@
%<*driver|package>
% The version of expl3 required is tested as early as possible, as
% some really old versions do not define \ProvidesExplPackage.
-\RequirePackage{expl3}[2017/11/14]
-%<package>\@ifpackagelater{expl3}{2017/11/14}
+\RequirePackage{expl3}[2017/12/05]
+%<package>\@ifpackagelater{expl3}{2017/12/05}
%<package> {}
%<package> {%
%<package> \PackageError{xparse}{Support package l3kernel too old}
@@ -67,7 +67,7 @@
% }^^A
% }
%
-% \date{Released 2017/11/14}
+% \date{Released 2017/12/05}
%
% \maketitle
%
@@ -776,7 +776,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xparse}{2017/11/14}{}
+\ProvidesExplPackage{xparse}{2017/12/05}{}
{L3 Experimental document command parser}
% \end{macrocode}
%
@@ -1008,8 +1008,8 @@
% \subsection{Declaring commands and environments}
%
% \begin{macro}{\@@_declare_cmd:Nnn, \@@_declare_expandable_cmd:Nnn}
-% \begin{macro}[aux]{\@@_declare_cmd_aux:Nnn}
-% \begin{macro}[int]
+% \begin{macro}{\@@_declare_cmd_aux:Nnn}
+% \begin{macro}
% {\@@_declare_cmd_internal:Nnn, \@@_declare_cmd_internal:cnx}
% The main functions for creating commands set the appropriate flag then
% use the same internal code to do the definition.
@@ -1076,7 +1076,7 @@
% \end{macro}
%
% \begin{macro}{\@@_declare_cmd_code:Nnn}
-% \begin{macro}[aux]
+% \begin{macro}
% {\@@_declare_cmd_code_aux:Nnn, \@@_declare_cmd_code_expandable:Nnn}
% The appropriate auxiliary is called.
% \begin{macrocode}
@@ -1180,7 +1180,7 @@
% \end{macro}
%
% \begin{macro}{\@@_declare_env:nnnn}
-% \begin{macro}[int]{\@@_declare_env_internal:nnnn}
+% \begin{macro}{\@@_declare_env_internal:nnnn}
% The lead-off to creating an environment is much the same as that for
% creating a command: issue the appropriate message, store the argument
% specification then hand off to an internal function.
@@ -1242,7 +1242,7 @@
% \subsection{Structure of \pkg{xparse} commands}
%
% \begin{macro}{\@@_start:nNNnnn}
-% \begin{macro}[aux]{\@@_start_aux:nNNnnn}
+% \begin{macro}{\@@_start_aux:nNNnnn}
% This sets up a few variables to minimize the boilerplate code
% included in all \pkg{xparse}-defined commands. It then runs the
% grabbers~|#4|. Again, the argument specification |#1| is only for
@@ -1283,8 +1283,8 @@
% \end{macro}
%
% \begin{macro}{\@@_defaults:}
-% \begin{macro}[aux]{\@@_defaults_def:, \@@_defaults_def:nn, \@@_defaults_def:nnn}
-% \begin{macro}[aux]{\@@_defaults_aux:, \@@_defaults_error:w}
+% \begin{macro}{\@@_defaults_def:, \@@_defaults_def:nn, \@@_defaults_def:nnn}
+% \begin{macro}{\@@_defaults_aux:, \@@_defaults_error:w}
% First construct \cs{@@_tmp:w} (see below) that will receive
% the arguments found so far and determine default values for any
% missing argument. Then call it repeatedly until the set of
@@ -1360,7 +1360,7 @@
% \end{macro}
%
% \begin{macro}{\@@_args_process:}
-% \begin{macro}[aux]{\@@_args_process_loop:nn, \@@_args_process_aux:n, \@@_args_process_aux:nn}
+% \begin{macro}{\@@_args_process_loop:nn, \@@_args_process_aux:n, \@@_args_process_aux:nn}
% Loop through arguments (stored in \cs{l_@@_args_tl}) and the
% corresponding processors (in \cs{l_@@_process_all_tl})
% simultaneously, apply all processors for each argument and store the
@@ -1404,11 +1404,11 @@
% \end{macro}
%
% \begin{macro}[EXP]{\@@_end_expandable:NNw}
-% \begin{macro}[EXP,aux]{\@@_end_expandable_aux:w}
-% \begin{macro}[EXP,aux]{\@@_end_expandable_aux:nNNNN}
-% \begin{macro}[EXP,aux]{\@@_end_expandable_defaults:nnnNNn}
-% \begin{macro}[EXP,aux]{\@@_end_expandable_defaults:nnw}
-% \begin{macro}[EXP,aux]{\@@_end_expandable_defaults:nw}
+% \begin{macro}[EXP]{\@@_end_expandable_aux:w}
+% \begin{macro}[EXP]{\@@_end_expandable_aux:nNNNN}
+% \begin{macro}[EXP]{\@@_end_expandable_defaults:nnnNNn}
+% \begin{macro}[EXP]{\@@_end_expandable_defaults:nnw}
+% \begin{macro}[EXP]{\@@_end_expandable_defaults:nw}
% Followed by a function |#1| to determine default values (or |?| if
% there are no defaults), the code
% |#2|, arguments that have been grabbed, then \cs{q_@@} and two generic
@@ -1655,7 +1655,7 @@
% \@@_normalize_type_G:w,
% \@@_normalize_type_t:w,
% }
-% \begin{macro}[aux]{\@@_normalize_E_unique_check:w}
+% \begin{macro}{\@@_normalize_E_unique_check:w}
% Optional argument types. Check that all required data is present
% (and consists of single characters if applicable) and check for
% forbidden types for expandable commands. For \texttt{E}-type
@@ -2321,7 +2321,7 @@
% \end{macro}
%
% \begin{macro}{\@@_add_expandable_type_E:w}
-% \begin{macro}[aux]{\@@_add_expandable_type_E_aux:n}
+% \begin{macro}{\@@_add_expandable_type_E_aux:n}
% For each embellishment, use \cs{@@_get_grabber:NN} to obtain an
% auxiliary delimited by that token and store a pair constituted of
% the auxiliary and the token in \cs{l_@@_tmpb_tl}, before appending
@@ -2438,8 +2438,8 @@
% \end{macro}
%
% \begin{macro}{\@@_get_grabber:NN}
-% \begin{macro}[aux]{\@@_get_grabber_auxi:NN}
-% \begin{macro}[aux]{\@@_get_grabber_auxii:NN}
+% \begin{macro}{\@@_get_grabber_auxi:NN}
+% \begin{macro}{\@@_get_grabber_auxii:NN}
% Given a token |#1|, defines an expandable function delimited by that
% token and stores it in the token list~|#2|. The function is named
% after the token, unless that function name is already taken by some
@@ -2519,8 +2519,8 @@
\cs_new_protected:Npn \@@_grab_D_long_trailing:w #1#2#3 \@@_run_code:
{ \@@_grab_D_aux:NNnNn #1 #2 {#3} \cs_set_protected:Npn { } }
% \end{macrocode}
-% \begin{macro}[aux]{\@@_grab_D_aux:NNnNn}
-% \begin{macro}[aux]{\@@_grab_D_aux:NNnN}
+% \begin{macro}{\@@_grab_D_aux:NNnNn}
+% \begin{macro}{\@@_grab_D_aux:NNnN}
% This is a bit complicated. The idea is that, in order to check for
% nested optional argument tokens (\texttt{[[...]]} and so on) the
% argument needs to be grabbed without removing any braces at all. If
@@ -2571,8 +2571,8 @@
% \end{macro}
% \end{macro}
% \end{macro}
-% \begin{macro}[aux]{\@@_grab_D_nested:NNnN}
-% \begin{macro}[aux]{\@@_grab_D_nested:w}
+% \begin{macro}{\@@_grab_D_nested:NNnN}
+% \begin{macro}{\@@_grab_D_nested:w}
% \begin{macro}{\l_@@_nesting_a_tl}
% \begin{macro}{\l_@@_nesting_b_tl}
% \begin{macro}{\q_@@}
@@ -2670,9 +2670,9 @@
% \@@_grab_E:w, \@@_grab_E_long:w,
% \@@_grab_E_trailing:w, \@@_grab_E_long_trailing:w
% }
-% \begin{macro}[aux]{\@@_grab_E:nnNn}
-% \begin{macro}[aux]{\@@_grab_E_loop:nnN}
-% \begin{macro}[aux]{\@@_grab_E_finalise:}
+% \begin{macro}{\@@_grab_E:nnNn}
+% \begin{macro}{\@@_grab_E_loop:nnN}
+% \begin{macro}{\@@_grab_E_finalise:}
% Everything here needs to point to a loop.
% \begin{macrocode}
\cs_new_protected:Npn \@@_grab_E:w #1#2 \@@_run_code:
@@ -2748,7 +2748,7 @@
% \begin{macro}{\@@_grab_G_long:w}
% \begin{macro}{\@@_grab_G_trailing:w}
% \begin{macro}{\@@_grab_G_long_trailing:w}
-% \begin{macro}[aux]{\@@_grab_G_aux:nNn}
+% \begin{macro}{\@@_grab_G_aux:nNn}
% Optional groups are checked by meaning, so that the same code will
% work with, for example, Con\TeX{}t-like input.
% \begin{macrocode}
@@ -2783,7 +2783,7 @@
%
% \begin{macro}{\@@_grab_l:w}
% \begin{macro}{\@@_grab_l_long:w}
-% \begin{macro}[aux]{\@@_grab_l_aux:nN}
+% \begin{macro}{\@@_grab_l_aux:nN}
% Argument grabbers for mandatory \TeX{} arguments are pretty simple.
% \begin{macrocode}
\cs_new_protected:Npn \@@_grab_l:w #1 \@@_run_code:
@@ -2833,7 +2833,7 @@
% \begin{macro}{\@@_grab_m_7:w}
% \begin{macro}{\@@_grab_m_8:w}
% \begin{macro}{\@@_grab_m_9:w}
-% \begin{macro}[aux]{\@@_grab_m_aux:Nnnnnnnnn}
+% \begin{macro}{\@@_grab_m_aux:Nnnnnnnnn}
% Grabbing 1--8 mandatory arguments is done by giving 8--1 known
% arguments to a 9-argument function that stores them in
% \cs{l_@@_args_tl}. For simplicity, grabbing 9 mandatory arguments
@@ -2911,7 +2911,7 @@
% \end{macro}
%
% \begin{macro}{\@@_grab_R:w, \@@_grab_R_long:w}
-% \begin{macro}[aux]{\@@_grab_R_aux:NNnN}
+% \begin{macro}{\@@_grab_R_aux:NNnN}
% The grabber for \texttt{R}-type arguments is basically the same as
% that for \texttt{D}-type ones, but always skips spaces (as it is mandatory)
% and has a hard-coded error message.
@@ -2940,7 +2940,7 @@
% \begin{macro}{\@@_grab_t_long:w}
% \begin{macro}{\@@_grab_t_trailing:w}
% \begin{macro}{\@@_grab_t_long_trailing:w}
-% \begin{macro}[aux]{\@@_grab_t_aux:NNw}
+% \begin{macro}{\@@_grab_t_aux:NNw}
% Dealing with a token is quite easy. Check the match, remove the
% token if needed and add a flag to the output.
% \begin{macrocode}
@@ -2970,7 +2970,7 @@
%
% \begin{macro}{\@@_grab_u:w}
% \begin{macro}{\@@_grab_u_long:w}
-% \begin{macro}[aux]{\@@_grab_u_aux:nnN}
+% \begin{macro}{\@@_grab_u_aux:nnN}
% Grabbing up to a list of tokens is quite easy: define the grabber,
% and then collect.
% \begin{macrocode}
@@ -3271,10 +3271,10 @@
% \subsection{Grabbing arguments expandably}
%
% \begin{macro}[EXP]{\@@_expandable_grab_D:w}
-% \begin{macro}[EXP, aux]{\@@_expandable_grab_D:NNNwNNn}
-% \begin{macro}[EXP, aux]{\@@_expandable_grab_D:NNNwNNnnn}
-% \begin{macro}[EXP, aux]{\@@_expandable_grab_D:Nw}
-% \begin{macro}[EXP, aux]{\@@_expandable_grab_D:nnNNNwNN}
+% \begin{macro}[EXP]{\@@_expandable_grab_D:NNNwNNn}
+% \begin{macro}[EXP]{\@@_expandable_grab_D:NNNwNNnnn}
+% \begin{macro}[EXP]{\@@_expandable_grab_D:Nw}
+% \begin{macro}[EXP]{\@@_expandable_grab_D:nnNNNwNN}
% The first step is to grab the first token or group. The generic grabbers
% \cs{\meta{function}}\verb*| | and \cs{\meta{function}}\verb*| | are just after \cs{q_@@}, we go and find
% them (and use the long one).
@@ -3450,12 +3450,12 @@
% \end{macro}
%
% \begin{macro}[EXP]{\@@_expandable_grab_E:w, \@@_expandable_grab_E_long:w}
-% \begin{macro}[EXP,aux]{\@@_expandable_grab_E_aux:w}
-% \begin{macro}[EXP,aux]{\@@_expandable_grab_E_test:nnw}
-% \begin{macro}[EXP,aux]{\@@_expandable_grab_E_loop:nnnNNw}
-% \begin{macro}[EXP,aux]{\@@_expandable_grab_E_find:w}
-% \begin{macro}[EXP,aux]{\@@_expandable_grab_E_find:nnw}
-% \begin{macro}[EXP,aux]{\@@_expandable_grab_E_end:nnw}
+% \begin{macro}[EXP]{\@@_expandable_grab_E_aux:w}
+% \begin{macro}[EXP]{\@@_expandable_grab_E_test:nnw}
+% \begin{macro}[EXP]{\@@_expandable_grab_E_loop:nnnNNw}
+% \begin{macro}[EXP]{\@@_expandable_grab_E_find:w}
+% \begin{macro}[EXP]{\@@_expandable_grab_E_find:nnw}
+% \begin{macro}[EXP]{\@@_expandable_grab_E_end:nnw}
% We keep track of long/short by placing the appropriate grabber as
% the third token after \cs{q_@@}; it is eventually removed by the
% \texttt{end:nnw} auxiliary. The \texttt{aux:w} auxiliary will be
@@ -3527,7 +3527,7 @@
% \end{macro}
%
% \begin{macro}[EXP]{\@@_expandable_grab_m:w, \@@_expandable_grab_m_long:w}
-% \begin{macro}[EXP, aux]{\@@_expandable_grab_m_aux:wNn}
+% \begin{macro}[EXP]{\@@_expandable_grab_m_aux:wNn}
% The mandatory case is easy: find the auxiliary after the \cs{q_@@},
% and use it directly to grab the argument, then correctly position
% the argument before \cs{q_@@}.
@@ -3543,7 +3543,7 @@
% \end{macro}
%
% \begin{macro}[EXP]{\@@_expandable_grab_R:w}
-% \begin{macro}[EXP, aux]{\@@_expandable_grab_R_aux:NNNwNNn}
+% \begin{macro}[EXP]{\@@_expandable_grab_R_aux:NNNwNNn}
% Much the same as for the \texttt{D}-type argument, with only the lead-off
% function varying.
% \begin{macrocode}
@@ -3614,7 +3614,7 @@
% \end{macro}
%
% \begin{macro}[EXP]{\@@_expandable_grab_t:w}
-% \begin{macro}[EXP, aux]{\@@_expandable_grab_t_aux:NNwn}
+% \begin{macro}[EXP]{\@@_expandable_grab_t_aux:NNwn}
% As for a \texttt{D}-type argument, here we compare the grabbed tokens using
% the only parser we have in order to work out if |#2| is exactly equal to
% the output of the grabber.
@@ -3664,8 +3664,8 @@
%
% \begin{variable}{\l_@@_split_list_seq, \l_@@_split_list_tl}
% \begin{macro}{\@@_split_list:nn}
-% \begin{macro}[aux]{\@@_split_list_multi:nn, \@@_split_list_multi:nV}
-% \begin{macro}[aux]{\@@_split_list_single:Nn}
+% \begin{macro}{\@@_split_list_multi:nn, \@@_split_list_multi:nV}
+% \begin{macro}{\@@_split_list_single:Nn}
% Splitting can take place either at a single token or at a longer
% identifier. To deal with single active tokens, a two-part procedure is
% needed.
@@ -3712,9 +3712,9 @@
% \end{variable}
%
% \begin{macro}{\@@_split_argument:nnn}
-% \begin{macro}[aux]{\@@_split_argument_aux:nnnn}
-% \begin{macro}[aux, EXP]{\@@_split_argument_aux:n}
-% \begin{macro}[aux, rEXP]{\@@_split_argument_aux:wn}
+% \begin{macro}{\@@_split_argument_aux:nnnn}
+% \begin{macro}[EXP]{\@@_split_argument_aux:n}
+% \begin{macro}[rEXP]{\@@_split_argument_aux:wn}
% Splitting to a known number of items is a special version of splitting
% a list, in which the limit is hard-coded and where there will always be
% exactly the correct number of output items. An auxiliary function is
@@ -3930,7 +3930,7 @@
% \end{macro}
%
% \begin{macro}{\@@_tl_mapthread_function:NNN, \@@_tl_mapthread_function:nnN}
-% \begin{macro}[aux]{\@@_tl_mapthread_loop:w}
+% \begin{macro}{\@@_tl_mapthread_loop:w}
% Analogue of \cs{seq_mapthread_function:NNN} for token lists.
% \begin{macrocode}
\cs_new:Npn \@@_tl_mapthread_function:NNN #1#2#3
@@ -3964,7 +3964,7 @@
% \end{macro}
%
% \begin{macro}{\@@_cmd_if_xparse:NTF}
-% \begin{macro}[aux]{\@@_cmd_if_xparse_aux:N}
+% \begin{macro}{\@@_cmd_if_xparse_aux:N}
% To determine whether the command is an \pkg{xparse} command check
% that its |arg_spec| is empty (this also excludes non-macros) and
% that its |replacement_spec| starts with either \cs{@@_start:nNNnnn}