summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/l3packages
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-05-15 03:02:03 +0000
committerNorbert Preining <norbert@preining.info>2020-05-15 03:02:03 +0000
commit2cf53968f130744e9fe88bef59c11d80218cbb45 (patch)
tree52bbd7b05edea171c66c35bd439ef8f64d8eee8b /macros/latex/contrib/l3packages
parenta50631c54fcd57d69c71325208f42b3da94d98a1 (diff)
CTAN sync 202005150302
Diffstat (limited to 'macros/latex/contrib/l3packages')
-rw-r--r--macros/latex/contrib/l3packages/CHANGELOG.md8
-rw-r--r--macros/latex/contrib/l3packages/README.md2
-rw-r--r--macros/latex/contrib/l3packages/l3keys2e.dtx8
-rw-r--r--macros/latex/contrib/l3packages/l3keys2e.pdfbin347543 -> 347720 bytes
-rw-r--r--macros/latex/contrib/l3packages/xfp.dtx4
-rw-r--r--macros/latex/contrib/l3packages/xfp.pdfbin309887 -> 310099 bytes
-rw-r--r--macros/latex/contrib/l3packages/xfrac.dtx4
-rw-r--r--macros/latex/contrib/l3packages/xfrac.pdfbin454318 -> 454527 bytes
-rw-r--r--macros/latex/contrib/l3packages/xparse.dtx148
-rw-r--r--macros/latex/contrib/l3packages/xparse.ins5
-rw-r--r--macros/latex/contrib/l3packages/xparse.pdfbin505893 -> 506103 bytes
-rw-r--r--macros/latex/contrib/l3packages/xtemplate.dtx52
-rw-r--r--macros/latex/contrib/l3packages/xtemplate.pdfbin416401 -> 416612 bytes
13 files changed, 178 insertions, 53 deletions
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
--- a/macros/latex/contrib/l3packages/l3keys2e.pdf
+++ b/macros/latex/contrib/l3packages/l3keys2e.pdf
Binary files 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
--- a/macros/latex/contrib/l3packages/xfp.pdf
+++ b/macros/latex/contrib/l3packages/xfp.pdf
Binary files 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
--- a/macros/latex/contrib/l3packages/xfrac.pdf
+++ b/macros/latex/contrib/l3packages/xfrac.pdf
Binary files 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}
+%</package>
+% \end{macrocode}
+%
% \subsection{Reload check}
%
% A simple reload check.
% \begin{macrocode}
+%<*core>
\cs_if_exist:NT \NewDocumentCommand
{ \file_input_stop: }
+%</core>
% \end{macrocode}
%
+% Load the core code.
% \begin{macrocode}
-%</package>
+%<*2ekernel|package>
+\file_input:n { xparse-generic.tex }
+%</2ekernel|package>
% \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:
+%</core>
+% \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 }
%</initex>
-%<*package|2ekernel>
+%<*core>
\cs_if_exist:cTF { \l_@@_environment_str }
-%</package|2ekernel>
+%</core>
{
\__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 }
-%</package|2ekernel>
+%</core>
}
}
% \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
-%</package|2ekernel>
+%</core>
\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 }
-%</package|2ekernel>
+%</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
@@ -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
-%</package|2ekernel>
+%</core>
\exp_after:wN \l_@@_fn_code_tl \l_@@_args_tl
}
% \end{macrocode}
@@ -1885,11 +1905,39 @@
\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>
+%<*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
+ \cs_if_exist_use:cF { @@_normalize_type_ \tl_to_str:n {#1} :w }
+ {
\__kernel_msg_error:nnxx { xparse } { unknown-argument-type }
{ \@@_environment_or_command: } { \tl_to_str:n {#1} }
\@@_bad_def:wn
}
}
+%</package>
+%<*!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>
+%<*package>
+\cs_new_protected:Npx \@@_normalize_type_g:w
+ { \exp_not:N \@@_normalize_type_G:w { \exp_not:V \c_novalue_tl } }
+%</package>
+%<*!package>
% \end{macrocode}
% \end{macro}
%
@@ -2051,6 +2103,8 @@
\@@_normalize_E_unique_check:w #2 \q_stop
}
}
+%</!package>
+%<*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>
+%<*!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>
+%<*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>
+%<*!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>
+%<*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>
+%<*!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>
+%<*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>
+%<*!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>
+%<*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>
+%<*!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>
+%<*package>
\cs_new_protected:Npn \@@_add_expandable_type_l:w
{ \@@_add_expandable_type_u:w ## }
+%</package>
+%<*!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>
+%<*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>
+%<*!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>
+%<*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>
+%<*!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>
+%<*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>
+%<*!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>
+%<*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>
+%<*!package>
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -3694,10 +3786,10 @@
\c_@@_special_chars_seq
\char_set_catcode_other:N
%</initex>
-%<*package|2ekernel>
+%<*core>
\cs_set_eq:NN \do \char_set_catcode_other:N
\dospecials
-%</package|2ekernel>
+%</core>
\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}
%</2ekernel>
% \end{macrocode}
%
% \begin{macrocode}
-%</package|2ekernel>
+%<*core>
+\@@_file_end_hook:
+%</core>
+%</!package>
% \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
--- a/macros/latex/contrib/l3packages/xparse.pdf
+++ b/macros/latex/contrib/l3packages/xparse.pdf
Binary files 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
--- a/macros/latex/contrib/l3packages/xtemplate.pdf
+++ b/macros/latex/contrib/l3packages/xtemplate.pdf
Binary files differ