[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.