From 2cf53968f130744e9fe88bef59c11d80218cbb45 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Fri, 15 May 2020 03:02:03 +0000 Subject: CTAN sync 202005150302 --- macros/latex/contrib/l3packages/CHANGELOG.md | 8 +- macros/latex/contrib/l3packages/README.md | 2 +- macros/latex/contrib/l3packages/l3keys2e.dtx | 8 +- macros/latex/contrib/l3packages/l3keys2e.pdf | Bin 347543 -> 347720 bytes macros/latex/contrib/l3packages/xfp.dtx | 4 +- macros/latex/contrib/l3packages/xfp.pdf | Bin 309887 -> 310099 bytes macros/latex/contrib/l3packages/xfrac.dtx | 4 +- macros/latex/contrib/l3packages/xfrac.pdf | Bin 454318 -> 454527 bytes macros/latex/contrib/l3packages/xparse.dtx | 148 +++++++++++++++++++++----- macros/latex/contrib/l3packages/xparse.ins | 5 +- macros/latex/contrib/l3packages/xparse.pdf | Bin 505893 -> 506103 bytes macros/latex/contrib/l3packages/xtemplate.dtx | 52 ++++++--- macros/latex/contrib/l3packages/xtemplate.pdf | Bin 416401 -> 416612 bytes 13 files changed, 178 insertions(+), 53 deletions(-) (limited to 'macros/latex/contrib/l3packages') diff --git a/macros/latex/contrib/l3packages/CHANGELOG.md b/macros/latex/contrib/l3packages/CHANGELOG.md index 515f5d001b..ee88f4780f 100644 --- a/macros/latex/contrib/l3packages/CHANGELOG.md +++ b/macros/latex/contrib/l3packages/CHANGELOG.md @@ -7,6 +7,11 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2020-05-14] + +### Changed +- Internal packaging of `xparse` in advance of changes to the LaTeX2e kernel + ## [2020-03-06] ### Added @@ -92,7 +97,8 @@ this project uses date-based 'snapshot' version identifiers. - Switch to ISO date format - Improve cross-module use of internal functions -[Unreleased]: https://github.com/latex3/latex3/compare/2020-03-06...HEAD +[Unreleased]: https://github.com/latex3/latex3/compare/2020-05-14...HEAD +[2020-05-14]: https://github.com/latex3/latex3/compare/2020-03-06...2020-05-14 [2020-03-06]: https://github.com/latex3/latex3/compare/2020-03-03...2020-03-06 [2020-03-03]: https://github.com/latex3/latex3/compare/2020-02-25...2020-03-03 [2020-02-25]: https://github.com/latex3/latex3/compare/2020-02-14...2020-02-25 diff --git a/macros/latex/contrib/l3packages/README.md b/macros/latex/contrib/l3packages/README.md index dbfd91cf34..8f505b0141 100644 --- a/macros/latex/contrib/l3packages/README.md +++ b/macros/latex/contrib/l3packages/README.md @@ -1,7 +1,7 @@ LaTeX3 High-Level Concepts ========================== -Release 2020-03-06 +Release 2020-05-14 Overview -------- diff --git a/macros/latex/contrib/l3packages/l3keys2e.dtx b/macros/latex/contrib/l3packages/l3keys2e.dtx index d6701c4519..6a09bb18bd 100644 --- a/macros/latex/contrib/l3packages/l3keys2e.dtx +++ b/macros/latex/contrib/l3packages/l3keys2e.dtx @@ -62,7 +62,7 @@ % }^^A % } % -% \date{Released 2020-03-06} +% \date{Released 2020-05-14} % % \maketitle % @@ -139,7 +139,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3keys2e}{2020-03-06}{} +\ProvidesExplPackage{l3keys2e}{2020-05-14}{} {LaTeX2e option processing using LaTeX3 keys} % \end{macrocode} % @@ -299,8 +299,8 @@ % so that there will always be a sign available. % \begin{macrocode} \cs_new:Npn \@@_latexe_remove_equals:n #1 - { \@@_latexe_remove_equals:w #1 = \q_stop } -\cs_new:Npn \@@_latexe_remove_equals:w #1 = #2 \q_stop { \exp_not:n {#1} } + { \@@_latexe_remove_equals:w #1 = \s_@@_stop } +\cs_new:Npn \@@_latexe_remove_equals:w #1 = #2 \s_@@_stop { \exp_not:n {#1} } % \end{macrocode} % \end{macro} % \end{macro} diff --git a/macros/latex/contrib/l3packages/l3keys2e.pdf b/macros/latex/contrib/l3packages/l3keys2e.pdf index 497301bdf7..0611a9b979 100644 Binary files a/macros/latex/contrib/l3packages/l3keys2e.pdf and b/macros/latex/contrib/l3packages/l3keys2e.pdf differ diff --git a/macros/latex/contrib/l3packages/xfp.dtx b/macros/latex/contrib/l3packages/xfp.dtx index afdd9e189c..e0ebede0f9 100644 --- a/macros/latex/contrib/l3packages/xfp.dtx +++ b/macros/latex/contrib/l3packages/xfp.dtx @@ -64,7 +64,7 @@ % }^^A % } % -% \date{Released 2020-03-06} +% \date{Released 2020-05-14} % % \maketitle % @@ -167,7 +167,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{xfp}{2020-03-06}{} +\ProvidesExplPackage{xfp}{2020-05-14}{} {L3 Floating point unit} % \end{macrocode} % diff --git a/macros/latex/contrib/l3packages/xfp.pdf b/macros/latex/contrib/l3packages/xfp.pdf index 2191564816..96c91d897d 100644 Binary files a/macros/latex/contrib/l3packages/xfp.pdf and b/macros/latex/contrib/l3packages/xfp.pdf differ diff --git a/macros/latex/contrib/l3packages/xfrac.dtx b/macros/latex/contrib/l3packages/xfrac.dtx index 7be07c978e..275aa6859a 100644 --- a/macros/latex/contrib/l3packages/xfrac.dtx +++ b/macros/latex/contrib/l3packages/xfrac.dtx @@ -65,7 +65,7 @@ % }^^A % } % -% \date{Released 2020-03-06} +% \date{Released 2020-05-14} % % \maketitle % @@ -535,7 +535,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{xfrac}{2020-03-06}{} +\ProvidesExplPackage{xfrac}{2020-05-14}{} {L3 Experimental split-level fractions} % \end{macrocode} % diff --git a/macros/latex/contrib/l3packages/xfrac.pdf b/macros/latex/contrib/l3packages/xfrac.pdf index a6b5f6a7c9..9454c240a2 100644 Binary files a/macros/latex/contrib/l3packages/xfrac.pdf and b/macros/latex/contrib/l3packages/xfrac.pdf differ diff --git a/macros/latex/contrib/l3packages/xparse.dtx b/macros/latex/contrib/l3packages/xparse.dtx index f56bcdf5e9..c700434903 100644 --- a/macros/latex/contrib/l3packages/xparse.dtx +++ b/macros/latex/contrib/l3packages/xparse.dtx @@ -67,7 +67,7 @@ % }^^A % } % -% \date{Released 2020-03-06} +% \date{Released 2020-05-14} % % \maketitle % @@ -304,7 +304,7 @@ % follow such a command. The most common example is the use of \cmd{\\} in % \pkg{amsmath} environments. In \pkg{xparse} terms it has signature % \begin{verbatim} -% \DeclareDocumentCommad \\ { !s !o } { ... } +% \DeclareDocumentCommand \\ { !s !o } { ... } % \end{verbatim} % % \subsection{Required delimited arguments} @@ -993,7 +993,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{xparse}{2020-03-06}{} +\ProvidesExplPackage{xparse}{2020-05-14}{} {L3 Experimental document command parser} % \end{macrocode} % @@ -1019,22 +1019,31 @@ % \end{variable} % \end{variable} % +% \begin{macrocode} +% +% \end{macrocode} +% % \subsection{Reload check} % % A simple reload check. % \begin{macrocode} +%<*core> \cs_if_exist:NT \NewDocumentCommand { \file_input_stop: } +% % \end{macrocode} % +% Load the core code. % \begin{macrocode} -% +%<*2ekernel|package> +\file_input:n { xparse-generic.tex } +% % \end{macrocode} % % \subsection{Variables and constants} % % \begin{macrocode} -%<*package|2ekernel> +%<*!package> % \end{macrocode} % % \begin{variable}{\c_@@_special_chars_seq} @@ -1049,6 +1058,17 @@ % \end{macrocode} % \end{variable} % +% \begin{macrocode} +%<*core> +\if_charcode:w xx + \cs_new:Npn \@@_file_end_hook: { } +\else + \ExplSyntaxOn + \cs_new:Npn \@@_file_end_hook: { \ExplSyntaxOff } +\fi: +% +% \end{macrocode} +% % \begin{variable}{\l_@@_arg_spec_tl} % Holds the argument specification after normalization of shorthands. % \begin{macrocode} @@ -1477,9 +1497,9 @@ %<*initex> \cs_if_exist:cTF { environment~ \l_@@_environment_str } % -%<*package|2ekernel> +%<*core> \cs_if_exist:cTF { \l_@@_environment_str } -% +% { \__kernel_msg_info:nnxx { xparse } { redefine-environment } { \l_@@_environment_str } { \tl_to_str:n {#2} } @@ -1525,10 +1545,10 @@ \cs_generate_from_arg_count:cNnn { environment~ #1 ~end~aux~ } \cs_set:Npn \l_@@_current_arg_int {#4} -%<*package|2ekernel> +%<*core> \cs_set_eq:cc {#1} { environment~ #1 } \cs_set_eq:cc { end #1 } { environment~ #1 ~end } -% +% } } % \end{macrocode} @@ -1548,9 +1568,9 @@ % \begin{macrocode} \cs_new_protected:Npn \@@_start_env:nnnnn #1#2 { -%<*package|2ekernel> +%<*core> \cs_if_exist_use:N \conditionally@traceoff -% +% \str_set:Nn \l_@@_environment_str {#2} \bool_set_true:N \l_@@_environment_bool \@@_start_aux:ccnnnn @@ -1560,9 +1580,9 @@ } \cs_new_protected:Npx \@@_start:nNNnnn #1#2#3 { -%<*package|2ekernel> +%<*core> \exp_not:n { \cs_if_exist_use:N \conditionally@traceoff } -% +% \exp_not:c { xparse~function~is~not~expandable } \exp_not:n { \bool_set_false:N \l_@@_environment_bool } \exp_not:N \@@_start_aux:NNnnnn @@ -1599,9 +1619,9 @@ { \tl_if_empty:NF \l_@@_defaults_tl { \@@_defaults: } \tl_if_empty:NF \l_@@_process_all_tl { \@@_args_process: } -%<*package|2ekernel> +%<*core> \cs_if_exist_use:N \conditionally@traceon -% +% \exp_after:wN \l_@@_fn_code_tl \l_@@_args_tl } % \end{macrocode} @@ -1880,6 +1900,32 @@ { \bool_set_false:N \l_@@_grab_expandably_bool } } \cs_new_protected:Npn \@@_normalize_arg_spec_loop:n #1 + { + \quark_if_recursion_tail_stop:n {#1} + \int_incr:N \l_@@_current_arg_int + \cs_if_exist_use:cF { @@_normalize_type_ \tl_to_str:n {#1} :w } + { + \bool_lazy_any:nTF + { + { \str_if_eq_p:nn {#1} { G } } + { \str_if_eq_p:nn {#1} { g } } + { \str_if_eq_p:nn {#1} { l } } + { \str_if_eq_p:nn {#1} { u } } + } + { + \__kernel_msg_error:nnxx { xparse } { xparse-argument-type } + { \@@_environment_or_command: } { \tl_to_str:n {#1} } + } + { + \__kernel_msg_error:nnxx { xparse } { unknown-argument-type } + { \@@_environment_or_command: } { \tl_to_str:n {#1} } + } + \@@_bad_def:wn + } + } +% +%<*package> +\cs_gset_protected:Npn \@@_normalize_arg_spec_loop:n #1 { \quark_if_recursion_tail_stop:n {#1} \int_incr:N \l_@@_current_arg_int @@ -1890,6 +1936,8 @@ \@@_bad_def:wn } } +% +%<*!package> % \end{macrocode} % \end{macro} % \end{macro} @@ -1923,8 +1971,6 @@ \quark_if_recursion_tail_stop_do:nn {##1} { \@@_bad_arg_spec:wn } \@@_normalize_type_E:w {##1} { } } - \cs_new_protected:Npn \@@_normalize_type_g:w - { \@@_normalize_type_G:w {#1} } \cs_new_protected:Npn \@@_normalize_type_o:w { \@@_normalize_type_D:w [ ] {#1} } \cs_new_protected:Npn \@@_normalize_type_O:w @@ -1938,6 +1984,12 @@ { \@@_normalize_type_t:w * } } \exp_args:No \@@_tmp:w { \c_novalue_tl } +% +%<*package> +\cs_new_protected:Npx \@@_normalize_type_g:w + { \exp_not:N \@@_normalize_type_G:w { \exp_not:V \c_novalue_tl } } +% +%<*!package> % \end{macrocode} % \end{macro} % @@ -2051,6 +2103,8 @@ \@@_normalize_E_unique_check:w #2 \q_stop } } +% +%<*package> \cs_new_protected:Npn \@@_normalize_type_G:w #1 { \quark_if_recursion_tail_stop_do:nn {#1} { \@@_bad_arg_spec:wn } @@ -2059,6 +2113,8 @@ \tl_put_right:Nn \l_@@_last_delimiters_tl { { } } \@@_normalize_arg_spec_loop:n } +% +%<*!package> \cs_new_protected:Npn \@@_normalize_type_t:w #1 { \quark_if_recursion_tail_stop_do:Nn #1 { \@@_bad_arg_spec:wn } @@ -2095,12 +2151,16 @@ % \cs{l_@@_arg_spec_tl}, count the mandatory argument, and empty the % list of last delimiters. % \begin{macrocode} +% +%<*package> \cs_new_protected:Npn \@@_normalize_type_l:w { \@@_normalize_check_lu:N l \@@_add_arg_spec_mandatory:n { l } \@@_normalize_arg_spec_loop:n } +% +%<*!package> \cs_new_protected:Npn \@@_normalize_type_m:w { \@@_delimiter_check:nnn { } { m } { \iow_char:N \{ } @@ -2117,6 +2177,8 @@ \@@_add_arg_spec_mandatory:n { R #1 #2 {#3} } \@@_normalize_arg_spec_loop:n } +% +%<*package> \cs_new_protected:Npn \@@_normalize_type_u:w #1 { \quark_if_recursion_tail_stop_do:nn {#1} { \@@_bad_arg_spec:wn } @@ -2124,6 +2186,8 @@ \@@_add_arg_spec_mandatory:n { u {#1} } \@@_normalize_arg_spec_loop:n } +% +%<*!package> \cs_new_protected:Npn \@@_normalize_type_v:w { \@@_normalize_check_gv:N v @@ -2482,6 +2546,8 @@ % For the \texttt{G} type, the grabber and the default are added to the % signature. % \begin{macrocode} +% +%<*package> \cs_new_protected:Npn \@@_add_type_G:w #1 { \@@_flush_m_args: @@ -2503,6 +2569,8 @@ \@@_add_grabber:N l \@@_prepare_signature:N } +% +%<*!package> % \end{macrocode} % \end{macro} % @@ -2558,6 +2626,8 @@ % 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} +% +%<*package> \cs_new_protected:Npn \@@_add_type_u:w #1 { \@@_flush_m_args: @@ -2566,6 +2636,8 @@ \tl_put_right:Nn \l_@@_signature_tl { {#1} } \@@_prepare_signature:N } +% +%<*!package> % \end{macrocode} % \end{macro} % @@ -2784,8 +2856,12 @@ % parameter text ends with |#| in fact end up being delimited by an % open brace. % \begin{macrocode} +% +%<*package> \cs_new_protected:Npn \@@_add_expandable_type_l:w { \@@_add_expandable_type_u:w ## } +% +%<*!package> % \end{macrocode} % \end{macro} % @@ -2834,6 +2910,8 @@ % 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} +% +%<*package> \cs_new_protected:Npn \@@_add_expandable_type_u:w #1 { \@@_add_default: @@ -2846,6 +2924,8 @@ { \exp_not:c { \l_@@_expandable_aux_name_tl } } \@@_prepare_signature:N } +% +%<*!package> % \end{macrocode} % \end{macro} % @@ -3249,6 +3329,8 @@ % Optional groups are checked by meaning, so that the same code will % work with, for example, \ConTeXt{}-like input. % \begin{macrocode} +% +%<*package> \cs_new_protected:Npn \@@_grab_G:w #1 \@@_run_code: { \@@_grab_G_aux:nNN {#1} \cs_set_protected_nopar:Npn @@ -3278,6 +3360,8 @@ { \l_@@_fn_tl } { \@@_add_arg:o \c_novalue_tl } } +% +%<*!package> % \end{macrocode} % \end{macro} % \end{macro} @@ -3290,6 +3374,8 @@ % \begin{macro}{\@@_grab_l_aux:nN} % Argument grabbers for mandatory \TeX{} arguments are pretty simple. % \begin{macrocode} +% +%<*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: @@ -3301,6 +3387,8 @@ { \@@_add_arg:n {##1} } \l_@@_fn_tl } +% +%<*!package> % \end{macrocode} % \end{macro} % \end{macro} @@ -3472,6 +3560,8 @@ % Grabbing up to a list of tokens is quite easy: define the grabber, % and then collect. % \begin{macrocode} +% +%<*package> \cs_new_protected:Npn \@@_grab_u:w #1#2 \@@_run_code: { \@@_grab_u_aux:nnN {#1} {#2} \cs_set_protected_nopar:Npn } \cs_new_protected:Npn \@@_grab_u_long:w #1#2 \@@_run_code: @@ -3483,6 +3573,8 @@ { \@@_add_arg:n {##1} } \l_@@_fn_tl } +% +%<*!package> % \end{macrocode} % \end{macro} % \end{macro} @@ -3694,10 +3786,10 @@ \c_@@_special_chars_seq \char_set_catcode_other:N % -%<*package|2ekernel> +%<*core> \cs_set_eq:NN \do \char_set_catcode_other:N \dospecials -% +% \tex_endlinechar:D = `\^^M \scan_stop: \bool_if:NTF \l_@@_long_bool { \char_set_catcode_other:n { \tex_endlinechar:D } } @@ -4762,6 +4854,13 @@ The~letter~'#2'~does~not~specify~a~known~argument~type. \c_@@_ignore_def_tl } +\__kernel_msg_new:nnnn { xparse } { xparse-argument-type } + { Deprecated~argument~type~'#2'~for~the~#1~requires~xparse. } + { + The~letter~'#2'~specifies~a~known~argument~type~that~requires~ + the~xparse~package. + \c_@@_ignore_def_tl + } % \end{macrocode} % % Errors when using commands/environments. The \texttt{if-boolean} @@ -5112,18 +5211,15 @@ % % \begin{macrocode} %<*2ekernel> -% \end{macrocode} -% -% \begin{macrocode} \ExplSyntaxOff -% \end{macrocode} -% -% \begin{macrocode} % % \end{macrocode} % % \begin{macrocode} -% +%<*core> +\@@_file_end_hook: +% +% % \end{macrocode} % % \end{implementation} diff --git a/macros/latex/contrib/l3packages/xparse.ins b/macros/latex/contrib/l3packages/xparse.ins index d40f7cd6f2..17a94782a4 100644 --- a/macros/latex/contrib/l3packages/xparse.ins +++ b/macros/latex/contrib/l3packages/xparse.ins @@ -42,7 +42,8 @@ and all files in that bundle must be distributed together. \keepsilent -\generate{\file{xparse.sty} {\from{xparse.dtx} {package}} - \file{xparse.ltx} {\from{xparse.dtx} {2ekernel}}} +\generate{\file{xparse-generic.tex}{\from{xparse.dtx}{core}} + \file{xparse.sty}{\from{xparse.dtx}{package}} + \file{xparse.ltx}{\from{xparse.dtx}{2ekernel}}} \endbatchfile diff --git a/macros/latex/contrib/l3packages/xparse.pdf b/macros/latex/contrib/l3packages/xparse.pdf index 76fe65c72b..7813fa3526 100644 Binary files a/macros/latex/contrib/l3packages/xparse.pdf and b/macros/latex/contrib/l3packages/xparse.pdf differ diff --git a/macros/latex/contrib/l3packages/xtemplate.dtx b/macros/latex/contrib/l3packages/xtemplate.dtx index 2236b30f97..897d1d3f84 100644 --- a/macros/latex/contrib/l3packages/xtemplate.dtx +++ b/macros/latex/contrib/l3packages/xtemplate.dtx @@ -63,7 +63,7 @@ % }^^A % } % -% \date{Released 2020-03-06} +% \date{Released 2020-05-14} % % \maketitle % @@ -682,7 +682,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{xtemplate}{2020-03-06}{} +\ProvidesExplPackage{xtemplate}{2020-05-14}{} {L3 Experimental prototype document functions} % \end{macrocode} % @@ -858,6 +858,28 @@ % \end{macrocode} % \end{variable} % +% \begin{variable}{\s_@@_mark,\s_@@_stop} +% Internal scan marks. +% \begin{macrocode} +\scan_new:N \s_@@_mark +\scan_new:N \s_@@_stop +% \end{macrocode} +% \end{variable} +% +% \begin{variable}{\q_@@_nil} +% Internal quarks. +% \begin{macrocode} +\quark_new:N \q_@@_nil +% \end{macrocode} +% \end{variable} +% +% \begin{macro}[pTF]{\@@_quark_if_nil:n} +% Branching quark conditional. +% \begin{macrocode} +\__kernel_quark_new_conditional:Nn \@@_quark_if_nil:N { F } +% \end{macrocode} +% \end{macro} +% % \subsection{Variant of prop functions} % % \begin{macro}[TF]{\prop_get:NoN} @@ -1300,7 +1322,7 @@ { \tl_clear:N \l_@@_key_name_tl \exp_after:wN \@@_split_keytype_aux:w - \l_@@_tmp_tl \q_stop + \l_@@_tmp_tl \s_@@_stop } } { @@ -1311,7 +1333,7 @@ \use:x { \cs_new_protected:Npn \exp_not:N \@@_split_keytype_aux:w - ##1 \token_to_str:N : ##2 \exp_not:N \q_stop + ##1 \token_to_str:N : ##2 \s_@@_stop { \tl_put_right:Nx \exp_not:N \l_@@_key_name_tl { \exp_not:N \tl_to_str:n {##1} } @@ -1319,7 +1341,7 @@ { \tl_put_right:Nn \exp_not:N \l_@@_key_name_tl { \token_to_str:N : } - \exp_not:N \@@_split_keytype_aux:w ##2 \exp_not:N \q_stop + \exp_not:N \@@_split_keytype_aux:w ##2 \s_@@_stop } { \exp_not:N \tl_if_empty:NTF \exp_not:N \l_@@_key_name_tl @@ -1357,7 +1379,7 @@ \tl_if_in:nnT {#1} {##1} { \cs_set:Npn \@@_split_keytype_arg_aux:w - ####1 ##1 ####2 \q_stop + ####1 ##1 ####2 \s_@@_stop { \tl_if_empty:nT {####1} { @@ -1366,7 +1388,7 @@ \seq_map_break: } } - \@@_split_keytype_arg_aux:w #1 \q_stop + \@@_split_keytype_arg_aux:w #1 \s_@@_stop } } \seq_map_function:NN \c_@@_keytypes_arg_seq @@ -1374,7 +1396,7 @@ } \cs_generate_variant:Nn \@@_split_keytype_arg:n { o } \cs_new:Npn \@@_split_keytype_arg_aux:n #1 { } -\cs_new:Npn \@@_split_keytype_arg_aux:w #1 \q_stop { } +\cs_new:Npn \@@_split_keytype_arg_aux:w #1 \s_@@_stop { } % \end{macrocode} % \end{macro} % \end{macro} @@ -1628,7 +1650,7 @@ } { \tl_if_in:nnTF {#1} { global } - { \@@_parse_vars_elt_aux:w #1 \q_stop } + { \@@_parse_vars_elt_aux:w #1 \s_@@_stop } { \msg_error:nnx { xtemplate } { bad-variable } { \tl_to_str:n {#1} } @@ -1637,7 +1659,7 @@ } } } -\cs_new_protected:Npn \@@_parse_vars_elt_aux:w #1 global #2 \q_stop +\cs_new_protected:Npn \@@_parse_vars_elt_aux:w #1 global #2 \s_@@_stop { \tl_if_empty:nTF {#1} { @@ -2060,10 +2082,10 @@ \bool_set_false:N \l_@@_global_bool \tl_if_in:onT \l_@@_var_tl { global } { - \exp_after:wN \@@_find_global_aux:w \l_@@_var_tl \q_stop + \exp_after:wN \@@_find_global_aux:w \l_@@_var_tl \s_@@_stop } } -\cs_new_protected:Npn \@@_find_global_aux:w #1 global #2 \q_stop +\cs_new_protected:Npn \@@_find_global_aux:w #1 global #2 \s_@@_stop { \tl_set:Nn \l_@@_var_tl {#2} \bool_set_true:N \l_@@_global_bool @@ -2377,16 +2399,16 @@ \l_@@_value_tl { \exp_after:wN \@@_key_to_value_auxii:w \l_@@_value_tl - \q_mark global \q_nil \q_stop + \s_@@_mark global \q_@@_nil \s_@@_stop } { \msg_error:nnx { xtemplate } { unknown-attribute } { \l_@@_tmp_tl } } } -\cs_new_protected:Npn \@@_key_to_value_auxii:w #1 global #2#3 \q_stop +\cs_new_protected:Npn \@@_key_to_value_auxii:w #1 global #2#3 \s_@@_stop { - \quark_if_nil:NF #2 + \@@_quark_if_nil:NF #2 { \tl_set:Nn \l_@@_value_tl {#2} } } % \end{macrocode} diff --git a/macros/latex/contrib/l3packages/xtemplate.pdf b/macros/latex/contrib/l3packages/xtemplate.pdf index 68bbd25f44..e69b3a4142 100644 Binary files a/macros/latex/contrib/l3packages/xtemplate.pdf and b/macros/latex/contrib/l3packages/xtemplate.pdf differ -- cgit v1.2.3