[latex3-commits] [git/LaTeX3-latex3-latex3] coffins: Support for global coffin set-eq (ba4e847)

Joseph Wright joseph.wright at morningstar2.co.uk
Sun Jan 20 22:35:28 CET 2019


Repository : https://github.com/latex3/latex3
On branch  : coffins
Link       : https://github.com/latex3/latex3/commit/ba4e847612b73fdf54a05b270d8da137f36073a8

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

commit ba4e847612b73fdf54a05b270d8da137f36073a8
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Fri Jan 18 22:43:09 2019 +0000

    Support for global coffin set-eq


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

ba4e847612b73fdf54a05b270d8da137f36073a8
 l3kernel/l3coffins.dtx                     |   81 ++++++++++++++++++----------
 l3kernel/testfiles/m3coffins001.luatex.tlg |   26 +++++----
 l3kernel/testfiles/m3coffins001.lvt        |    4 +-
 l3kernel/testfiles/m3coffins001.ptex.tlg   |   26 +++++----
 l3kernel/testfiles/m3coffins001.tlg        |   26 +++++----
 l3kernel/testfiles/m3coffins001.uptex.tlg  |   26 +++++----
 l3kernel/testfiles/m3coffins001.xetex.tlg  |   26 +++++----
 l3kernel/testfiles/m3expl001.luatex.tlg    |    8 ++-
 l3kernel/testfiles/m3expl001.ptex.tlg      |    8 ++-
 l3kernel/testfiles/m3expl001.tlg           |    8 ++-
 l3kernel/testfiles/m3expl001.uptex.tlg     |    8 ++-
 l3kernel/testfiles/m3expl001.xetex.tlg     |    8 ++-
 l3kernel/testfiles/m3expl003.luatex.tlg    |    8 ++-
 l3kernel/testfiles/m3expl003.ptex.tlg      |    8 ++-
 l3kernel/testfiles/m3expl003.tlg           |    8 ++-
 l3kernel/testfiles/m3expl003.uptex.tlg     |    8 ++-
 l3kernel/testfiles/m3expl003.xetex.tlg     |    8 ++-
 17 files changed, 194 insertions(+), 101 deletions(-)

diff --git a/l3kernel/l3coffins.dtx b/l3kernel/l3coffins.dtx
index cd998d4..37ca28d 100644
--- a/l3kernel/l3coffins.dtx
+++ b/l3kernel/l3coffins.dtx
@@ -76,13 +76,18 @@
 %   coffin.
 % \end{function}
 %
-% \begin{function}[added = 2011-08-17]
-%  {\coffin_set_eq:NN, \coffin_set_eq:Nc, \coffin_set_eq:cN, \coffin_set_eq:cc}
+% \begin{function}[added = 2011-08-17, updated = 2019-01-18]
+%  {
+%    \coffin_set_eq:NN, \coffin_set_eq:Nc,
+%    \coffin_set_eq:cN, \coffin_set_eq:cc,
+%    \coffin_gset_eq:NN, \coffin_gset_eq:Nc,
+%    \coffin_gset_eq:cN, \coffin_gset_eq:cc,
+%  }
 %   \begin{syntax}
 %    \cs{coffin_set_eq:NN} \meta{coffin_1} \meta{coffin_2}
 %   \end{syntax}
 %   Sets both the content and poles of \meta{coffin_1} equal to those
-%   of \meta{coffin_2} within the current \TeX\ group level.
+%   of \meta{coffin_2}.
 % \end{function}
 %
 % \begin{function}[EXP, pTF, added = 2012-06-20]
@@ -789,21 +794,60 @@
 % \begin{macro}
 %   {
 %     \coffin_set_eq:NN, \coffin_set_eq:Nc,
-%     \coffin_set_eq:cN, \coffin_set_eq:cc
+%     \coffin_set_eq:cN, \coffin_set_eq:cc,
+%     \coffin_gset_eq:NN, \coffin_gset_eq:Nc,
+%     \coffin_gset_eq:cN, \coffin_gset_eq:cc
 %   }
-%   Setting two coffins equal is just a wrapper around other functions.
+% \begin{macro}{\@@_set_eq:NNNNNNN}
+% \begin{macro}{\@@_set_eq:NNNNNN}
+%   Setting two coffins equal means checking the scope of the source
+%   coffin plus defining the scope of the target coffin. If the source
+%   coffin was never set up, we just clear the target.
 %    \begin{macrocode}
 \cs_new_protected:Npn \coffin_set_eq:NN #1#2
   {
+    \@@_set_eq:NNNNNNN #1 #2
+      \@@_reset_structure:N \box_set_eq:NN \prop_set_eq:cc l
+      \coffin_clear:N
+  }
+\cs_generate_variant:Nn \coffin_set_eq:NN { c , Nc , cc }
+\cs_new_protected:Npn \coffin_gset_eq:NN #1#2
+  {
+    \@@_set_eq:NNNNNNN #1 #2
+      \@@_greset_structure:N \box_gset_eq:NN \prop_gset_eq:cc g
+      \coffin_gclear:N
+  }
+\cs_generate_variant:Nn \coffin_gset_eq:NN { c , Nc , cc }
+\cs_new_protected:Npn \@@_set_eq:NNNNNNN #1#2#3#4#5#6#7
+  {
     \@@_if_exist:NT #1
       {
-        \box_set_eq:NN #1 #2
-        \@@_set_eq_structure:NN #1 #2
+        \@@_if_exist:NT #2
+          {
+            \tl_if_empty:cTF { g_@@_scope_ \@@_to_value:N #2 _tl }
+              { #7 #2 }
+              {
+                #3 #1
+                #4 #1 #2
+                \exp_args:Nv \@@_set_eq:NNNNN
+                  { g_@@_scope_ \@@_to_value:N #2 _tl }
+                  #1 #2 #5 #6
+              }
+          }
       }
   }
-\cs_generate_variant:Nn \coffin_set_eq:NN { c , Nc , cc }
+\cs_new_protected:Npn \@@_set_eq:NNNNN #1#2#3#4#5
+  {
+    #4
+     { #5 _@@_corners_ \@@_to_value:N #2 _prop }
+      { #1 _@@_corners_ \@@_to_value:N #3 _prop }
+    #4 { #5 _@@_poles_ \@@_to_value:N #2 _prop }
+      { #1 _@@_poles_ \@@_to_value:N #3 _prop }
+  }
 %    \end{macrocode}
 % \end{macro}
+% \end{macro}
+% \end{macro}
 %
 % \begin{variable}{\c_empty_coffin}
 % \begin{variable}{\l_@@_aligned_coffin}
@@ -910,27 +954,6 @@
 % \end{macro}
 % \end{macro}
 %
-% \begin{macro}{\@@_set_eq_structure:NN, \@@_gset_eq_structure:NN}
-% Setting coffin structures equal simply means copying the property
-% list.
-%    \begin{macrocode}
-\cs_new_protected:Npn \@@_set_eq_structure:NN #1#2
-  {
-    \prop_set_eq:cc { l_@@_corners_ \@@_to_value:N #1 _prop }
-      { l_@@_corners_ \@@_to_value:N #2 _prop }
-    \prop_set_eq:cc { l_@@_poles_ \@@_to_value:N #1 _prop }
-      { l_@@_poles_ \@@_to_value:N #2 _prop }
-  }
-\cs_new_protected:Npn \@@_gset_eq_structure:NN #1#2
-  {
-    \prop_gset_eq:cc { l_@@_corners_ \@@_to_value:N #1 _prop }
-      { l_@@_corners_ \@@_to_value:N #2 _prop }
-    \prop_gset_eq:cc { l_@@_poles_ \@@_to_value:N #1 _prop }
-      { l_@@_poles_ \@@_to_value:N #2 _prop }
-  }
-%    \end{macrocode}
-% \end{macro}
-%
 % \begin{macro}
 %   {\coffin_set_horizontal_pole:Nnn, \coffin_set_horizontal_pole:cnn}
 % \begin{macro}{\coffin_set_vertical_pole:Nnn, \coffin_set_vertical_pole:cnn}
diff --git a/l3kernel/testfiles/m3coffins001.luatex.tlg b/l3kernel/testfiles/m3coffins001.luatex.tlg
index 40aad55..98d9a2b 100644
--- a/l3kernel/testfiles/m3coffins001.luatex.tlg
+++ b/l3kernel/testfiles/m3coffins001.luatex.tlg
@@ -110,11 +110,11 @@ Size of coffin \zzz:
 > wd = 6.11111pt
 Poles of coffin \zzz:
 >  l  =>  {0pt}{0pt}{0pt}{1000pt}
->  hc  =>  {0pt}{0pt}{0pt}{1000pt}
->  r  =>  {0pt}{0pt}{0pt}{1000pt}
->  b  =>  {0pt}{0pt}{1000pt}{0pt}
->  vc  =>  {0pt}{0pt}{1000pt}{0pt}
->  t  =>  {0pt}{0pt}{1000pt}{0pt}
+>  hc  =>  {3.05556pt}{0pt}{0pt}{1000pt}
+>  r  =>  {6.11111pt}{0pt}{0pt}{1000pt}
+>  b  =>  {0pt}{0.0pt}{1000pt}{0pt}
+>  vc  =>  {0pt}{3.41666pt}{1000pt}{0pt}
+>  t  =>  {0pt}{6.83331pt}{1000pt}{0pt}
 >  B  =>  {0pt}{0pt}{1000pt}{0pt}
 >  H  =>  {0pt}{0pt}{1000pt}{0pt}
 >  T  =>  {0pt}{0pt}{1000pt}{0pt}.
@@ -122,7 +122,9 @@ Poles of coffin \zzz:
 l. ...}
 > \box...=
 \hbox(6.83331+0.0)x6.11111, direction TLT
+.\pdfcolorstack 0 push {0 g 0 G}
 .\OT1/cmr/m/n/10 Z
+.\pdfcolorstack 0 pop
 ! OK.
 <argument> \zzz 
 l. ...}
@@ -132,11 +134,11 @@ Size of coffin \zzz:
 > wd = 7.50002pt
 Poles of coffin \zzz:
 >  l  =>  {0pt}{0pt}{0pt}{1000pt}
->  hc  =>  {0pt}{0pt}{0pt}{1000pt}
->  r  =>  {0pt}{0pt}{0pt}{1000pt}
->  b  =>  {0pt}{0pt}{1000pt}{0pt}
->  vc  =>  {0pt}{0pt}{1000pt}{0pt}
->  t  =>  {0pt}{0pt}{1000pt}{0pt}
+>  hc  =>  {3.75pt}{0pt}{0pt}{1000pt}
+>  r  =>  {7.50002pt}{0pt}{0pt}{1000pt}
+>  b  =>  {0pt}{0.0pt}{1000pt}{0pt}
+>  vc  =>  {0pt}{3.41666pt}{1000pt}{0pt}
+>  t  =>  {0pt}{6.83331pt}{1000pt}{0pt}
 >  B  =>  {0pt}{0pt}{1000pt}{0pt}
 >  H  =>  {0pt}{0pt}{1000pt}{0pt}
 >  T  =>  {0pt}{0pt}{1000pt}{0pt}.
@@ -144,13 +146,17 @@ Poles of coffin \zzz:
 l. ...}
 > \box...=
 \hbox(6.83331+0.0)x7.50002, direction TLT
+.\pdfcolorstack 0 push {0 g 0 G}
 .\OT1/cmr/m/n/10 A
+.\pdfcolorstack 0 pop
 ! OK.
 <argument> \zzz 
 l. ...}
 > \box...=
 \hbox(6.83331+0.0)x7.50002, direction TLT
+.\pdfcolorstack 0 push {0 g 0 G}
 .\OT1/cmr/m/n/10 A
+.\pdfcolorstack 0 pop
 ! OK.
 <argument> \aaa 
 l. ...}
diff --git a/l3kernel/testfiles/m3coffins001.lvt b/l3kernel/testfiles/m3coffins001.lvt
index 334c93a..5016b7a 100644
--- a/l3kernel/testfiles/m3coffins001.lvt
+++ b/l3kernel/testfiles/m3coffins001.lvt
@@ -44,8 +44,8 @@
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \TEST{Equating~coffins}{
-   \sbox \aaa {A}
-   \sbox \zzz {Z}
+   \hcoffin_set:Nn \aaa {A}
+   \hcoffin_set:Nn \zzz {Z}
    \coffin_show_structure:N \zzz
    \box_show:N \zzz
    \coffin_set_eq:NN \zzz \aaa
diff --git a/l3kernel/testfiles/m3coffins001.ptex.tlg b/l3kernel/testfiles/m3coffins001.ptex.tlg
index 2cf2df1..e0f5dc6 100644
--- a/l3kernel/testfiles/m3coffins001.ptex.tlg
+++ b/l3kernel/testfiles/m3coffins001.ptex.tlg
@@ -110,11 +110,11 @@ Size of coffin \zzz:
 > wd = 6.11111pt
 Poles of coffin \zzz:
 >  l  =>  {0pt}{0pt}{0pt}{1000pt}
->  hc  =>  {0pt}{0pt}{0pt}{1000pt}
->  r  =>  {0pt}{0pt}{0pt}{1000pt}
->  b  =>  {0pt}{0pt}{1000pt}{0pt}
->  vc  =>  {0pt}{0pt}{1000pt}{0pt}
->  t  =>  {0pt}{0pt}{1000pt}{0pt}
+>  hc  =>  {3.05556pt}{0pt}{0pt}{1000pt}
+>  r  =>  {6.11111pt}{0pt}{0pt}{1000pt}
+>  b  =>  {0pt}{0.0pt}{1000pt}{0pt}
+>  vc  =>  {0pt}{3.41666pt}{1000pt}{0pt}
+>  t  =>  {0pt}{6.83331pt}{1000pt}{0pt}
 >  B  =>  {0pt}{0pt}{1000pt}{0pt}
 >  H  =>  {0pt}{0pt}{1000pt}{0pt}
 >  T  =>  {0pt}{0pt}{1000pt}{0pt}.
@@ -122,7 +122,9 @@ Poles of coffin \zzz:
 l. ...}
 > \box...=
 \hbox(6.83331+0.0)x6.11111
+.\special{color push gray 0}
 .\OT1/cmr/m/n/10 Z
+.\special{color pop}
 ! OK.
 <argument> \zzz 
 l. ...}
@@ -132,11 +134,11 @@ Size of coffin \zzz:
 > wd = 7.50002pt
 Poles of coffin \zzz:
 >  l  =>  {0pt}{0pt}{0pt}{1000pt}
->  hc  =>  {0pt}{0pt}{0pt}{1000pt}
->  r  =>  {0pt}{0pt}{0pt}{1000pt}
->  b  =>  {0pt}{0pt}{1000pt}{0pt}
->  vc  =>  {0pt}{0pt}{1000pt}{0pt}
->  t  =>  {0pt}{0pt}{1000pt}{0pt}
+>  hc  =>  {3.75pt}{0pt}{0pt}{1000pt}
+>  r  =>  {7.50002pt}{0pt}{0pt}{1000pt}
+>  b  =>  {0pt}{0.0pt}{1000pt}{0pt}
+>  vc  =>  {0pt}{3.41666pt}{1000pt}{0pt}
+>  t  =>  {0pt}{6.83331pt}{1000pt}{0pt}
 >  B  =>  {0pt}{0pt}{1000pt}{0pt}
 >  H  =>  {0pt}{0pt}{1000pt}{0pt}
 >  T  =>  {0pt}{0pt}{1000pt}{0pt}.
@@ -144,13 +146,17 @@ Poles of coffin \zzz:
 l. ...}
 > \box...=
 \hbox(6.83331+0.0)x7.50002
+.\special{color push gray 0}
 .\OT1/cmr/m/n/10 A
+.\special{color pop}
 ! OK.
 <argument> \zzz 
 l. ...}
 > \box...=
 \hbox(6.83331+0.0)x7.50002
+.\special{color push gray 0}
 .\OT1/cmr/m/n/10 A
+.\special{color pop}
 ! OK.
 <argument> \aaa 
 l. ...}
diff --git a/l3kernel/testfiles/m3coffins001.tlg b/l3kernel/testfiles/m3coffins001.tlg
index 1e4ce90..50fed14 100644
--- a/l3kernel/testfiles/m3coffins001.tlg
+++ b/l3kernel/testfiles/m3coffins001.tlg
@@ -110,11 +110,11 @@ Size of coffin \zzz:
 > wd = 6.11111pt
 Poles of coffin \zzz:
 >  l  =>  {0pt}{0pt}{0pt}{1000pt}
->  hc  =>  {0pt}{0pt}{0pt}{1000pt}
->  r  =>  {0pt}{0pt}{0pt}{1000pt}
->  b  =>  {0pt}{0pt}{1000pt}{0pt}
->  vc  =>  {0pt}{0pt}{1000pt}{0pt}
->  t  =>  {0pt}{0pt}{1000pt}{0pt}
+>  hc  =>  {3.05556pt}{0pt}{0pt}{1000pt}
+>  r  =>  {6.11111pt}{0pt}{0pt}{1000pt}
+>  b  =>  {0pt}{0.0pt}{1000pt}{0pt}
+>  vc  =>  {0pt}{3.41666pt}{1000pt}{0pt}
+>  t  =>  {0pt}{6.83331pt}{1000pt}{0pt}
 >  B  =>  {0pt}{0pt}{1000pt}{0pt}
 >  H  =>  {0pt}{0pt}{1000pt}{0pt}
 >  T  =>  {0pt}{0pt}{1000pt}{0pt}.
@@ -122,7 +122,9 @@ Poles of coffin \zzz:
 l. ...}
 > \box...=
 \hbox(6.83331+0.0)x6.11111
+.\pdfcolorstack 0 push {0 g 0 G}
 .\OT1/cmr/m/n/10 Z
+.\pdfcolorstack 0 pop
 ! OK.
 <argument> \zzz 
 l. ...}
@@ -132,11 +134,11 @@ Size of coffin \zzz:
 > wd = 7.50002pt
 Poles of coffin \zzz:
 >  l  =>  {0pt}{0pt}{0pt}{1000pt}
->  hc  =>  {0pt}{0pt}{0pt}{1000pt}
->  r  =>  {0pt}{0pt}{0pt}{1000pt}
->  b  =>  {0pt}{0pt}{1000pt}{0pt}
->  vc  =>  {0pt}{0pt}{1000pt}{0pt}
->  t  =>  {0pt}{0pt}{1000pt}{0pt}
+>  hc  =>  {3.75pt}{0pt}{0pt}{1000pt}
+>  r  =>  {7.50002pt}{0pt}{0pt}{1000pt}
+>  b  =>  {0pt}{0.0pt}{1000pt}{0pt}
+>  vc  =>  {0pt}{3.41666pt}{1000pt}{0pt}
+>  t  =>  {0pt}{6.83331pt}{1000pt}{0pt}
 >  B  =>  {0pt}{0pt}{1000pt}{0pt}
 >  H  =>  {0pt}{0pt}{1000pt}{0pt}
 >  T  =>  {0pt}{0pt}{1000pt}{0pt}.
@@ -144,13 +146,17 @@ Poles of coffin \zzz:
 l. ...}
 > \box...=
 \hbox(6.83331+0.0)x7.50002
+.\pdfcolorstack 0 push {0 g 0 G}
 .\OT1/cmr/m/n/10 A
+.\pdfcolorstack 0 pop
 ! OK.
 <argument> \zzz 
 l. ...}
 > \box...=
 \hbox(6.83331+0.0)x7.50002
+.\pdfcolorstack 0 push {0 g 0 G}
 .\OT1/cmr/m/n/10 A
+.\pdfcolorstack 0 pop
 ! OK.
 <argument> \aaa 
 l. ...}
diff --git a/l3kernel/testfiles/m3coffins001.uptex.tlg b/l3kernel/testfiles/m3coffins001.uptex.tlg
index b5ea9ea..1f7a84a 100644
--- a/l3kernel/testfiles/m3coffins001.uptex.tlg
+++ b/l3kernel/testfiles/m3coffins001.uptex.tlg
@@ -110,11 +110,11 @@ Size of coffin \zzz:
 > wd = 6.11111pt
 Poles of coffin \zzz:
 >  l  =>  {0pt}{0pt}{0pt}{1000pt}
->  hc  =>  {0pt}{0pt}{0pt}{1000pt}
->  r  =>  {0pt}{0pt}{0pt}{1000pt}
->  b  =>  {0pt}{0pt}{1000pt}{0pt}
->  vc  =>  {0pt}{0pt}{1000pt}{0pt}
->  t  =>  {0pt}{0pt}{1000pt}{0pt}
+>  hc  =>  {3.05556pt}{0pt}{0pt}{1000pt}
+>  r  =>  {6.11111pt}{0pt}{0pt}{1000pt}
+>  b  =>  {0pt}{0.0pt}{1000pt}{0pt}
+>  vc  =>  {0pt}{3.41666pt}{1000pt}{0pt}
+>  t  =>  {0pt}{6.83331pt}{1000pt}{0pt}
 >  B  =>  {0pt}{0pt}{1000pt}{0pt}
 >  H  =>  {0pt}{0pt}{1000pt}{0pt}
 >  T  =>  {0pt}{0pt}{1000pt}{0pt}.
@@ -122,7 +122,9 @@ Poles of coffin \zzz:
 l. ...}
 > \box...=
 \hbox(6.83331+0.0)x6.11111
+.\special{color push gray 0}
 .\OT1/cmr/m/n/10 Z
+.\special{color pop}
 ! OK.
 <argument> \zzz 
 l. ...}
@@ -132,11 +134,11 @@ Size of coffin \zzz:
 > wd = 7.50002pt
 Poles of coffin \zzz:
 >  l  =>  {0pt}{0pt}{0pt}{1000pt}
->  hc  =>  {0pt}{0pt}{0pt}{1000pt}
->  r  =>  {0pt}{0pt}{0pt}{1000pt}
->  b  =>  {0pt}{0pt}{1000pt}{0pt}
->  vc  =>  {0pt}{0pt}{1000pt}{0pt}
->  t  =>  {0pt}{0pt}{1000pt}{0pt}
+>  hc  =>  {3.75pt}{0pt}{0pt}{1000pt}
+>  r  =>  {7.50002pt}{0pt}{0pt}{1000pt}
+>  b  =>  {0pt}{0.0pt}{1000pt}{0pt}
+>  vc  =>  {0pt}{3.41666pt}{1000pt}{0pt}
+>  t  =>  {0pt}{6.83331pt}{1000pt}{0pt}
 >  B  =>  {0pt}{0pt}{1000pt}{0pt}
 >  H  =>  {0pt}{0pt}{1000pt}{0pt}
 >  T  =>  {0pt}{0pt}{1000pt}{0pt}.
@@ -144,13 +146,17 @@ Poles of coffin \zzz:
 l. ...}
 > \box...=
 \hbox(6.83331+0.0)x7.50002
+.\special{color push gray 0}
 .\OT1/cmr/m/n/10 A
+.\special{color pop}
 ! OK.
 <argument> \zzz 
 l. ...}
 > \box...=
 \hbox(6.83331+0.0)x7.50002
+.\special{color push gray 0}
 .\OT1/cmr/m/n/10 A
+.\special{color pop}
 ! OK.
 <argument> \aaa 
 l. ...}
diff --git a/l3kernel/testfiles/m3coffins001.xetex.tlg b/l3kernel/testfiles/m3coffins001.xetex.tlg
index 2cf2df1..e0f5dc6 100644
--- a/l3kernel/testfiles/m3coffins001.xetex.tlg
+++ b/l3kernel/testfiles/m3coffins001.xetex.tlg
@@ -110,11 +110,11 @@ Size of coffin \zzz:
 > wd = 6.11111pt
 Poles of coffin \zzz:
 >  l  =>  {0pt}{0pt}{0pt}{1000pt}
->  hc  =>  {0pt}{0pt}{0pt}{1000pt}
->  r  =>  {0pt}{0pt}{0pt}{1000pt}
->  b  =>  {0pt}{0pt}{1000pt}{0pt}
->  vc  =>  {0pt}{0pt}{1000pt}{0pt}
->  t  =>  {0pt}{0pt}{1000pt}{0pt}
+>  hc  =>  {3.05556pt}{0pt}{0pt}{1000pt}
+>  r  =>  {6.11111pt}{0pt}{0pt}{1000pt}
+>  b  =>  {0pt}{0.0pt}{1000pt}{0pt}
+>  vc  =>  {0pt}{3.41666pt}{1000pt}{0pt}
+>  t  =>  {0pt}{6.83331pt}{1000pt}{0pt}
 >  B  =>  {0pt}{0pt}{1000pt}{0pt}
 >  H  =>  {0pt}{0pt}{1000pt}{0pt}
 >  T  =>  {0pt}{0pt}{1000pt}{0pt}.
@@ -122,7 +122,9 @@ Poles of coffin \zzz:
 l. ...}
 > \box...=
 \hbox(6.83331+0.0)x6.11111
+.\special{color push gray 0}
 .\OT1/cmr/m/n/10 Z
+.\special{color pop}
 ! OK.
 <argument> \zzz 
 l. ...}
@@ -132,11 +134,11 @@ Size of coffin \zzz:
 > wd = 7.50002pt
 Poles of coffin \zzz:
 >  l  =>  {0pt}{0pt}{0pt}{1000pt}
->  hc  =>  {0pt}{0pt}{0pt}{1000pt}
->  r  =>  {0pt}{0pt}{0pt}{1000pt}
->  b  =>  {0pt}{0pt}{1000pt}{0pt}
->  vc  =>  {0pt}{0pt}{1000pt}{0pt}
->  t  =>  {0pt}{0pt}{1000pt}{0pt}
+>  hc  =>  {3.75pt}{0pt}{0pt}{1000pt}
+>  r  =>  {7.50002pt}{0pt}{0pt}{1000pt}
+>  b  =>  {0pt}{0.0pt}{1000pt}{0pt}
+>  vc  =>  {0pt}{3.41666pt}{1000pt}{0pt}
+>  t  =>  {0pt}{6.83331pt}{1000pt}{0pt}
 >  B  =>  {0pt}{0pt}{1000pt}{0pt}
 >  H  =>  {0pt}{0pt}{1000pt}{0pt}
 >  T  =>  {0pt}{0pt}{1000pt}{0pt}.
@@ -144,13 +146,17 @@ Poles of coffin \zzz:
 l. ...}
 > \box...=
 \hbox(6.83331+0.0)x7.50002
+.\special{color push gray 0}
 .\OT1/cmr/m/n/10 A
+.\special{color pop}
 ! OK.
 <argument> \zzz 
 l. ...}
 > \box...=
 \hbox(6.83331+0.0)x7.50002
+.\special{color push gray 0}
 .\OT1/cmr/m/n/10 A
+.\special{color pop}
 ! OK.
 <argument> \aaa 
 l. ...}
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index bee2f44..2c3e5e9 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -5333,6 +5333,12 @@ Defining \coffin_set_eq:NN on line ...
 Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
+Defining \coffin_gset_eq:NN on line ...
+Defining \coffin_gset_eq:cN on line ...
+Defining \coffin_gset_eq:Nc on line ...
+Defining \coffin_gset_eq:cc on line ...
+Defining \__coffin_set_eq:NNNNNNN on line ...
+Defining \__coffin_set_eq:NNNNN on line ...
 Defining \c_empty_coffin on line ...
 \c_empty_coffin=\box...
 Defining \l__coffin_aligned_coffin on line ...
@@ -5353,8 +5359,6 @@ Defining \__coffin_get_pole:NnN on line ...
 Defining \__coffin_reset_structure:N on line ...
 Defining \__coffin_greset_structure:N on line ...
 Defining \__coffin_reset_structure:NNN on line ...
-Defining \__coffin_set_eq_structure:NN on line ...
-Defining \__coffin_gset_eq_structure:NN on line ...
 Defining \coffin_set_horizontal_pole:Nnn on line ...
 Defining \coffin_set_vertical_pole:Nnn on line ...
 Defining \__coffin_set_pole:Nnn on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index e087e0a..df14673 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -5629,6 +5629,12 @@ Defining \coffin_set_eq:NN on line ...
 Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
+Defining \coffin_gset_eq:NN on line ...
+Defining \coffin_gset_eq:cN on line ...
+Defining \coffin_gset_eq:Nc on line ...
+Defining \coffin_gset_eq:cc on line ...
+Defining \__coffin_set_eq:NNNNNNN on line ...
+Defining \__coffin_set_eq:NNNNN on line ...
 Defining \c_empty_coffin on line ...
 \c_empty_coffin=\box...
 Defining \l__coffin_aligned_coffin on line ...
@@ -5649,8 +5655,6 @@ Defining \__coffin_get_pole:NnN on line ...
 Defining \__coffin_reset_structure:N on line ...
 Defining \__coffin_greset_structure:N on line ...
 Defining \__coffin_reset_structure:NNN on line ...
-Defining \__coffin_set_eq_structure:NN on line ...
-Defining \__coffin_gset_eq_structure:NN on line ...
 Defining \coffin_set_horizontal_pole:Nnn on line ...
 Defining \coffin_set_vertical_pole:Nnn on line ...
 Defining \__coffin_set_pole:Nnn on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index b118f2a..03f2c5a 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -5629,6 +5629,12 @@ Defining \coffin_set_eq:NN on line ...
 Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
+Defining \coffin_gset_eq:NN on line ...
+Defining \coffin_gset_eq:cN on line ...
+Defining \coffin_gset_eq:Nc on line ...
+Defining \coffin_gset_eq:cc on line ...
+Defining \__coffin_set_eq:NNNNNNN on line ...
+Defining \__coffin_set_eq:NNNNN on line ...
 Defining \c_empty_coffin on line ...
 \c_empty_coffin=\box...
 Defining \l__coffin_aligned_coffin on line ...
@@ -5649,8 +5655,6 @@ Defining \__coffin_get_pole:NnN on line ...
 Defining \__coffin_reset_structure:N on line ...
 Defining \__coffin_greset_structure:N on line ...
 Defining \__coffin_reset_structure:NNN on line ...
-Defining \__coffin_set_eq_structure:NN on line ...
-Defining \__coffin_gset_eq_structure:NN on line ...
 Defining \coffin_set_horizontal_pole:Nnn on line ...
 Defining \coffin_set_vertical_pole:Nnn on line ...
 Defining \__coffin_set_pole:Nnn on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index f1fcd17..f7e330b 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -5626,6 +5626,12 @@ Defining \coffin_set_eq:NN on line ...
 Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
+Defining \coffin_gset_eq:NN on line ...
+Defining \coffin_gset_eq:cN on line ...
+Defining \coffin_gset_eq:Nc on line ...
+Defining \coffin_gset_eq:cc on line ...
+Defining \__coffin_set_eq:NNNNNNN on line ...
+Defining \__coffin_set_eq:NNNNN on line ...
 Defining \c_empty_coffin on line ...
 \c_empty_coffin=\box...
 Defining \l__coffin_aligned_coffin on line ...
@@ -5646,8 +5652,6 @@ Defining \__coffin_get_pole:NnN on line ...
 Defining \__coffin_reset_structure:N on line ...
 Defining \__coffin_greset_structure:N on line ...
 Defining \__coffin_reset_structure:NNN on line ...
-Defining \__coffin_set_eq_structure:NN on line ...
-Defining \__coffin_gset_eq_structure:NN on line ...
 Defining \coffin_set_horizontal_pole:Nnn on line ...
 Defining \coffin_set_vertical_pole:Nnn on line ...
 Defining \__coffin_set_pole:Nnn on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index edab7f7..150490a 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -5344,6 +5344,12 @@ Defining \coffin_set_eq:NN on line ...
 Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
+Defining \coffin_gset_eq:NN on line ...
+Defining \coffin_gset_eq:cN on line ...
+Defining \coffin_gset_eq:Nc on line ...
+Defining \coffin_gset_eq:cc on line ...
+Defining \__coffin_set_eq:NNNNNNN on line ...
+Defining \__coffin_set_eq:NNNNN on line ...
 Defining \c_empty_coffin on line ...
 \c_empty_coffin=\box...
 Defining \l__coffin_aligned_coffin on line ...
@@ -5364,8 +5370,6 @@ Defining \__coffin_get_pole:NnN on line ...
 Defining \__coffin_reset_structure:N on line ...
 Defining \__coffin_greset_structure:N on line ...
 Defining \__coffin_reset_structure:NNN on line ...
-Defining \__coffin_set_eq_structure:NN on line ...
-Defining \__coffin_gset_eq_structure:NN on line ...
 Defining \coffin_set_horizontal_pole:Nnn on line ...
 Defining \coffin_set_vertical_pole:Nnn on line ...
 Defining \__coffin_set_pole:Nnn on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index bee2f44..2c3e5e9 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -5333,6 +5333,12 @@ Defining \coffin_set_eq:NN on line ...
 Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
+Defining \coffin_gset_eq:NN on line ...
+Defining \coffin_gset_eq:cN on line ...
+Defining \coffin_gset_eq:Nc on line ...
+Defining \coffin_gset_eq:cc on line ...
+Defining \__coffin_set_eq:NNNNNNN on line ...
+Defining \__coffin_set_eq:NNNNN on line ...
 Defining \c_empty_coffin on line ...
 \c_empty_coffin=\box...
 Defining \l__coffin_aligned_coffin on line ...
@@ -5353,8 +5359,6 @@ Defining \__coffin_get_pole:NnN on line ...
 Defining \__coffin_reset_structure:N on line ...
 Defining \__coffin_greset_structure:N on line ...
 Defining \__coffin_reset_structure:NNN on line ...
-Defining \__coffin_set_eq_structure:NN on line ...
-Defining \__coffin_gset_eq_structure:NN on line ...
 Defining \coffin_set_horizontal_pole:Nnn on line ...
 Defining \coffin_set_vertical_pole:Nnn on line ...
 Defining \__coffin_set_pole:Nnn on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index e087e0a..df14673 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -5629,6 +5629,12 @@ Defining \coffin_set_eq:NN on line ...
 Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
+Defining \coffin_gset_eq:NN on line ...
+Defining \coffin_gset_eq:cN on line ...
+Defining \coffin_gset_eq:Nc on line ...
+Defining \coffin_gset_eq:cc on line ...
+Defining \__coffin_set_eq:NNNNNNN on line ...
+Defining \__coffin_set_eq:NNNNN on line ...
 Defining \c_empty_coffin on line ...
 \c_empty_coffin=\box...
 Defining \l__coffin_aligned_coffin on line ...
@@ -5649,8 +5655,6 @@ Defining \__coffin_get_pole:NnN on line ...
 Defining \__coffin_reset_structure:N on line ...
 Defining \__coffin_greset_structure:N on line ...
 Defining \__coffin_reset_structure:NNN on line ...
-Defining \__coffin_set_eq_structure:NN on line ...
-Defining \__coffin_gset_eq_structure:NN on line ...
 Defining \coffin_set_horizontal_pole:Nnn on line ...
 Defining \coffin_set_vertical_pole:Nnn on line ...
 Defining \__coffin_set_pole:Nnn on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index b118f2a..03f2c5a 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -5629,6 +5629,12 @@ Defining \coffin_set_eq:NN on line ...
 Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
+Defining \coffin_gset_eq:NN on line ...
+Defining \coffin_gset_eq:cN on line ...
+Defining \coffin_gset_eq:Nc on line ...
+Defining \coffin_gset_eq:cc on line ...
+Defining \__coffin_set_eq:NNNNNNN on line ...
+Defining \__coffin_set_eq:NNNNN on line ...
 Defining \c_empty_coffin on line ...
 \c_empty_coffin=\box...
 Defining \l__coffin_aligned_coffin on line ...
@@ -5649,8 +5655,6 @@ Defining \__coffin_get_pole:NnN on line ...
 Defining \__coffin_reset_structure:N on line ...
 Defining \__coffin_greset_structure:N on line ...
 Defining \__coffin_reset_structure:NNN on line ...
-Defining \__coffin_set_eq_structure:NN on line ...
-Defining \__coffin_gset_eq_structure:NN on line ...
 Defining \coffin_set_horizontal_pole:Nnn on line ...
 Defining \coffin_set_vertical_pole:Nnn on line ...
 Defining \__coffin_set_pole:Nnn on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index f1fcd17..f7e330b 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -5626,6 +5626,12 @@ Defining \coffin_set_eq:NN on line ...
 Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
+Defining \coffin_gset_eq:NN on line ...
+Defining \coffin_gset_eq:cN on line ...
+Defining \coffin_gset_eq:Nc on line ...
+Defining \coffin_gset_eq:cc on line ...
+Defining \__coffin_set_eq:NNNNNNN on line ...
+Defining \__coffin_set_eq:NNNNN on line ...
 Defining \c_empty_coffin on line ...
 \c_empty_coffin=\box...
 Defining \l__coffin_aligned_coffin on line ...
@@ -5646,8 +5652,6 @@ Defining \__coffin_get_pole:NnN on line ...
 Defining \__coffin_reset_structure:N on line ...
 Defining \__coffin_greset_structure:N on line ...
 Defining \__coffin_reset_structure:NNN on line ...
-Defining \__coffin_set_eq_structure:NN on line ...
-Defining \__coffin_gset_eq_structure:NN on line ...
 Defining \coffin_set_horizontal_pole:Nnn on line ...
 Defining \coffin_set_vertical_pole:Nnn on line ...
 Defining \__coffin_set_pole:Nnn on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index edab7f7..150490a 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -5344,6 +5344,12 @@ Defining \coffin_set_eq:NN on line ...
 Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
+Defining \coffin_gset_eq:NN on line ...
+Defining \coffin_gset_eq:cN on line ...
+Defining \coffin_gset_eq:Nc on line ...
+Defining \coffin_gset_eq:cc on line ...
+Defining \__coffin_set_eq:NNNNNNN on line ...
+Defining \__coffin_set_eq:NNNNN on line ...
 Defining \c_empty_coffin on line ...
 \c_empty_coffin=\box...
 Defining \l__coffin_aligned_coffin on line ...
@@ -5364,8 +5370,6 @@ Defining \__coffin_get_pole:NnN on line ...
 Defining \__coffin_reset_structure:N on line ...
 Defining \__coffin_greset_structure:N on line ...
 Defining \__coffin_reset_structure:NNN on line ...
-Defining \__coffin_set_eq_structure:NN on line ...
-Defining \__coffin_gset_eq_structure:NN on line ...
 Defining \coffin_set_horizontal_pole:Nnn on line ...
 Defining \coffin_set_vertical_pole:Nnn on line ...
 Defining \__coffin_set_pole:Nnn on line ...





More information about the latex3-commits mailing list