[latex3-commits] [git/LaTeX3-latex3-latex2e] template: More space management (6ca9ccaa)

Joseph Wright joseph.wright at morningstar2.co.uk
Tue Jun 7 10:21:55 CEST 2022


Repository : https://github.com/latex3/latex2e
On branch  : template
Link       : https://github.com/latex3/latex2e/commit/6ca9ccaa0521e7a82a765d73c2723a0147d1ed4b

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

commit 6ca9ccaa0521e7a82a765d73c2723a0147d1ed4b
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Tue Jun 7 09:21:55 2022 +0100

    More space management


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

6ca9ccaa0521e7a82a765d73c2723a0147d1ed4b
 base/lttemplate.dtx                         |  7 ++++---
 base/testfiles-lttemplate/lttemplate001.lvt | 15 ++++++++++++++-
 base/testfiles-lttemplate/lttemplate001.tlg | 27 ++++++++++++++++++++++++---
 3 files changed, 42 insertions(+), 7 deletions(-)

diff --git a/base/lttemplate.dtx b/base/lttemplate.dtx
index 2850eec1..898415fe 100644
--- a/base/lttemplate.dtx
+++ b/base/lttemplate.dtx
@@ -716,10 +716,11 @@
             \cs_set_protected:Npn \@@_split_keytype_arg_aux:w
               ####1 ##1 ####2 \s_@@_stop
               {
-                \tl_if_empty:nT {####1}
+                \tl_if_blank:nT {####1}
                   {
-                    \tl_set:Nn \l_@@_keytype_tl {##1}
-                    \tl_set:Nn \l_@@_keytype_arg_tl {####2}
+                    \tl_set:Nx \l_@@_keytype_tl
+                      { \tl_trim_spaces:n {##1} }
+                    \tl_set:Nx \l_@@_keytype_arg_tl { \use:n ####2 }
                     \seq_map_break:
                   }
               }
diff --git a/base/testfiles-lttemplate/lttemplate001.lvt b/base/testfiles-lttemplate/lttemplate001.lvt
index f7c9f072..2286ae3c 100644
--- a/base/testfiles-lttemplate/lttemplate001.lvt
+++ b/base/testfiles-lttemplate/lttemplate001.lvt
@@ -19,6 +19,7 @@
 \DeclareObjectType { test-zero } 0
 \DeclareObjectType { test-one }  1
 \DeclareObjectType { test-two }  2
+\DeclareObjectType { test-three }  3
 \TIMO
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \TEST{Making~object~types}{
@@ -46,7 +47,19 @@
   \DeclareTemplateInterface { undeclared } { template } 1 { }
 }
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
+\ExplSyntaxOff
+\TEST{Template~interfaces: spaces}{
+  \DeclareTemplateInterface{test-three}{template} 3 {
+    key-one   : tokenlist = default ,
+    key-two   : tokenlist           ,
+    key-three : integer   = 4       ,
+    key-four  : choice { one, two, three },
+    key-five  : code      = {#1}
+  }
+  \ShowTemplateKeytypes{test-three}{template}
+  \ShowTemplateDefaults{test-three}{template}
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 
 \END
diff --git a/base/testfiles-lttemplate/lttemplate001.tlg b/base/testfiles-lttemplate/lttemplate001.tlg
index adf9628e..1aadaecb 100644
--- a/base/testfiles-lttemplate/lttemplate001.tlg
+++ b/base/testfiles-lttemplate/lttemplate001.tlg
@@ -5,11 +5,11 @@ Author: Joseph Wright
 TEST 1: Making object types
 ============================================================
 Package template Info: Declaring object type 'test' taking 0 argument(s) on
-(template)             line 28.
+(template)             line 29.
 Package template Info: Declaring object type 'test' taking 1 argument(s) on
-(template)             line 28.
+(template)             line 29.
 Package template Info: Declaring object type 'test' taking 2 argument(s) on
-(template)             line 28.
+(template)             line 29.
 ============================================================
 ============================================================
 TEST 2: Template interfaces: correct
@@ -62,3 +62,24 @@ For immediate help type H <return>.
 l. ...}
 An object type needs to be declared with \DeclareObjectType prior to using it.
 ============================================================
+============================================================
+TEST 4: Template~interfaces: spaces
+============================================================
+Defining \template defaults > test-three/template on line ...
+Defining \template key types > test-three/template on line ...
+Defining \template key order > test-three/template on line ...
+The template 'template' of object type 'test-three' has interface:
+>  key-one  =>  tokenlist
+>  key-two  =>  tokenlist
+>  key-three  =>  integer
+>  key-four  =>  choice{ one, two, three }
+>  key-five  =>  code.
+<recently read> }
+l. ...}
+The template 'template' of object type 'test-three' has default values:
+>  key-one  =>  default
+>  key-three  =>  4
+>  key-five  =>  ##1.
+<recently read> }
+l. ...}
+============================================================





More information about the latex3-commits mailing list.