summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/l3kernel/l3keys.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/l3kernel/l3keys.dtx')
-rw-r--r--macros/latex/contrib/l3kernel/l3keys.dtx20
1 files changed, 14 insertions, 6 deletions
diff --git a/macros/latex/contrib/l3kernel/l3keys.dtx b/macros/latex/contrib/l3kernel/l3keys.dtx
index cf04ec82d2..8f5f984c79 100644
--- a/macros/latex/contrib/l3kernel/l3keys.dtx
+++ b/macros/latex/contrib/l3kernel/l3keys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-05-07}
+% \date{Released 2021-05-11}
%
% \maketitle
%
@@ -891,7 +891,7 @@
% \end{verbatim}
% are treated identically.
%
-% \begin{function}[rEXP, added=2020-12-19]{\keyval_parse:nnn}
+% \begin{function}[rEXP, added=2020-12-19, updated = 2021-05-10]{\keyval_parse:nnn}
% \begin{syntax}
% \cs{keyval_parse:nnn} \Arg{code_1} \Arg{code_2} \Arg{key--value list}
% \end{syntax}
@@ -929,7 +929,7 @@
% \end{texnote}
% \end{function}
%
-% \begin{function}[rEXP,updated = 2020-12-19]{\keyval_parse:NNn}
+% \begin{function}[rEXP, updated = 2021-05-10]{\keyval_parse:NNn}
% \begin{syntax}
% \cs{keyval_parse:NNn} \meta{function_1} \meta{function_2} \Arg{key--value list}
% \end{syntax}
@@ -1017,7 +1017,10 @@
% argument.
% \begin{macrocode}
\cs_new:Npn \keyval_parse:nnn ##1 ##2 ##3
- { \@@_loop_active:nnw {##1} {##2} \s_@@_mark ##3 #1 \s_@@_tail #1 }
+ {
+ \group_align_safe_begin:
+ \@@_loop_active:nnw {##1} {##2} \s_@@_mark ##3 #1 \s_@@_tail #1
+ }
\cs_new_eq:NN \keyval_parse:NNn \keyval_parse:nnn
% \end{macrocode}
% \end{macro}
@@ -1255,7 +1258,7 @@
\cs_new:Npn \@@_end_loop_active:w
\s_@@_tail
\@@_loop_other:nnw ##1 \s_@@_mark \s_@@_tail , \s_@@_tail ,
- { }
+ { \group_align_safe_end: }
% \end{macrocode}
% \end{macro}
%
@@ -1280,14 +1283,18 @@
{
\@@_if_blank:w \s_@@_mark #2 \s_@@_nil \s_@@_stop \@@_blank_key_error:w
\s_@@_mark \s_@@_stop
+ \group_align_safe_end:
\exp_not:n { #4 { #2 } { #1 } }
+ \group_align_safe_begin:
\@@_loop_other:nnw {#3} {#4}
}
\cs_new:Npn \@@_key:nn #1 #2
{
\@@_if_blank:w \s_@@_mark #1 \s_@@_nil \s_@@_stop \@@_blank_key_error:w
\s_@@_mark \s_@@_stop
+ \group_align_safe_end:
\exp_not:n { #2 { #1 } }
+ \group_align_safe_begin:
\@@_loop_other:nnw {#2}
}
% \end{macrocode}
@@ -1311,7 +1318,8 @@
% \begin{macrocode}
\cs_new:Npn \@@_blank_true:w \s_@@_mark \s_@@_stop \@@_trim:nN #1 \@@_key:nn
{ \@@_loop_other:nnw }
-\cs_new:Npn \@@_blank_key_error:w \s_@@_mark \s_@@_stop \exp_not:n #1
+\cs_new:Npn \@@_blank_key_error:w
+ \s_@@_mark \s_@@_stop \group_align_safe_end: \exp_not:n #1
{
\__kernel_msg_expandable_error:nn
{ keyval } { blank-key-name }