[latex3-commits] [latex3/latex3] seq-filter: Deprecate \keys_set_filter:nnn(nN) (50b550b1e)

github at latex-project.org github at latex-project.org
Wed Jan 10 09:49:35 CET 2024


Repository : https://github.com/latex3/latex3
On branch  : seq-filter
Link       : https://github.com/latex3/latex3/commit/50b550b1efedb60f69215363326326475425c31a

>---------------------------------------------------------------

commit 50b550b1efedb60f69215363326326475425c31a
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Wed Jan 10 07:46:35 2024 +0000

    Deprecate \keys_set_filter:nnn(nN)


>---------------------------------------------------------------

50b550b1efedb60f69215363326326475425c31a
 l3kernel/CHANGELOG.md            |  6 ++++
 l3kernel/doc/l3obsolete.txt      | 12 +++++++
 l3kernel/l3deprecation.dtx       | 27 ++++++++++++++++
 l3kernel/l3keys.dtx              | 68 ++++++++++++++++++++--------------------
 l3kernel/testfiles/m3keys004.lvt | 20 ++++++------
 l3kernel/testfiles/m3keys004.tlg |  4 +--
 l3trial/l3check/l3check.dtx      |  4 +--
 7 files changed, 93 insertions(+), 48 deletions(-)

diff --git a/l3kernel/CHANGELOG.md b/l3kernel/CHANGELOG.md
index 30d1e68da..deea9033a 100644
--- a/l3kernel/CHANGELOG.md
+++ b/l3kernel/CHANGELOG.md
@@ -7,10 +7,16 @@ this project uses date-based 'snapshot' version identifiers.
 
 ## [Unreleased]
 
+### Added
+- `\keys_set_exclude_groups:nnn(nN)` to replace `\keys_set_filter:nnn(nN)`
+
 ### Changed
 - Set `l3doc` option `kernel` off as-standard (issue \#1403)
 - Moved `\seq_set_filter:NNn` to stable
 
+### Deprecated
+- `\keys_set_filter:nnn(nN)` in favor of  `\keys_set_exclude_groups:nnn(nN)`
+
 ## [2024-01-04]
 
 ### Added
diff --git a/l3kernel/doc/l3obsolete.txt b/l3kernel/doc/l3obsolete.txt
index 2066ef6f0..a6a046256 100644
--- a/l3kernel/doc/l3obsolete.txt
+++ b/l3kernel/doc/l3obsolete.txt
@@ -37,6 +37,18 @@ Function                            Date deprecated
 \iow_shipout_x:cx                        2023-09-17
 \iow_shipout_x:Nn                        2023-09-17
 \iow_shipout_x:Nx                        2023-09-17
+\keys_set_filter:nnn                     2024-01-10
+\keys_set_filter:nnV                     2024-01-10
+\keys_set_filter:nnv                     2024-01-10
+\keys_set_filter:nno                     2024-01-10
+\keys_set_filter:nnnN                    2024-01-10
+\keys_set_filter:nnVN                    2024-01-10
+\keys_set_filter:nnvN                    2024-01-10
+\keys_set_filter:nnoN                    2024-01-10
+\keys_set_filter:nnnnN                   2024-01-10
+\keys_set_filter:nnVnN                   2024-01-10
+\keys_set_filter:nnvnN                   2024-01-10
+\keys_set_filter:nnonN                   2024-01-10
 \l_keys_key_tl                           2020-02-08
 \l_keys_path_tl                          2020-02-08
 \l_text_accents_tl                       2023-02-07
diff --git a/l3kernel/l3deprecation.dtx b/l3kernel/l3deprecation.dtx
index c19793808..0882fcd64 100644
--- a/l3kernel/l3deprecation.dtx
+++ b/l3kernel/l3deprecation.dtx
@@ -503,6 +503,33 @@
 % \end{macro}
 % \end{macro}
 %
+% \begin{macro}[deprecated]
+%   {
+%     \keys_set_exclude_groups:nnnN, \keys_set_exclude_groups:nnVN,
+%     \keys_set_exclude_groups:nnvN, \keys_set_exclude_groups:nnoN
+%   }
+% \begin{macro}[deprecated]
+%   {
+%     \keys_set_exclude_groups:nnnnN, \keys_set_exclude_groups:nnVnN,
+%     \keys_set_exclude_groups:nnvnN, \keys_set_exclude_groups:nnonN
+%   }
+% \begin{macro}[deprecated]
+%   {
+%     \keys_set_exclude_groups:nnn, \keys_set_exclude_groups:nnV,
+%     \keys_set_exclude_groups:nnv, \keys_set_exclude_groups:nno
+%   }
+%    \begin{macrocode}
+\cs_set_eq:NN \keys_set_filter:nnn \keys_set_exclude_groups:nnn
+\cs_generate_variant:Nn \keys_set_filter:nnn { nnV , nnv , nno }
+\cs_set_eq:NN \keys_set_filter:nnnN \keys_set_exclude_groups:nnnN
+\cs_generate_variant:Nn \keys_set_filter:nnnN { nnV , nnv , nno }
+\cs_set_eq:NN \keys_set_filter:nnnnN \keys_set_exclude_groups:nnnnN
+\cs_generate_variant:Nn \keys_set_filter:nnnnN { nnV , nnv , nno }
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
 % \subsection{Deprecated \pkg{l3pdf} functions}
 %
 %    \begin{macrocode}
diff --git a/l3kernel/l3keys.dtx b/l3kernel/l3keys.dtx
index c2fe5ae3f..e142e6b22 100644
--- a/l3kernel/l3keys.dtx
+++ b/l3kernel/l3keys.dtx
@@ -856,29 +856,29 @@
 % groups to be made \enquote{active}, or by marking one or more groups to
 % be ignored in key setting.
 %
-% \begin{function}[added = 2013-07-14, updated = 2019-01-29]
+% \begin{function}[added = 2024-01-10]
 %   {
-%     \keys_set_filter:nnn, \keys_set_filter:nnV,
-%     \keys_set_filter:nnv, \keys_set_filter:nno,
-%     \keys_set_filter:nnnN, \keys_set_filter:nnVN,
-%     \keys_set_filter:nnvN, \keys_set_filter:nnoN,
-%     \keys_set_filter:nnnnN, \keys_set_filter:nnVnN,
-%     \keys_set_filter:nnvnN, \keys_set_filter:nnonN,
+%     \keys_set_exclude_groups:nnn, \keys_set_exclude_groups:nnV,
+%     \keys_set_exclude_groups:nnv, \keys_set_exclude_groups:nno,
+%     \keys_set_exclude_groups:nnnN, \keys_set_exclude_groups:nnVN,
+%     \keys_set_exclude_groups:nnvN, \keys_set_exclude_groups:nnoN,
+%     \keys_set_exclude_groups:nnnnN, \keys_set_exclude_groups:nnVnN,
+%     \keys_set_exclude_groups:nnvnN, \keys_set_exclude_groups:nnonN,
 %   }
 %   \begin{syntax}
-%     \cs{keys_set_filter:nnn} \Arg{module} \Arg{groups} \Arg{keyval list}
-%     \cs{keys_set_filter:nnnN} \Arg{module} \Arg{groups} \Arg{keyval list} \meta{tl}
-%     \cs{keys_set_filter:nnnnN} \Arg{module} \Arg{groups} \Arg{keyval list} \meta{root} \meta{tl}
+%     \cs{keys_set_exclude_groups:nnn} \Arg{module} \Arg{groups} \Arg{keyval list}
+%     \cs{keys_set_exclude_groups:nnnN} \Arg{module} \Arg{groups} \Arg{keyval list} \meta{tl}
+%     \cs{keys_set_exclude_groups:nnnnN} \Arg{module} \Arg{groups} \Arg{keyval list} \meta{root} \meta{tl}
 %   \end{syntax}
-%   Activates key filtering in an \enquote{opt-out} sense: keys assigned to any
-%   of the \meta{groups} specified are ignored. The \meta{groups} are
+%   Sets keys by excluding those in the specificied \meta{groups}.
+%   The \meta{groups} are
 %   given as a comma-separated list. Unknown keys are not assigned to any
 %   group and are thus always set. The key--value pairs for each
 %   key which is filtered out are stored in the \meta{tl} in a
 %   comma-separated form (\emph{i.e.}~an edited version of the \meta{keyval
-%   list}). The \cs{keys_set_filter:nnn} version skips this stage.
+%   list}). The \cs{keys_set_exclude_groups:nnn} version skips this stage.
 %
-%   Use of \cs{keys_set_filter:nnnN} can be nested, with the correct residual
+%   Use of \cs{keys_set_exclude_groups:nnnN} can be nested, with the correct residual
 %   \meta{keyval list} returned at each stage. In the version which takes
 %   a \meta{root} argument, the key list is returned relative to that point
 %   in the key tree. In the cases without a \meta{root} argument, only
@@ -2887,21 +2887,21 @@
 %
 % \begin{macro}
 %   {
-%     \keys_set_filter:nnnN, \keys_set_filter:nnVN, \keys_set_filter:nnvN,
-%       \keys_set_filter:nnoN
+%     \keys_set_exclude_groups:nnnN, \keys_set_exclude_groups:nnVN,
+%     \keys_set_exclude_groups:nnvN, \keys_set_exclude_groups:nnoN
 %   }
 % \begin{macro}
 %   {
-%     \keys_set_filter:nnnnN, \keys_set_filter:nnVnN,
-%     \keys_set_filter:nnvnN, \keys_set_filter:nnonN
+%     \keys_set_exclude_groups:nnnnN, \keys_set_exclude_groups:nnVnN,
+%     \keys_set_exclude_groups:nnvnN, \keys_set_exclude_groups:nnonN
 %   }
-% \begin{macro}{\@@_set_filter:nnnnnN}
+% \begin{macro}{\@@_set_exclude_groups:nnnnnN}
 % \begin{macro}
 %   {
-%     \keys_set_filter:nnn, \keys_set_filter:nnV, \keys_set_filter:nnv,
-%       \keys_set_filter:nno
+%     \keys_set_exclude_groups:nnn, \keys_set_exclude_groups:nnV,
+%     \keys_set_exclude_groups:nnv, \keys_set_exclude_groups:nno
 %   }
-% \begin{macro}{\@@_set_filter:nnnn}
+% \begin{macro}{\@@_set_exclude_groups:nnnn}
 % \begin{macro}
 %   {
 %     \keys_set_groups:nnn, \keys_set_groups:nnV, \keys_set_groups:nnv,
@@ -2914,30 +2914,30 @@
 %   also apply here. We have a bit more shuffling to do to keep everything
 %   nestable.
 %    \begin{macrocode}
-\cs_new_protected:Npn \keys_set_filter:nnnN #1#2#3#4
+\cs_new_protected:Npn \keys_set_exclude_groups:nnnN #1#2#3#4
   {
-    \exp_args:No \@@_set_filter:nnnnnN
+    \exp_args:No \@@_set_exclude_groups:nnnnnN
       \l_@@_unused_clist
         \q_@@_no_value {#1} {#2} {#3} #4
   }
-\cs_generate_variant:Nn \keys_set_filter:nnnN { nnV , nnv , nno }
-\cs_new_protected:Npn \keys_set_filter:nnnnN #1#2#3#4#5
+\cs_generate_variant:Nn \keys_set_exclude_groups:nnnN { nnV , nnv , nno }
+\cs_new_protected:Npn \keys_set_exclude_groups:nnnnN #1#2#3#4#5
   {
-    \exp_args:No \@@_set_filter:nnnnnN
+    \exp_args:No \@@_set_exclude_groups:nnnnnN
       \l_@@_unused_clist {#4} {#1} {#2} {#3} #5
   }
-\cs_generate_variant:Nn \keys_set_filter:nnnnN { nnV , nnv , nno }
-\cs_new_protected:Npn \@@_set_filter:nnnnnN #1#2#3#4#5#6
+\cs_generate_variant:Nn \keys_set_exclude_groups:nnnnN { nnV , nnv , nno }
+\cs_new_protected:Npn \@@_set_exclude_groups:nnnnnN #1#2#3#4#5#6
   {
     \clist_clear:N \l_@@_unused_clist
-    \@@_set_filter:nnnn {#2} {#3} {#4} {#5}
+    \@@_set_exclude_groups:nnnn {#2} {#3} {#4} {#5}
     \__kernel_tl_set:Nx #6 { \exp_not:o \l_@@_unused_clist }
     \__kernel_tl_set:Nx \l_@@_unused_clist { \exp_not:n {#1} }
   }
-\cs_new_protected:Npn \keys_set_filter:nnn #1#2#3
-  {\@@_set_filter:nnnn \q_@@_no_value {#1} {#2} {#3} }
-\cs_generate_variant:Nn \keys_set_filter:nnn { nnV , nnv , nno }
-\cs_new_protected:Npn \@@_set_filter:nnnn #1#2#3#4
+\cs_new_protected:Npn \keys_set_exclude_groups:nnn #1#2#3
+  {\@@_set_exclude_groups:nnnn \q_@@_no_value {#1} {#2} {#3} }
+\cs_generate_variant:Nn \keys_set_exclude_groups:nnn { nnV , nnv , nno }
+\cs_new_protected:Npn \@@_set_exclude_groups:nnnn #1#2#3#4
   {
     \use:e
       {
diff --git a/l3kernel/testfiles/m3keys004.lvt b/l3kernel/testfiles/m3keys004.lvt
index b98fb8b67..647e2ee18 100644
--- a/l3kernel/testfiles/m3keys004.lvt
+++ b/l3kernel/testfiles/m3keys004.lvt
@@ -100,7 +100,7 @@
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-\TEST { \keys_set_filter:nnn }
+\TEST { \keys_set_exclude_groups:nnn }
   {
     \keys_define:nn { module }
       {
@@ -112,7 +112,7 @@
         key-two   .groups:n = { b , c } ,
         key-three .groups:n = { a , c } ,
       }
-    \keys_set_filter:nnn { module }
+    \keys_set_exclude_groups:nnn { module }
       { a }
       {
         key-one   = value       ,
@@ -120,7 +120,7 @@
         key-four                ,
         key-five = unknown-value
       }
-    \keys_set_filter:nnn { module }
+    \keys_set_exclude_groups:nnn { module }
       { c , d }
       {
         key-one   = value       ,
@@ -128,7 +128,7 @@
         key-four                ,
         key-five = unknown-value
       }
-    \keys_set_filter:nnn { module }
+    \keys_set_exclude_groups:nnn { module }
       { e }
       {
         key-one   = value       ,
@@ -136,7 +136,7 @@
         key-four                ,
         key-five = unknown-value
       }
-    \keys_set_filter:nnn { module }
+    \keys_set_exclude_groups:nnn { module }
       { }
       {
         key-one   = value       ,
@@ -146,7 +146,7 @@
       }
   }
 
-\TEST { \keys_set_filter:nnnN }
+\TEST { \keys_set_exclude_groups:nnnN }
   {
     \keys_define:nn { module }
       {
@@ -158,7 +158,7 @@
         key-two   .groups:n = { b , c } ,
         key-three .groups:n = { a , c } ,
       }
-    \keys_set_filter:nnnN { module }
+    \keys_set_exclude_groups:nnnN { module }
       { a }
       {
         key-one   = value       ,
@@ -168,7 +168,7 @@
       }
       \l_tmpa_tl
     \tl_log:N \l_tmpa_tl
-    \keys_set_filter:nnnN { module }
+    \keys_set_exclude_groups:nnnN { module }
       { c , d }
       {
         key-one   = value       ,
@@ -178,7 +178,7 @@
       }
       \l_tmpa_tl
     \tl_log:N \l_tmpa_tl
-    \keys_set_filter:nnnN { module }
+    \keys_set_exclude_groups:nnnN { module }
       { e }
       {
         key-one   = value       ,
@@ -188,7 +188,7 @@
       }
       \l_tmpa_tl
     \tl_log:N \l_tmpa_tl
-    \keys_set_filter:nnnN { module }
+    \keys_set_exclude_groups:nnnN { module }
       { }
       {
         key-one   = value       ,
diff --git a/l3kernel/testfiles/m3keys004.tlg b/l3kernel/testfiles/m3keys004.tlg
index f269b544a..e527a0fed 100644
--- a/l3kernel/testfiles/m3keys004.tlg
+++ b/l3kernel/testfiles/m3keys004.tlg
@@ -52,7 +52,7 @@ Defining key module/key-two on line ...
 > \l_tmpb_tl=key-three={foo}.
 ============================================================
 ============================================================
-TEST 5: \keys_set_filter:nnn 
+TEST 5: \keys_set_exclude_groups:nnn 
 ============================================================
 Defining key module/key-one on line ...
 Defining key module/key-two on line ...
@@ -93,7 +93,7 @@ The module 'module' does not have a key called 'module/key-five'.
 Check that you have spelled the key name correctly.
 ============================================================
 ============================================================
-TEST 6: \keys_set_filter:nnnN 
+TEST 6: \keys_set_exclude_groups:nnnN 
 ============================================================
 Defining key module/key-one on line ...
 Defining key module/key-two on line ...
diff --git a/l3trial/l3check/l3check.dtx b/l3trial/l3check/l3check.dtx
index 2eddc1165..73590cd00 100644
--- a/l3trial/l3check/l3check.dtx
+++ b/l3trial/l3check/l3check.dtx
@@ -1856,10 +1856,10 @@
 % \subsubsection{\pkg{l3keys}}
 % ^^A todo: add checking of args of key properties such as |.tl_set:N|
 %
-% |\keyval_parse:NNn|, |\keys_set_known:nnN|, |\keys_set_filter:nnnN|,
+% |\keyval_parse:NNn|, |\keys_set_known:nnN|, |\keys_set_exclude_groups:nnnN|,
 %
 % |\keys_(show/log):nn|, |\keys_set:nn|, |\keys_set_known:nn(/N)|,
-% |\keys_set_filter:nnnN|, |\keys_set_groups:nnn|, could check the
+% |\keys_set_exclude_groups:nnnN|, |\keys_set_groups:nnn|, could check the
 % module is known due to |\keys_define:nn|, \emph{i.e.}, that at least
 % one key is known for this module.
 %





More information about the latex3-commits mailing list.