[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