diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx | 113 |
1 files changed, 78 insertions, 35 deletions
diff --git a/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx b/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx index 279b2e58c00..f56bcdf5e97 100644 --- a/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx +++ b/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx @@ -67,7 +67,7 @@ % }^^A % } % -% \date{Released 2020-03-03} +% \date{Released 2020-03-06} % % \maketitle % @@ -970,20 +970,73 @@ % \section{\pkg{xparse} implementation} % % \begin{macrocode} -%<*package> +%<@@=xparse> % \end{macrocode} % % \begin{macrocode} -%<@@=xparse> +%<*2ekernel> +% \end{macrocode} +% +% \begin{macrocode} +\everyjob\expandafter{\the\everyjob + \message{xparse <2020-03-03>}% +} +\ExplSyntaxOn % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{xparse}{2020-03-03}{} +%</2ekernel> +% \end{macrocode} +% +% \begin{macrocode} +%<*package> +% \end{macrocode} +% +% \begin{macrocode} +\ProvidesExplPackage{xparse}{2020-03-06}{} {L3 Experimental document command parser} % \end{macrocode} % +% \subsection{Package options} +% +% \begin{variable}{\l_@@_options_clist} +% \begin{variable}{\l_@@_log_bool} +% Key--value option to log information: done by hand to keep dependencies +% down. +% \begin{macrocode} +\clist_new:N \l_@@_options_clist +\DeclareOption* { \clist_put_right:NV \l_@@_options_clist \CurrentOption } +\ProcessOptions \relax +\keys_define:nn { xparse } + { + log-declarations .bool_set:N = \l_@@_log_bool , + log-declarations .initial:n = false + } +\keys_set:nV { xparse } \l_@@_options_clist +\bool_if:NF \l_@@_log_bool + { \msg_redirect_module:nnn { LaTeX / xparse } { info } { none } } +% \end{macrocode} +% \end{variable} +% \end{variable} +% +% \subsection{Reload check} +% +% A simple reload check. +% \begin{macrocode} +\cs_if_exist:NT \NewDocumentCommand + { \file_input_stop: } +% \end{macrocode} +% +% \begin{macrocode} +%</package> +% \end{macrocode} +% % \subsection{Variables and constants} % +% \begin{macrocode} +%<*package|2ekernel> +% \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. @@ -1424,9 +1477,9 @@ %<*initex> \cs_if_exist:cTF { environment~ \l_@@_environment_str } %</initex> -%<*package> +%<*package|2ekernel> \cs_if_exist:cTF { \l_@@_environment_str } -%</package> +%</package|2ekernel> { \__kernel_msg_info:nnxx { xparse } { redefine-environment } { \l_@@_environment_str } { \tl_to_str:n {#2} } @@ -1472,10 +1525,10 @@ \cs_generate_from_arg_count:cNnn { environment~ #1 ~end~aux~ } \cs_set:Npn \l_@@_current_arg_int {#4} -%<*package> +%<*package|2ekernel> \cs_set_eq:cc {#1} { environment~ #1 } \cs_set_eq:cc { end #1 } { environment~ #1 ~end } -%</package> +%</package|2ekernel> } } % \end{macrocode} @@ -1495,9 +1548,9 @@ % \begin{macrocode} \cs_new_protected:Npn \@@_start_env:nnnnn #1#2 { -%<*package> +%<*package|2ekernel> \cs_if_exist_use:N \conditionally@traceoff -%</package> +%</package|2ekernel> \str_set:Nn \l_@@_environment_str {#2} \bool_set_true:N \l_@@_environment_bool \@@_start_aux:ccnnnn @@ -1507,9 +1560,9 @@ } \cs_new_protected:Npx \@@_start:nNNnnn #1#2#3 { -%<*package> +%<*package|2ekernel> \exp_not:n { \cs_if_exist_use:N \conditionally@traceoff } -%</package> +%</package|2ekernel> \exp_not:c { xparse~function~is~not~expandable } \exp_not:n { \bool_set_false:N \l_@@_environment_bool } \exp_not:N \@@_start_aux:NNnnnn @@ -1546,9 +1599,9 @@ { \tl_if_empty:NF \l_@@_defaults_tl { \@@_defaults: } \tl_if_empty:NF \l_@@_process_all_tl { \@@_args_process: } -%<*package> +%<*package|2ekernel> \cs_if_exist_use:N \conditionally@traceon -%</package> +%</package|2ekernel> \exp_after:wN \l_@@_fn_code_tl \l_@@_args_tl } % \end{macrocode} @@ -3641,10 +3694,10 @@ \c_@@_special_chars_seq \char_set_catcode_other:N %</initex> -%<*package> +%<*package|2ekernel> \cs_set_eq:NN \do \char_set_catcode_other:N \dospecials -%</package> +%</package|2ekernel> \tex_endlinechar:D = `\^^M \scan_stop: \bool_if:NTF \l_@@_long_bool { \char_set_catcode_other:n { \tex_endlinechar:D } } @@ -5057,30 +5110,20 @@ % \end{macro} % \end{macro} % -% \subsection{Package options} +% \begin{macrocode} +%<*2ekernel> +% \end{macrocode} % -% \begin{variable}{\l_@@_options_clist} -% \begin{variable}{\l_@@_log_bool} -% Key--value option to log information: done by hand to keep dependencies -% down. % \begin{macrocode} -\clist_new:N \l_@@_options_clist -\DeclareOption* { \clist_put_right:NV \l_@@_options_clist \CurrentOption } -\ProcessOptions \relax -\keys_define:nn { xparse } - { - log-declarations .bool_set:N = \l_@@_log_bool , - log-declarations .initial:n = false - } -\keys_set:nV { xparse } \l_@@_options_clist -\bool_if:NF \l_@@_log_bool - { \msg_redirect_module:nnn { LaTeX / xparse } { info } { none } } +\ExplSyntaxOff % \end{macrocode} -% \end{variable} -% \end{variable} % % \begin{macrocode} -%</package> +%</2ekernel> +% \end{macrocode} +% +% \begin{macrocode} +%</package|2ekernel> % \end{macrocode} % % \end{implementation} |