summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-05-25 20:56:40 +0000
committerKarl Berry <karl@freefriends.org>2023-05-25 20:56:40 +0000
commit7710aef62454bfc451d8cc0643d2707643d05bb0 (patch)
tree67212747804ff389cb0afae45d2794b9e93f1df6 /Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
parent6ee34168ae583fe1e26ef62fa4084f20a51badbe (diff)
l3kernel (24may23)
git-svn-id: svn://tug.org/texlive/trunk@67219 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/l3kernel/l3keys.dtx')
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3keys.dtx24
1 files changed, 17 insertions, 7 deletions
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
index 64a301d906b..84d5bc1d968 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-05-15}
+% \date{Released 2023-05-22}
%
% \maketitle
%
@@ -1888,7 +1888,7 @@
\@@_cmd_set_direct:nn { \l_keys_path_str / unknown }
{
\msg_error:nnx { keys } { boolean-values-only }
- \l_keys_key_str
+ \l_keys_path_str
}
\@@_default_set:n { true }
}
@@ -2063,6 +2063,8 @@
%
% \begin{macro}{\@@_initialise:n}
% A set up for initialisation: just run the code if it exists.
+% We need to set the key string here, using the deprecated \texttt{tl}
+% as a piece of scratch space.
% \begin{macrocode}
\cs_new_protected:Npn \@@_initialise:n #1
{
@@ -2072,7 +2074,13 @@
{
\str_clear:N \l_@@_inherit_str
\cs_if_exist:cT { \c_@@_code_root_str \l_keys_path_str }
- { \@@_execute:nn \l_keys_path_str {#1} }
+ {
+ \exp_after:wN \@@_find_key_module:wNN
+ \l_keys_path_str \s_@@_stop
+ \l_keys_key_tl \l_keys_key_str
+ \tl_set_eq:NN \l_keys_key_tl \l_keys_key_str
+ \@@_execute:nn \l_keys_path_str {#1}
+ }
}
}
% \end{macrocode}
@@ -2097,7 +2105,7 @@
\@@_cmd_set:nn { \l_keys_path_str / unknown }
{
\msg_error:nnx { keys } { boolean-values-only }
- \l_keys_key_str
+ \l_keys_path_str
}
\@@_default_set:n { true }
\cs_if_exist:cF { if#1 }
@@ -2112,20 +2120,22 @@
%
% \begin{macro}{\@@_meta_make:n}
% \begin{macro}{\@@_meta_make:nn}
-% To create a meta-key, simply set up to pass data through.
+% To create a meta-key, simply set up to pass data through. The internal
+% function is used here as a meta key should respect the prevailing
+% filtering, etc.
% \begin{macrocode}
\cs_new_protected:Npn \@@_meta_make:n #1
{
\exp_args:NVo \@@_cmd_set_direct:nn \l_keys_path_str
{
- \exp_after:wN \keys_set:nn \exp_after:wN
+ \exp_after:wN \@@_set:nn \exp_after:wN
{ \l_@@_module_str } {#1}
}
}
\cs_new_protected:Npn \@@_meta_make:nn #1#2
{
\exp_args:NV \@@_cmd_set_direct:nn
- \l_keys_path_str { \keys_set:nn {#1} {#2} }
+ \l_keys_path_str { \@@_set:nn {#1} {#2} }
}
% \end{macrocode}
% \end{macro}