[latex3-commits] [l3svn] 01/01: Preserve spaces in key names (fixes #413)

noreply at latex-project.org noreply at latex-project.org
Thu Nov 9 18:00:09 CET 2017


This is an automated email from the git hooks/post-receive script.

unknown user pushed a commit to branch keynames
in repository l3svn.

commit ada4e728ceba7ab31fc491aa4c7cdfeb27af20fa
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Thu Nov 9 16:42:42 2017 +0000

    Preserve spaces in key names (fixes #413)
    
    The idea of zapping spaces *inside* key names sounds great, but it
    becomes problematic when passing data through. It also allows clear
    typos to be ignored: not great.
---
 l3kernel/l3keys.dtx                     |   18 +++---------------
 l3kernel/l3tl.dtx                       |    7 ++++---
 l3kernel/testfiles/m3expl001.luatex.tlg |    2 +-
 l3kernel/testfiles/m3expl001.ptex.tlg   |    2 +-
 l3kernel/testfiles/m3expl001.tlg        |    2 +-
 l3kernel/testfiles/m3expl001.uptex.tlg  |    2 +-
 l3kernel/testfiles/m3expl001.xetex.tlg  |    2 +-
 l3kernel/testfiles/m3expl003.luatex.tlg |    2 +-
 l3kernel/testfiles/m3expl003.ptex.tlg   |    2 +-
 l3kernel/testfiles/m3expl003.tlg        |    2 +-
 l3kernel/testfiles/m3expl003.uptex.tlg  |    2 +-
 l3kernel/testfiles/m3expl003.xetex.tlg  |    2 +-
 12 files changed, 17 insertions(+), 28 deletions(-)

diff --git a/l3kernel/l3keys.dtx b/l3kernel/l3keys.dtx
index 5d3fa1a..6bd2d7d 100644
--- a/l3kernel/l3keys.dtx
+++ b/l3kernel/l3keys.dtx
@@ -101,8 +101,7 @@
 % \end{verbatim}
 %
 % Key names may contain any tokens, as they are handled internally
-% using \cs{tl_to_str:n}; spaces are \emph{ignored} in key names.
-% As discussed in
+% using \cs{tl_to_str:n}. As discussed in
 % section~\ref{sec:l3keys:subdivision}, it is suggested that the character
 % |/| is reserved for sub-division of keys into logical
 % groups. Functions and variables are \emph{not} expanded when creating
@@ -2408,23 +2407,12 @@
 % \end{macro}
 %
 % \begin{macro}[EXP, int]{\@@_remove_spaces:n}
-% \begin{macro}[EXP, aux]{\@@_remove_spaces:w}
-%   Removes all spaces from the input which is detokenized as a result.
-%   This function has the same effect as \tn{zap at space} in \LaTeXe{}
-%   after applying \cs{tl_to_str:n}.  It is set up to be fast as the
-%   use case here is tightly defined.  The~|?| is only there to allow
-%   for a space after \cs{use_none:nn} responsible for ending the loop.
+%   Used in a few places so worth handling as a dedicated function.
 %    \begin{macrocode}
 \cs_new:Npn \@@_remove_spaces:n #1
-  {
-    \exp_after:wN \@@_remove_spaces:w \tl_to_str:n {#1}
-    \use_none:nn ? ~
-  }
-\cs_new:Npn \@@_remove_spaces:w #1 ~
-  { #1 \@@_remove_spaces:w }
+  { \tl_trim_spaces:o { \tl_to_str:n {#1} } }
 %    \end{macrocode}
 % \end{macro}
-% \end{macro}
 %
 % \begin{macro}[EXP,pTF]{\keys_if_exist:nn}
 %   A utility for others to see if a key exists.
diff --git a/l3kernel/l3tl.dtx b/l3kernel/l3tl.dtx
index 2c2dc17..1e2e453 100644
--- a/l3kernel/l3tl.dtx
+++ b/l3kernel/l3tl.dtx
@@ -744,8 +744,8 @@
 %   \end{texnote}
 % \end{function}
 %
-% \begin{function}[added = 2011-07-09, updated = 2012-06-25, EXP]
-%   {\tl_trim_spaces:n}
+% \begin{function}[added = 2011-07-09, updated = 2017-11-09, EXP]
+%   {\tl_trim_spaces:n, \tl_trim_spaces:o}
 %   \begin{syntax}
 %     \cs{tl_trim_spaces:n} \Arg{token list}
 %   \end{syntax}
@@ -2328,7 +2328,7 @@
 % \end{macro}
 % \end{macro}
 %
-% \begin{macro}{\tl_trim_spaces:n}
+% \begin{macro}{\tl_trim_spaces:n, \tl_trim_spaces:o}
 % \begin{macro}
 %   {
 %     \tl_trim_spaces:N, \tl_trim_spaces:c,
@@ -2344,6 +2344,7 @@
 %    \begin{macrocode}
 \cs_new:Npn \tl_trim_spaces:n #1
   { \@@_trim_spaces:nn { \q_mark #1 } \exp_not:o }
+\cs_generate_variant:Nn \tl_trim_spaces:n { o }
 \cs_new_protected:Npn \tl_trim_spaces:N #1
   { \tl_set:Nx #1 { \exp_args:No \tl_trim_spaces:n {#1} } }
 \cs_new_protected:Npn \tl_gtrim_spaces:N #1
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index 5de79eb..7428b72 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -497,6 +497,7 @@ Defining \tl_reverse_items:n on line ...
 Defining \__tl_reverse_items:nwNwn on line ...
 Defining \__tl_reverse_items:wn on line ...
 Defining \tl_trim_spaces:n on line ...
+Defining \tl_trim_spaces:o on line ...
 Defining \tl_trim_spaces:N on line ...
 Defining \tl_gtrim_spaces:N on line ...
 Defining \tl_trim_spaces:c on line ...
@@ -3501,7 +3502,6 @@ Defining \__keys_parent:n on line ...
 Defining \__keys_parent:o on line ...
 Defining \__keys_parent:w on line ...
 Defining \__keys_remove_spaces:n on line ...
-Defining \__keys_remove_spaces:w on line ...
 Defining \keys_if_exist_p:nn on line ...
 Defining \keys_if_exist:nnT on line ...
 Defining \keys_if_exist:nnF on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index df550fc..e9fca40 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -496,6 +496,7 @@ Defining \tl_reverse_items:n on line ...
 Defining \__tl_reverse_items:nwNwn on line ...
 Defining \__tl_reverse_items:wn on line ...
 Defining \tl_trim_spaces:n on line ...
+Defining \tl_trim_spaces:o on line ...
 Defining \tl_trim_spaces:N on line ...
 Defining \tl_gtrim_spaces:N on line ...
 Defining \tl_trim_spaces:c on line ...
@@ -3489,7 +3490,6 @@ Defining \__keys_parent:n on line ...
 Defining \__keys_parent:o on line ...
 Defining \__keys_parent:w on line ...
 Defining \__keys_remove_spaces:n on line ...
-Defining \__keys_remove_spaces:w on line ...
 Defining \keys_if_exist_p:nn on line ...
 Defining \keys_if_exist:nnT on line ...
 Defining \keys_if_exist:nnF on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index b81f93a..d76867a 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -496,6 +496,7 @@ Defining \tl_reverse_items:n on line ...
 Defining \__tl_reverse_items:nwNwn on line ...
 Defining \__tl_reverse_items:wn on line ...
 Defining \tl_trim_spaces:n on line ...
+Defining \tl_trim_spaces:o on line ...
 Defining \tl_trim_spaces:N on line ...
 Defining \tl_gtrim_spaces:N on line ...
 Defining \tl_trim_spaces:c on line ...
@@ -3489,7 +3490,6 @@ Defining \__keys_parent:n on line ...
 Defining \__keys_parent:o on line ...
 Defining \__keys_parent:w on line ...
 Defining \__keys_remove_spaces:n on line ...
-Defining \__keys_remove_spaces:w on line ...
 Defining \keys_if_exist_p:nn on line ...
 Defining \keys_if_exist:nnT on line ...
 Defining \keys_if_exist:nnF on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index 64fc735..e597a24 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -496,6 +496,7 @@ Defining \tl_reverse_items:n on line ...
 Defining \__tl_reverse_items:nwNwn on line ...
 Defining \__tl_reverse_items:wn on line ...
 Defining \tl_trim_spaces:n on line ...
+Defining \tl_trim_spaces:o on line ...
 Defining \tl_trim_spaces:N on line ...
 Defining \tl_gtrim_spaces:N on line ...
 Defining \tl_trim_spaces:c on line ...
@@ -3489,7 +3490,6 @@ Defining \__keys_parent:n on line ...
 Defining \__keys_parent:o on line ...
 Defining \__keys_parent:w on line ...
 Defining \__keys_remove_spaces:n on line ...
-Defining \__keys_remove_spaces:w on line ...
 Defining \keys_if_exist_p:nn on line ...
 Defining \keys_if_exist:nnT on line ...
 Defining \keys_if_exist:nnF on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index 1d54bfb..90f211e 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -496,6 +496,7 @@ Defining \tl_reverse_items:n on line ...
 Defining \__tl_reverse_items:nwNwn on line ...
 Defining \__tl_reverse_items:wn on line ...
 Defining \tl_trim_spaces:n on line ...
+Defining \tl_trim_spaces:o on line ...
 Defining \tl_trim_spaces:N on line ...
 Defining \tl_gtrim_spaces:N on line ...
 Defining \tl_trim_spaces:c on line ...
@@ -3499,7 +3500,6 @@ Defining \__keys_parent:n on line ...
 Defining \__keys_parent:o on line ...
 Defining \__keys_parent:w on line ...
 Defining \__keys_remove_spaces:n on line ...
-Defining \__keys_remove_spaces:w on line ...
 Defining \keys_if_exist_p:nn on line ...
 Defining \keys_if_exist:nnT on line ...
 Defining \keys_if_exist:nnF on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index 5de79eb..7428b72 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -497,6 +497,7 @@ Defining \tl_reverse_items:n on line ...
 Defining \__tl_reverse_items:nwNwn on line ...
 Defining \__tl_reverse_items:wn on line ...
 Defining \tl_trim_spaces:n on line ...
+Defining \tl_trim_spaces:o on line ...
 Defining \tl_trim_spaces:N on line ...
 Defining \tl_gtrim_spaces:N on line ...
 Defining \tl_trim_spaces:c on line ...
@@ -3501,7 +3502,6 @@ Defining \__keys_parent:n on line ...
 Defining \__keys_parent:o on line ...
 Defining \__keys_parent:w on line ...
 Defining \__keys_remove_spaces:n on line ...
-Defining \__keys_remove_spaces:w on line ...
 Defining \keys_if_exist_p:nn on line ...
 Defining \keys_if_exist:nnT on line ...
 Defining \keys_if_exist:nnF on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index df550fc..e9fca40 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -496,6 +496,7 @@ Defining \tl_reverse_items:n on line ...
 Defining \__tl_reverse_items:nwNwn on line ...
 Defining \__tl_reverse_items:wn on line ...
 Defining \tl_trim_spaces:n on line ...
+Defining \tl_trim_spaces:o on line ...
 Defining \tl_trim_spaces:N on line ...
 Defining \tl_gtrim_spaces:N on line ...
 Defining \tl_trim_spaces:c on line ...
@@ -3489,7 +3490,6 @@ Defining \__keys_parent:n on line ...
 Defining \__keys_parent:o on line ...
 Defining \__keys_parent:w on line ...
 Defining \__keys_remove_spaces:n on line ...
-Defining \__keys_remove_spaces:w on line ...
 Defining \keys_if_exist_p:nn on line ...
 Defining \keys_if_exist:nnT on line ...
 Defining \keys_if_exist:nnF on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index b81f93a..d76867a 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -496,6 +496,7 @@ Defining \tl_reverse_items:n on line ...
 Defining \__tl_reverse_items:nwNwn on line ...
 Defining \__tl_reverse_items:wn on line ...
 Defining \tl_trim_spaces:n on line ...
+Defining \tl_trim_spaces:o on line ...
 Defining \tl_trim_spaces:N on line ...
 Defining \tl_gtrim_spaces:N on line ...
 Defining \tl_trim_spaces:c on line ...
@@ -3489,7 +3490,6 @@ Defining \__keys_parent:n on line ...
 Defining \__keys_parent:o on line ...
 Defining \__keys_parent:w on line ...
 Defining \__keys_remove_spaces:n on line ...
-Defining \__keys_remove_spaces:w on line ...
 Defining \keys_if_exist_p:nn on line ...
 Defining \keys_if_exist:nnT on line ...
 Defining \keys_if_exist:nnF on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index 64fc735..e597a24 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -496,6 +496,7 @@ Defining \tl_reverse_items:n on line ...
 Defining \__tl_reverse_items:nwNwn on line ...
 Defining \__tl_reverse_items:wn on line ...
 Defining \tl_trim_spaces:n on line ...
+Defining \tl_trim_spaces:o on line ...
 Defining \tl_trim_spaces:N on line ...
 Defining \tl_gtrim_spaces:N on line ...
 Defining \tl_trim_spaces:c on line ...
@@ -3489,7 +3490,6 @@ Defining \__keys_parent:n on line ...
 Defining \__keys_parent:o on line ...
 Defining \__keys_parent:w on line ...
 Defining \__keys_remove_spaces:n on line ...
-Defining \__keys_remove_spaces:w on line ...
 Defining \keys_if_exist_p:nn on line ...
 Defining \keys_if_exist:nnT on line ...
 Defining \keys_if_exist:nnF on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index 1d54bfb..90f211e 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -496,6 +496,7 @@ Defining \tl_reverse_items:n on line ...
 Defining \__tl_reverse_items:nwNwn on line ...
 Defining \__tl_reverse_items:wn on line ...
 Defining \tl_trim_spaces:n on line ...
+Defining \tl_trim_spaces:o on line ...
 Defining \tl_trim_spaces:N on line ...
 Defining \tl_gtrim_spaces:N on line ...
 Defining \tl_trim_spaces:c on line ...
@@ -3499,7 +3500,6 @@ Defining \__keys_parent:n on line ...
 Defining \__keys_parent:o on line ...
 Defining \__keys_parent:w on line ...
 Defining \__keys_remove_spaces:n on line ...
-Defining \__keys_remove_spaces:w on line ...
 Defining \keys_if_exist_p:nn on line ...
 Defining \keys_if_exist:nnT on line ...
 Defining \keys_if_exist:nnF on line ...

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the latex3-commits mailing list