summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/l3packages/xparse.dtx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-10-06 03:01:44 +0000
committerNorbert Preining <norbert@preining.info>2020-10-06 03:01:44 +0000
commit2884d8fdd76b2def1d759c76c03141710c219ad7 (patch)
tree8b94b805c643d5322fe4a764eab683dc369718a3 /macros/latex/contrib/l3packages/xparse.dtx
parent07723a50707217d2d397c098ec67af793cdfa916 (diff)
CTAN sync 202010060301
Diffstat (limited to 'macros/latex/contrib/l3packages/xparse.dtx')
-rw-r--r--macros/latex/contrib/l3packages/xparse.dtx101
1 files changed, 32 insertions, 69 deletions
diff --git a/macros/latex/contrib/l3packages/xparse.dtx b/macros/latex/contrib/l3packages/xparse.dtx
index fe2df64f5f..dd40f2c2ad 100644
--- a/macros/latex/contrib/l3packages/xparse.dtx
+++ b/macros/latex/contrib/l3packages/xparse.dtx
@@ -67,7 +67,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-10-05}
%
% \maketitle
%
@@ -984,7 +984,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{xparse}{2020-05-15}{}
+\ProvidesExplPackage{xparse}{2020-10-05}{}
{L3 Experimental document command parser}
% \end{macrocode}
%
@@ -1034,30 +1034,19 @@
%</core>
% \end{macrocode}
%
-% Load the core code.
+% Load the core code. We use \tn{input} here as there can be
+% an issue if the user has |openin_any = p| with older binaries.
% \begin{macrocode}
%<*2ekernel|package>
-\file_input:n { xparse-generic.tex }
+\input { xparse-generic.tex }
%</2ekernel|package>
% \end{macrocode}
%
% \subsection{Variables and constants}
%
% \begin{macrocode}
-%<*core|initex>
-% \end{macrocode}
-%
-% \begin{variable}{\c_@@_special_chars_seq}
-% In \IniTeX{} mode, we store special characters in a sequence.
-% Maybe |$| or |&| will have to be added later.
-% \begin{macrocode}
-%<*initex>
-\seq_new:N \c_@@_special_chars_seq
-\seq_set_split:Nnn \c_@@_special_chars_seq { }
- { \ \\ \{ \} \# \^ \_ \% \~ }
-%</initex>
+%<*core>
% \end{macrocode}
-% \end{variable}
%
% \begin{variable}{\l_@@_arg_spec_tl}
% Holds the argument specification after normalization of shorthands.
@@ -1484,12 +1473,7 @@
\str_set:Nx \l_@@_environment_str {#1}
\str_set:Nx \l_@@_environment_str
{ \tl_trim_spaces:o { \l_@@_environment_str } }
-%<*initex>
- \cs_if_exist:cTF { environment~ \l_@@_environment_str }
-%</initex>
-%<*core>
\cs_if_exist:cTF { \l_@@_environment_str }
-%</core>
{
\__kernel_msg_info:nnxx { xparse } { redefine-environment }
{ \l_@@_environment_str } { \tl_to_str:n {#2} }
@@ -1535,10 +1519,8 @@
\cs_generate_from_arg_count:cNnn
{ environment~ #1 ~end~aux~ } \cs_set:Npn
\l_@@_current_arg_int {#4}
-%<*core>
\cs_set_eq:cc {#1} { environment~ #1 }
\cs_set_eq:cc { end #1 } { environment~ #1 ~end }
-%</core>
}
}
% \end{macrocode}
@@ -1558,9 +1540,7 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_start_env:nnnnn #1#2
{
-%<*core>
\cs_if_exist_use:N \conditionally@traceoff
-%</core>
\str_set:Nn \l_@@_environment_str {#2}
\bool_set_true:N \l_@@_environment_bool
\@@_start_aux:ccnnnn
@@ -1570,9 +1550,7 @@
}
\cs_new_protected:Npx \@@_start:nNNnnn #1#2#3
{
-%<*core>
\exp_not:n { \cs_if_exist_use:N \conditionally@traceoff }
-%</core>
\exp_not:c { xparse~function~is~not~expandable }
\exp_not:n { \bool_set_false:N \l_@@_environment_bool }
\exp_not:N \@@_start_aux:NNnnnn
@@ -1609,9 +1587,7 @@
{
\tl_if_empty:NF \l_@@_defaults_tl { \@@_defaults: }
\tl_if_empty:NF \l_@@_process_all_tl { \@@_args_process: }
-%<*core>
\cs_if_exist_use:N \conditionally@traceon
-%</core>
\exp_after:wN \l_@@_fn_code_tl \l_@@_args_tl
}
% \end{macrocode}
@@ -1913,7 +1889,7 @@
\@@_bad_def:wn
}
}
-%</core|initex>
+%</core>
%<*package>
\cs_gset_protected:Npn \@@_normalize_arg_spec_loop:n #1
{
@@ -1927,7 +1903,7 @@
}
}
%</package>
-%<*core|initex>
+%<*core>
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1974,12 +1950,12 @@
{ \@@_normalize_type_t:w * }
}
\exp_args:No \@@_tmp:w { \c_novalue_tl }
-%</core|initex>
+%</core>
%<*package>
\cs_new_protected:Npx \@@_normalize_type_g:w
{ \exp_not:N \@@_normalize_type_G:w { \exp_not:V \c_novalue_tl } }
%</package>
-%<*core|initex>
+%<*core>
% \end{macrocode}
% \end{macro}
%
@@ -2093,7 +2069,7 @@
\@@_normalize_E_unique_check:w #2 \q_stop
}
}
-%</core|initex>
+%</core>
%<*package>
\cs_new_protected:Npn \@@_normalize_type_G:w #1
{
@@ -2104,7 +2080,7 @@
\@@_normalize_arg_spec_loop:n
}
%</package>
-%<*core|initex>
+%<*core>
\cs_new_protected:Npn \@@_normalize_type_t:w #1
{
\quark_if_recursion_tail_stop_do:Nn #1 { \@@_bad_arg_spec:wn }
@@ -2141,7 +2117,7 @@
% \cs{l_@@_arg_spec_tl}, count the mandatory argument, and empty the
% list of last delimiters.
% \begin{macrocode}
-%</core|initex>
+%</core>
%<*package>
\cs_new_protected:Npn \@@_normalize_type_l:w
{
@@ -2150,7 +2126,7 @@
\@@_normalize_arg_spec_loop:n
}
%</package>
-%<*core|initex>
+%<*core>
\cs_new_protected:Npn \@@_normalize_type_m:w
{
\@@_delimiter_check:nnn { } { m } { \iow_char:N \{ }
@@ -2167,7 +2143,7 @@
\@@_add_arg_spec_mandatory:n { R #1 #2 {#3} }
\@@_normalize_arg_spec_loop:n
}
-%</core|initex>
+%</core>
%<*package>
\cs_new_protected:Npn \@@_normalize_type_u:w #1
{
@@ -2177,7 +2153,7 @@
\@@_normalize_arg_spec_loop:n
}
%</package>
-%<*core|initex>
+%<*core>
\cs_new_protected:Npn \@@_normalize_type_v:w
{
\@@_normalize_check_gv:N v
@@ -2240,7 +2216,7 @@
% that is not possible without the risk of mistakenly grabbing the
% entire brace group (potentially leading to a~\texttt{!~Runaway argument}
% error) or trying to grab a |}|$_2$, leading to a~\texttt{!~Argument
-% of~\dots~has an extra~|}|}.
+% of~\dots~has an extra~\}}.
% \begin{macrocode}
\cs_new_protected:Npn \@@_allowed_token_check:N #1
{
@@ -2536,7 +2512,7 @@
% For the \texttt{G} type, the grabber and the default are added to the
% signature.
% \begin{macrocode}
-%</core|initex>
+%</core>
%<*package>
\cs_new_protected:Npn \@@_add_type_G:w #1
{
@@ -2560,7 +2536,7 @@
\@@_prepare_signature:N
}
%</package>
-%<*core|initex>
+%<*core>
% \end{macrocode}
% \end{macro}
%
@@ -2616,7 +2592,7 @@
% At the set up stage, the \texttt{u} type argument is identical to the
% \texttt{G} type except for the name of the grabber function.
% \begin{macrocode}
-%</core|initex>
+%</core>
%<*package>
\cs_new_protected:Npn \@@_add_type_u:w #1
{
@@ -2627,7 +2603,7 @@
\@@_prepare_signature:N
}
%</package>
-%<*core|initex>
+%<*core>
% \end{macrocode}
% \end{macro}
%
@@ -2846,12 +2822,12 @@
% parameter text ends with |#| in fact end up being delimited by an
% open brace.
% \begin{macrocode}
-%</core|initex>
+%</core>
%<*package>
\cs_new_protected:Npn \@@_add_expandable_type_l:w
{ \@@_add_expandable_type_u:w ## }
%</package>
-%<*core|initex>
+%<*core>
% \end{macrocode}
% \end{macro}
%
@@ -2900,7 +2876,7 @@
% Define an auxiliary that will be used directly in the signature. It
% grabs one argument delimited by |#1| and places it before \cs{q_@@}.
% \begin{macrocode}
-%</core|initex>
+%</core>
%<*package>
\cs_new_protected:Npn \@@_add_expandable_type_u:w #1
{
@@ -2915,7 +2891,7 @@
\@@_prepare_signature:N
}
%</package>
-%<*core|initex>
+%<*core>
% \end{macrocode}
% \end{macro}
%
@@ -3319,7 +3295,7 @@
% Optional groups are checked by meaning, so that the same code will
% work with, for example, \ConTeXt{}-like input.
% \begin{macrocode}
-%</core|initex>
+%</core>
%<*package>
\cs_new_protected:Npn \@@_grab_G:w #1 \@@_run_code:
{
@@ -3350,8 +3326,6 @@
{ \l_@@_fn_tl }
{ \@@_add_arg:o \c_novalue_tl }
}
-%</package>
-%<*core|initex>
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -3364,8 +3338,6 @@
% \begin{macro}{\@@_grab_l_aux:nN}
% Argument grabbers for mandatory \TeX{} arguments are pretty simple.
% \begin{macrocode}
-%</core|initex>
-%<*package>
\cs_new_protected:Npn \@@_grab_l:w #1 \@@_run_code:
{ \@@_grab_l_aux:nN {#1} \cs_set_protected_nopar:Npn }
\cs_new_protected:Npn \@@_grab_l_long:w #1 \@@_run_code:
@@ -3378,7 +3350,7 @@
\l_@@_fn_tl
}
%</package>
-%<*core|initex>
+%<*core>
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -3550,7 +3522,7 @@
% Grabbing up to a list of tokens is quite easy: define the grabber,
% and then collect.
% \begin{macrocode}
-%</core|initex>
+%</core>
%<*package>
\cs_new_protected:Npn \@@_grab_u:w #1#2 \@@_run_code:
{ \@@_grab_u_aux:nnN {#1} {#2} \cs_set_protected_nopar:Npn }
@@ -3564,7 +3536,7 @@
\l_@@_fn_tl
}
%</package>
-%<*core|initex>
+%<*core>
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -3761,9 +3733,6 @@
%
% \begin{macro}{\@@_grab_v_aux_catcodes:}
% \begin{macro}{\@@_grab_v_aux_abort:n}
-% In a standalone format, the list of special characters is kept
-% as a sequence, \cs{c_@@_special_chars_seq}, and we use
-% \tn{dospecials} in package mode.
% The approach for short verbatim arguments is to make the end-line
% character a macro parameter character: this is forbidden by the
% rest of the code. Then the error branch can check what caused the
@@ -3771,15 +3740,8 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_grab_v_aux_catcodes:
{
-%<*initex>
- \seq_map_function:NN
- \c_@@_special_chars_seq
- \char_set_catcode_other:N
-%</initex>
-%<*core>
\cs_set_eq:NN \do \char_set_catcode_other:N
\dospecials
-%</core>
\tex_endlinechar:D = `\^^M \scan_stop:
\bool_if:NTF \l_@@_long_bool
{ \char_set_catcode_other:n { \tex_endlinechar:D } }
@@ -5200,10 +5162,11 @@
% \end{macro}
%
% \begin{macrocode}
-%<*core>
\@@_file_end_hook:
+% \end{macrocode}
+%
+% \begin{macrocode}
%</core>
-%</core|initex>
% \end{macrocode}
%
% \begin{macrocode}