summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/l3packages/l3keys2e.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/l3packages/l3keys2e.dtx')
-rw-r--r--macros/latex/contrib/l3packages/l3keys2e.dtx27
1 files changed, 17 insertions, 10 deletions
diff --git a/macros/latex/contrib/l3packages/l3keys2e.dtx b/macros/latex/contrib/l3packages/l3keys2e.dtx
index c1c56bb803..052c071751 100644
--- a/macros/latex/contrib/l3packages/l3keys2e.dtx
+++ b/macros/latex/contrib/l3packages/l3keys2e.dtx
@@ -62,7 +62,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-07}
+% \date{Released 2022-06-16}
%
% \maketitle
%
@@ -139,7 +139,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3keys2e}{2022-06-07}{}
+\ProvidesExplPackage{l3keys2e}{2022-06-16}{}
{LaTeX2e option processing using LaTeX3 keys}
% \end{macrocode}
%
@@ -230,6 +230,7 @@
% \end{macro}
%
% \begin{macro}{\@@_latexe_options_class:n}
+% \begin{macro}{\@@_latexe_options_remove:nnn, \@@_latexe_options_remove:enn}
% For classes, each option (stripped of any content after |=|)
% is checked for existence as a key. If found, the option is added to
% the combined list for processing. On the other hand, unused options
@@ -249,15 +250,23 @@
{
\clist_map_inline:cn { opt@ \@currname . \@currext }
{
- \keys_if_exist:nxTF {#1} { \@@_latexe_remove_equals:n {##1} }
- { \clist_put_right:Nn \l_@@_latexe_options_clist {##1} }
- { \clist_put_right:Nn \@unusedoptionlist {##1} }
+ \@@_latexe_options_remove:enn
+ { \@@_latexe_remove_equals:n {##1} }
+ {##1} {#1}
}
}
}
}
+\cs_new_protected:Npn \@@_latexe_options_remove:nnn #1#2#3
+ {
+ \keys_if_exist:nnTF {#3} {#1}
+ { \clist_put_right:Nn \l_@@_latexe_options_clist {#2} }
+ { \clist_put_right:Nn \@unusedoptionlist {#1} }
+ }
+\cs_generate_variant:Nn \@@_latexe_options_remove:nnn { e }
% \end{macrocode}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\@@_latexe_options_package:n}
% For global options when processing a package, the tasks are slightly
@@ -269,11 +278,9 @@
{
\clist_map_inline:Nn \@classoptionslist
{
- \keys_if_exist:nxT {#1} { \@@_latexe_remove_equals:n {##1} }
- {
- \clist_put_right:Nn \l_@@_latexe_options_clist {##1}
- \clist_remove_all:Nn \@unusedoptionlist {##1}
- }
+ \@@_latexe_options_remove:enn
+ { \@@_latexe_remove_equals:n {##1} }
+ {##1} {#1}
}
}
% \end{macrocode}